Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.
Versions
  • London
  • Kingston
  • Jakarta
  • Istanbul
  • Helsinki
  • Geneva
  • Store
Close

Legacy Discovery identifiers

Legacy Discovery identifiers

The following legacy identifiers are included with Discovery.

Identifier Description Details
Serial Number Table & Class Name Identify CIs in the CMDB based on serial number(s) in the serial number table and sys_class_name. This identifier matches the discovered serial number against the serial_number in the Serial Number [cmdb_serial_number] table. If the discovered serial number matches a CI in the cmdb_serial_number table and the class name, the CI is declared identified. Note that in the base system, Discovery populates the cmdb_serial_number table. Therefore, this identifier is important for Discovery to use to find the CIs it has discovered in the past (assuming these were valid serial numbers).

For more information, see Serial number types for identification.

Serial Number & Class Name Identify CIs in the CMDB based on the serial_number field and matching sys_class_name. This identifier matches the discovered serial numbers against the serial number field in the base CI record. If a discovered serial number and class type (sys_class_name) matches a CI, that CI is declared identified. The matching class name requirement means that Discovery will not identify CIs that are not in the same class. For example, a computer and a printer have the same serial number, but since their class names differ, Discovery does not identify them as the same CI. Typically, imported data has the serial number field completed, but no matching value in the cmdb_serial_numbertable. This identifier solves the issue of Discovery finding imported data in the CMDB.
Name & Class Name Identify CIs in the CMDB based on name field and matching sys_class_name. This identifier matches the discovered name against the name field in the base CI record. If a discovered name and class type (sys_class_name) matches a CI, then that CI is declared identified. The matching class name requirement means that Discovery will not identify CIs that are not in the same class. For example, a computer and a printer have the same name, but since their class name differs, Discovery will not identify them as the same CI.
Network Identify CIs in the CMDB based on IPs and MAC Address(es) in the network adapter table. This identifier matches the discovered network adapters against those in the Network Adapter [cmdb_ci_network_adapter] table, using the IP address and MAC address. If all the discovered network adapters match a CI in the network adapter table, then the CI is declared identified.
Network & Class Name Identify CIs in the CMDB based on the mac_address field and the ip_address field and matching sys_class_name. This identifier matches the discovered IP address and MAC address of the base CI against those in the base CI record. If a discovered IP address, MAC address and class type (sys_class_name) matches a CI, then that CI is declared identified. The matching class name requirement means that Discovery will not identify CIs that are not in the same class.
MAC Address & Class Name Identify CIs in the CMDB based on the mac_address field and matchingsys_class_name. This identifier matches the discovered MAC address of the base CI against those in the base CI record. If a discovered MAC address and class type (sys_class_name) matches a CI, then that CI is declared identified. The matching class name requirement means that Discovery will not identify CIs that are not in the same class.
IP Address & Class Name Identify CIs in the CMDB based on the ip_address field and the matching sys_class_name. This identifier matches the discovered IP address of the base CI against those in the base CI record. If a discovered IP address and class type (sys_class_name) matches a CI, then that CI is declared identified. The matching class name requirement means that Discovery will not identify CIs that are not in the same class.
MACAddress Identify CIs in the CMDB based on MAC Address(es) in the network adapter table. This identifier matches the discovered MAC address of the base CI against those in the base CI record. If a discovered MAC address and class type (sys_class_name) matches a CI, then that CI is declared identified. The matching class name requirement means that Discovery will not identify CIs that are not in the same class.
Generic Serial Number Identify CIs in the CMDB based on serial_numberfield. This identifier matches the discovered serial number against the serial number field in the base CI record. If a discovered serial number matches a CI, then that CI is declared identified. Note here that the matching class name is NOT a requirement, which means that Discovery will identify CIs even if they are not in the same class. For example, a computer and a printer have the same serial number, but even though their class name differs, Discovery will still identify them as the same CI.
Generic Network Identify CIs in the CMDB based on the mac_address field and the ip_address field. This identifier matches the discovered IP address and MAC address of the base CI against those in the base CI record. If a discovered IP address and MAC address matches a CI, then that CI is declared identified. The matching class name is NOT a requirement, which means that Discovery will identify CIs that are not in the same class.
Generic Name Identify CIs in the CMDB based on name field. This identifier matches the discovered name against the name field in the base CI record. If a discovered name matches a CI, then that CI is declared identified. The matching class name is NOT a requirement, which means that Discovery will identify CIs that are not in the same class.
Generic MAC Address Identify CIs in the CMDB based on MAC addressfield. This identifier matches the discovered MAC address of the base CI against those in the base CI record. If a discovered MAC address matches a CI, then that CI is declared identified. The matching class name is NOT a requirement, which means that Discovery will identify CIs that are not in the same class.
Generic IP Address Identify CIs in the CMDB based on IP address field. This identifier matches the discovered IP address of the base CI against those in the base CI record. If a discovered IP address matches a CI, then that CI is declared identified. The matching class name is NOT a requirement, which means that Discovery will identify CIs that are not in the same class.

Convert legacy custom Discovery identifiers

Custom identifiers created in a prior release must be converted to CMDB identifier rules after an upgrade to Geneva to use the new unified framework.

Before you begin

Role required: admin
When you upgrade to Geneva, your scheduled discoveries can continue to use the identifiers they were configured to use, including any custom identifiers you have created. You can use the CMDB identifiers provided with the Geneva release for new Discoveries or continue to use the legacy identifiers. If you elect to use the CMDB identifiers and want to use a custom identifier you created in an earlier version, you can convert that legacy identifier to a new identifier rule manually.
Note: To restrict Discovery to use only the CMDB identifiers, you can add a property to the sys_properties table and set it to hide legacy identifiers.

This example uses the serial_number and serial_number_type attributes from the hardware identifier.

Procedure

  1. Navigate to Discovery Definition > CI Identification > Identifiers.
  2. Open the record for the custom legacy identifier and note the table in the Applies to field.
    For example, the identifier might be on the Hardware [cmdb_ci_hardware] table.
  3. Determine if the script in the legacy identifier is configured to query another table for matches.
    In this example, the Serial Number Table & Class Name identifier is configured to query the Serial Number [cmdb_ci_serial_number] table for a matching serial number. In CMDB identifier rules, this is known as the Search on table.
    Figure 1. Table queried for matching attributes
    Table queried for matching attributes
  4. Locate the attributes the script uses as unique identifiers.
    In this example, the serial_number and serial_number_type fields are the unique identifiers on the Serial Number [cmdb_ci_serial_number] table.
    Figure 2. Unique identifiers
    Unique identifiers
  5. Identify any filtering conditions the script applies to the attributes.
    In this example, serial numbers must be valid and the field cannot be blank.
    Figure 3. Attribute conditions
    Attribute conditions
  6. Navigate to Configuration > Identification/Reconciliation > CI Identifiers and click New.
  7. Enter a descriptive name for the identifier, using the class name.
    For example, you might use Linux Server.
  8. Select the same table in the Applies to field that your custom legacy identifier specified.
  9. Submit the form.
  10. Open the new identifier record and click New in the Identifier Entries related list.
  11. Complete the form for the attributes from this query table.
    Remember to give your new rule a unique priority number to establish its parsing order.
    Table 1. Identifier entry fields
    Field Description
    Criterion attributes Attributes to use as unique identifiers. These are the values you located in step 4. Click the lock icon to add one or more attributes to the list.
    Optional condition Filter conditions for the attribute from the legacy identifier. These are the values you located in step 5.
    Search on table Table to query for the attribute value. This is the table you identified in step 3.
    Figure 4. Identifier entry form
    Identifier entry form
  12. Click Submit.
  13. Create additional identifier entries for any other attributes from your custom legacy identifier.

Create a Discovery legacy identifier

If your system is configured to use legacy identifiers, you can create new identifiers to examine the attributes from specific tables that extend tables in the default Discovery rules.

About this task

All new instances use identifiers from the CMDB Identification and Reconciliation framework. Upgrades from pre-Geneva versions still preserve the legacy identifiers, but you can switch to the new identifiers using a property: glide.discovery.use_cmdb_identifiers. If you upgraded from a pre-Geneva version, you must manually add this property and set it to true to use the new identifiers. If you upgraded from Geneva or later releases, this property is available in the System Properties [sys_properties] table. To preserve functionality in custom legacy identifiers, convert them to the new CMDB identifier rules format before enabling this property. The system does not reconfigure your custom identifiers to the new framework automatically.
Note: When Service Mapping is active, the new identifiers from the CMDB Identification and Reconciliation framework are always used regardless of the property value.

The default identifiers provided with Discovery should be adequate for most discoveries. However, if you need to discover data from a child table, such as Linux Server [cmdb_ci_linux_server], you can create a custom legacy identifier and select the exact criteria you want to add to the CMDB.

Procedure

  1. Navigate to Discovery Definition > CI Identification > Identifiers.
  2. Click New.
  3. Fill out the unique fields provided by the identifier form.
    Table 2. Identifier form fields
    Field Input Fields
    Applies to Select the ServiceNow table of the device class for this identifier. For example, if the class is Printer, then the table is cmdb_ci_printer.
    Order Configure the order in which the identification criteria are evaluated. An example might be serial number - 910, network name - 920, and computer name - 930.
    Script Create the conditions that determine what Discovery should do when the results are returned from a search of the CMDB for this identifier. For example, you might want to stop Discovery if two or more CIs in the CMDB match this identifier. Or you might want to evaluate additional identifiers even after a match has been established with this identifier. Use the scripting methods described below to tell Discovery how to respond.

    The completed Discovery identifier form looks like this:

    Figure 5. Discovery identifier form