How do we process and store data?
...
So, that's how we determine what's on or has been on a system.
How do we create a system key?
The order of creating a key to define a device as unique is below. When importing you MUST have one of the following (in order of preference): fqdn (which is the hostname and domain columns seperately - PHP will combine them), the IP Address or the Serial Number. If a computer is audited with an audit script, it will use a concatenation of the UUID and the hostname. If a computer is audited via Active Directory, it will use the FQDN in preference but if that is not available it will use the IP Address. Where possible, the first option will be chosen and where possible on subsequent audits, will be changed to the first option.
computer | network printer | local printer | network device | non-network device | |
audit script | uuid + hostname | fqdn, ip address | hostname + deviceID | - | - |
active directory | fqdn, ip address | fqdn, ip address | - | - | - |
nmap | fqdn, ip address | fqdn, ip address | - | fqdn, ip address | - |
snmp | fqdn, ip address, type + serial | fqdn, ip address, type + serial | - | fqdn, ip address, type + serial | - |
spreadsheet | fqdn, ip address, type + serial | fqdn, ip address, type + serial | - | fqdn, ip address, type + serial | type + serial |
html form | fqdn, ip address, type + serial | fqdn, ip address, type + serial | - | fqdn, ip address, type + serial | type + serial |
How do we match a system key?
The order of preference to match one system against another is as follows: Obviously if we have the system_id, we simply match on that first. If we don't have the system_id, in the model m_system.php is a function called find_system. This will attempt to:
- Create a system key using UUID & hostname if possible and match
- Create a system key using the fqdn if it exists and match
- Create a system key using the hostname concatenated with the domain (to make a fqdn) and match
- Create a system key using the ip address and match
- Create a system key using serial number and match
- Check if the MAC Address exists in the sys_hw_network_card_ip table and match
- Check if the IP Address exists in the sys_hw_network_card_ip table and match
- Check if the serial exists in the system table and match
- Check if the serial exists in the man_serial field in the system table and match
- Check if the hostname is in the system table and match
What do we use for a name?
Where possible, the first option will be chosen and where possible on subsequent audits, will be changed to the first option.
...