Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We have changed the structure of the 'system' table within Open-AudIT. THIS WILL AFFECT CUSTOM REPORTS AND GROUPS. I cannot stress this highly enough. If you have custom reports and/or groups you will need to export them from Open-AudIT (menu -> Admin -> Queries|Groups -> List, then click the Export button), then delete them (preferably menu -> Admin -> Queries|Groups -> List, then click the Delete button) preferably BEFORE upgrading Open-AudIT). If you have extremely simple items, the upgrade may correctly update them for you - but I wouldn't count on it. Once you have completed the upgrade you can edit your custom reports and/or groups to reflect the updated system table and import them back into Open-AudIT.

...

Are now stored when Discovery is run. They are stored and updated as per any other attribute within Open-AudIT. The database tabel table is called nmap.

Bootstrap Theme

We are steadily progressing towards retheming Open-AudIT to use Bootstrap. Going along with that is the ability to update and streamline both our code view|template code and our libraries. For example the old Tango theme prevented us from updating to a newer version of jQuery (javascript framework). All Bootstrap pages are being validated as w3c compliant. Work is not complete so you will see some pages in Bootstrap and some in Tango. We're planning to replace all Tango pages eventually. Please bear with us in this time of transition.in Tango. We're planning to replace all Tango pages eventually. Please bear with us in this time of transition.

Name, hostname, dns_hostname and sysName - oh my!

We now record the above values. Previously we only stored hostname and sysName. This can make for some confusing results. The definitions for each are below.

name - the name assigned to the device in Open-AudIT. Is initially populated from hostname, sysName or dns_hostname (in that order).

hostname - taken from the device itself when running an audit script or SSH / WMI query.

dns_hostname - taken from DNS (surprise!) by the Open-AudIT server.

sysName - taken from SNMP.

We have similar fields for domain and dns_domain.

Removal of man_* Fields

We now have a routine in code that runs every time an attribute has data posted to it. It assigns a weight to the process that is attempting to update the data. The weights are below. In this way we only (now) need to store on item for (for example) manufacturer. No more man_manufacturer and manufacturer. This makes for much less confusion and more easily created queries and groups.

Code Block
case 'user':
    $weight = 1000;
    break;


case 'audit':
case 'ssh':
case 'windows':
case 'wmi':
    $weight = 2000;
    break;


case 'snmp':
    $weight = 3000;
    break;


case 'ipmi':
    $weight = 4000;
    break;


case 'ad':
    $weight = 5000;
    break;


case 'nmap':
    $weight = 6000;
    break;


default:
    $weight = 10000;
    break;

 

What are the changes to the system table?

...

  • There is no system_id column. It has been renamed id. You can imagine the work here. The entire application revolves around system_id. This is the largest single change. Every other table that referenced system.system_id now references system.id.
  • The man_* fields have been removed. We now have a routine that runs whenever an attribute has data posted to it. It "weighs" the importance of the thing performing the data push and if it's not less than what it already has, does not update the data. More details on the below.
  • Fields stick to a format of:
    • Anything ending in id, size or count (or being id, size or count) is an integer.
    • Enum fields are 'y' or 'n' only instead or string true or false or some other variation.
  • Access Details has been removed. We now have credential sets and store device specific credentials in the credential table (more details belowas above).
  • Instead of only hostname and sysName columns, we now have name, hostname, dns_hostname and sysName (more details belowas above). Name has been initially populated (for upgrades) by the existing value for hostname.
  • timestamp has been replaced by last_seen.
  • fiirst_timestamp has been replaced by first_seen.
  • man_ip_address has been replaced by ip.

...

1.12.61.12.8
Code Block
`access_details` text NOT NULL,
 `comments` text NOT NULL,
 `contact_id` int(10) unsigned NOT NULL DEFAULT '0',
 `contact_name` varchar(50) NOT NULL DEFAULT '',
 `dbus_identifier` varchar(255) NOT NULL DEFAULT '',
 `description` text NOT NULL,
 `domain` varchar(100) NOT NULL DEFAULT '',
 `first_timestamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `form_factor` varchar(50) NOT NULL DEFAULT '',
 `fqdn` text NOT NULL,
 `hostname` varchar(100) NOT NULL DEFAULT '',
 `icon` varchar(50) NOT NULL DEFAULT '',
 `invoice_id` int(10) unsigned DEFAULT NULL,
 `last_seen_by` varchar(150) NOT NULL DEFAULT '',
 `last_seen` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `last_user` varchar(150) NOT NULL DEFAULT '',
 `linked_sys` int(10) NOT NULL DEFAULT '0',
 `man_asset_number` varchar(50) NOT NULL DEFAULT '',
 `man_class` enum('desktop','laptop','tablet','workstation',
'server','virtual server','virtual desktop','','hypervisor') NOT NULL DEFAULT '',
 `man_cluster_name` varchar(150) NOT NULL DEFAULT '',
 `man_criticality` enum('critical','normal','low') NOT NULL DEFAULT 'normal',
 `man_description` text NOT NULL,
 `man_domain` varchar(100) NOT NULL DEFAULT '',
 `man_environment` enum('production','dev','dr','eval',
'pre-prod','test','train','uat') NOT NULL DEFAULT 'production',
 `man_form_factor` varchar(50) NOT NULL DEFAULT '',
 `man_function` varchar(100) NOT NULL DEFAULT '',
 `man_ip_address` varchar(30) NOT NULL DEFAULT '',
 `man_lease_expiry_date` date NOT NULL DEFAULT '0000-00-00',
 `man_location_id` int(10) unsigned NOT NULL DEFAULT '0',
 `man_location_latitude` float(10,6) NOT NULL,
 `man_location_level` varchar(100) NOT NULL DEFAULT '',
 `man_location_longitude` float(10,6) NOT NULL,
 `man_location_rack_position` varchar(100) NOT NULL DEFAULT '',
 `man_location_rack_size` int(10) unsigned NOT NULL DEFAULT '0',
 `man_location_rack` varchar(100) NOT NULL DEFAULT '',
 `man_location_room` varchar(100) NOT NULL DEFAULT '',
 `man_location_suite` varchar(100) NOT NULL DEFAULT '',
 `man_manufacturer` varchar(50) NOT NULL DEFAULT '',
 `man_model` varchar(50) NOT NULL DEFAULT '',
 `man_oae_manage` enum('y','n') NOT NULL DEFAULT 'y',
 `man_org_id` int(10) unsigned NOT NULL DEFAULT '0',
 `man_os_family` varchar(50) NOT NULL DEFAULT '',
 `man_os_group` varchar(50) NOT NULL DEFAULT '',
 `man_os_name` varchar(100) NOT NULL DEFAULT '',
 `man_owner` varchar(100) NOT NULL DEFAULT '',
 `man_patch_panel_port` varchar(45) NOT NULL DEFAULT '',
 `man_patch_panel` varchar(45) NOT NULL DEFAULT '',
 `man_picture` varchar(100) NOT NULL DEFAULT '',
 `man_purchase_amount` varchar(50) NOT NULL DEFAULT '',
 `man_purchase_cost_center` varchar(50) NOT NULL DEFAULT '',
 `man_purchase_date` date NOT NULL DEFAULT '0000-00-00',
 `man_purchase_invoice` varchar(50) NOT NULL DEFAULT '',
 `man_purchase_order_number` varchar(50) NOT NULL DEFAULT '',
 `man_purchase_service_contract_number` varchar(255) NOT NULL DEFAULT '',
 `man_purchase_vendor` varchar(100) NOT NULL DEFAULT '',
 `man_serial_imei` varchar(100) NOT NULL DEFAULT '',
 `man_serial_sim` varchar(100) NOT NULL DEFAULT '',
 `man_serial` varchar(250) NOT NULL DEFAULT '',
 `man_service_network` varchar(100) NOT NULL DEFAULT '',
 `man_service_number` varchar(100) NOT NULL DEFAULT '',
 `man_service_plan` varchar(100) NOT NULL DEFAULT '',
 `man_service_provider` varchar(100) NOT NULL DEFAULT '',
 `man_service_type` varchar(100) NOT NULL DEFAULT '',
 `man_status` enum('production','deleted','lost','maintenance',
'retired','unallocated') NOT NULL DEFAULT 'production',
 `man_switch_id` varchar(100) NOT NULL DEFAULT '',
 `man_switch_port` varchar(100) NOT NULL DEFAULT '',
 `man_terminal_number` int(10) NOT NULL DEFAULT '0',
 `man_type` varchar(100) NOT NULL DEFAULT '',
 `man_unlock_pin` varchar(100) NOT NULL DEFAULT '',
 `man_vm_group` varchar(150) NOT NULL DEFAULT '',
 `man_vm_server_name` varchar(150) NOT NULL DEFAULT '',
 `man_vm_system_id` varchar(150) NOT NULL DEFAULT '',
 `man_wall_port` varchar(100) NOT NULL DEFAULT '',
 `man_warranty_duration` int(5) unsigned NOT NULL DEFAULT '0',
 `man_warranty_expires` date NOT NULL DEFAULT '0000-00-00',
 `man_warranty_type` enum('','24x7x365','9x5x5',
'Next Business Day') NOT NULL DEFAULT '',
 `manufacturer` varchar(50) NOT NULL DEFAULT '',
 `model` varchar(200) NOT NULL DEFAULT '',
 `nmap_type` varchar(50) NOT NULL DEFAULT '',
 `nmis_export` enum('true','false') NOT NULL DEFAULT 'false',
 `nmis_group` varchar(50) NOT NULL DEFAULT '',
 `nmis_name` varchar(50) NOT NULL DEFAULT '',
 `nmis_role` varchar(50) NOT NULL DEFAULT '',
 `os_family` varchar(50) NOT NULL DEFAULT '',
 `os_group` varchar(50) NOT NULL DEFAULT '',
 `os_name` varchar(100) NOT NULL DEFAULT '',
 `os_version` varchar(50) NOT NULL DEFAULT '',
 `pc_date_os_installation` date NOT NULL DEFAULT '0000-00-00',
 `pc_memory` int(10) NOT NULL DEFAULT '0',
 `pc_num_processor` int(10) NOT NULL DEFAULT '0',
 `pc_os_bit` varchar(3) NOT NULL DEFAULT '',
 `printer_color` varchar(5) NOT NULL DEFAULT '',
 `printer_duplex` varchar(5) NOT NULL DEFAULT '',
 `printer_port_name` varchar(50) NOT NULL DEFAULT '',
 `printer_shared_name` varchar(50) NOT NULL DEFAULT '',
 `printer_shared` varchar(50) NOT NULL DEFAULT '',
 `serial` varchar(250) NOT NULL DEFAULT '',
 `snmp_oid` text NOT NULL,
 `sysContact` varchar(255) NOT NULL DEFAULT '',
 `sysDescr` text NOT NULL,
 `sysLocation` varchar(255) NOT NULL DEFAULT '',
 `sysName` varchar(255) NOT NULL DEFAULT '',
 `sysObjectID` varchar(255) NOT NULL DEFAULT '',
 `system_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `system_key_type` varchar(4) NOT NULL DEFAULT '',
 `system_key` varchar(200) NOT NULL DEFAULT '',
 `sysUpTime` varchar(255) NOT NULL DEFAULT '',
 `timestamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `type` varchar(50) NOT NULL DEFAULT '',
 `uptime` varchar(50) NOT NULL DEFAULT '',
 `uuid` varchar(100) NOT NULL DEFAULT '',

 

 

Code Block
`asset_number` varchar(50) NOT NULL DEFAULT '',
 `attached_system_id` int(10) DEFAULT NULL,
 `class` enum('desktop','laptop','tablet','workstation','server','virtual server','virtual desktop','hypervisor','') NOT NULL DEFAULT '',
 `cluster_name` varchar(150) NOT NULL DEFAULT '',
 `cluster_type` varchar(150) NOT NULL DEFAULT '',
 `comments` text NOT NULL,
 `contact_name` varchar(50) NOT NULL DEFAULT '',
 `dbus_identifier` varchar(255) NOT NULL DEFAULT '',
 `description` text NOT NULL,
 `dns_domain` varchar(100) NOT NULL DEFAULT '',
 `dns_hostname` varchar(100) NOT NULL DEFAULT '',
 `domain` varchar(100) NOT NULL DEFAULT '',
 `environment` enum('production','dev','dr','eval',
'pre-prod','test','train','uat') NOT NULL DEFAULT 'production',
 `first_seen` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `form_factor` varchar(50) NOT NULL DEFAULT '',
 `fqdn` text NOT NULL,
 `function` varchar(100) NOT NULL DEFAULT '',
 `hostname` varchar(100) NOT NULL DEFAULT '',
 `icon` varchar(50) NOT NULL DEFAULT '',
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `invoice_id` int(10) unsigned DEFAULT NULL,
 `ip` varchar(45) NOT NULL DEFAULT '',
 `last_seen_by` varchar(150) NOT NULL DEFAULT '',
 `last_seen` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `last_user` varchar(150) NOT NULL DEFAULT '',
 `lease_expiry_date` date NOT NULL DEFAULT '0000-00-00',
 `location_id` int(10) unsigned NOT NULL DEFAULT '0',
 `location_latitude` float(10,6) NOT NULL,
 `location_level` varchar(100) NOT NULL DEFAULT '',
 `location_longitude` float(10,6) NOT NULL,
 `location_rack_position` varchar(100) NOT NULL DEFAULT '',
 `location_rack_size` int(10) unsigned NOT NULL DEFAULT '0',
 `location_rack` varchar(100) NOT NULL DEFAULT '',
 `location_room` varchar(100) NOT NULL DEFAULT '',
 `location_suite` varchar(100) NOT NULL DEFAULT '',
 `manufacturer` varchar(100) NOT NULL DEFAULT '',
 `memory_count` int(10) unsigned NOT NULL DEFAULT '0',
 `model` varchar(200) NOT NULL DEFAULT '',
 `name` varchar(100) NOT NULL DEFAULT '',
 `nmis_export` enum('y','n') NOT NULL DEFAULT 'n',
 `nmis_group` varchar(50) NOT NULL DEFAULT '',
 `nmis_name` varchar(50) NOT NULL DEFAULT '',
 `nmis_role` varchar(50) NOT NULL DEFAULT '',
 `oae_manage` enum('y','n') NOT NULL DEFAULT 'y',
 `org_id` int(10) unsigned NOT NULL DEFAULT '0',
 `os_bit` tinyint(3) unsigned NOT NULL DEFAULT '0',
 `os_family` varchar(50) NOT NULL DEFAULT '',
 `os_group` varchar(50) NOT NULL DEFAULT '',
 `os_installation_date` date NOT NULL DEFAULT '0000-00-00',
 `os_name` varchar(100) NOT NULL DEFAULT '',
 `os_version` varchar(50) NOT NULL DEFAULT '',
 `owner` varchar(100) NOT NULL DEFAULT '',
 `patch_panel_port` int(10) unsigned NOT NULL DEFAULT '0',
 `patch_panel` varchar(45) NOT NULL DEFAULT '',
 `printer_color` enum('y','n','') NOT NULL DEFAULT '',
 `printer_duplex` enum('y','n','') NOT NULL DEFAULT '',
 `printer_port_name` varchar(50) NOT NULL DEFAULT '',
 `printer_shared_name` varchar(50) NOT NULL DEFAULT '',
 `printer_shared` varchar(50) NOT NULL DEFAULT '',
 `processor_count` tinyint(3) unsigned NOT NULL DEFAULT '0',
 `purchase_amount` varchar(50) NOT NULL DEFAULT '',
 `purchase_cost_center` varchar(50) NOT NULL DEFAULT '',
 `purchase_date` date NOT NULL DEFAULT '0000-00-00',
 `purchase_invoice` varchar(50) NOT NULL DEFAULT '',
 `purchase_order_number` varchar(50) NOT NULL DEFAULT '',
 `purchase_service_contract_number` varchar(255) NOT NULL DEFAULT '',
 `purchase_vendor` varchar(100) NOT NULL DEFAULT '',
 `serial_imei` varchar(100) NOT NULL DEFAULT '',
 `serial_sim` varchar(100) NOT NULL DEFAULT '',
 `serial` varchar(200) NOT NULL DEFAULT '',
 `service_network` varchar(100) NOT NULL DEFAULT '',
 `service_number` varchar(100) NOT NULL DEFAULT '',
 `service_plan` varchar(100) NOT NULL DEFAULT '',
 `service_provider` varchar(100) NOT NULL DEFAULT '',
 `service_type` varchar(100) NOT NULL DEFAULT '',
 `snmp_oid` text NOT NULL,
 `status` enum('production','deleted','lost','maintenance',
'retired','unallocated') NOT NULL DEFAULT 'production',
 `switch_port` int(10) unsigned NOT NULL DEFAULT '0',
 `switch_system_id` int(10) DEFAULT NULL,
 `sysContact` varchar(255) NOT NULL DEFAULT '',
 `sysDescr` text NOT NULL,
 `sysLocation` varchar(255) NOT NULL DEFAULT '',
 `sysName` varchar(255) NOT NULL DEFAULT '',
 `sysObjectID` varchar(255) NOT NULL DEFAULT '',
 `sysUpTime` varchar(255) NOT NULL DEFAULT '',
 `type` varchar(50) NOT NULL DEFAULT '',
 `unlock_pin` varchar(100) NOT NULL DEFAULT '',
 `uptime` varchar(50) NOT NULL DEFAULT '',
 `uuid` varchar(100) NOT NULL DEFAULT '',
 `vm_group` varchar(150) NOT NULL DEFAULT '',
 `vm_server_name` varchar(150) NOT NULL DEFAULT '',
 `vm_system_id` int(10) unsigned DEFAULT NULL,
 `wall_port` varchar(100) NOT NULL DEFAULT '',
 `warranty_duration` int(5) unsigned NOT NULL DEFAULT '0',
 `warranty_expires` date NOT NULL DEFAULT '0000-00-00',
 `warranty_type` enum('','24x7x365','9x5x5',
'Next Business Day') NOT NULL DEFAULT '',

...