Discovery classifiers
Summarize
Summary of Discovery classifiers
Discovery classifiers determine which probes Discovery triggers during the identification and exploration phases to classify Configuration Items (CIs). They are essential in starting the identification stage and guide Discovery based on parameters returned by classification probes. While most customers do not need to create or modify classifiers, adjustments may be necessary for troubleshooting horizontal discovery issues or to discover new CI types not currently identified by Discovery.
Show less
Classification Types
- Device Classification: Identifies device types such as Windows/Linux computers, routers, and switches. It triggers active processes probes for further exploration. Since the Madrid release, HTTP can be used as a classification protocol if higher priority protocols (WMI, SSH, SNMP) fail or ports are closed.
- Process Classification: Classifies applications based on running processes during the exploration phase. It creates child CIs with Runs on::Runs relationships and uses process handler scripts to avoid duplicates and refine identification, also supporting application dependency mapping.
- IP Address (IP Scan) Classification: Credential-less classification based on open ports and banners. Successful classification updates the CMDB and triggers exploration probes for detailed data collection.
Classifier Criteria
Classifiers use criteria based on parameters returned by classification probes, constructed with parameters, operators, and values to specify when a classifier runs. Note that process classification condition filters are case-sensitive.
Classifiers and Patterns
Discovery can trigger identification and exploration using patterns instead of probes, via the Horizontal Discovery probe specified on a classifier. Customers can create and add custom patterns or use out-of-the-box patterns included with Discovery.
Debugging and Configuration
To enable debugging for classification processes, add the system property glide.discovery.debug.classification set to true. This logs detailed classifier execution and criteria data to assist troubleshooting.
Practical Applications for Customers
- Create or modify classifiers to discover new or custom CI types or to trigger additional probes.
- Adjust Windows machine classification by using WinRM instead of WMI for more efficient data transfer.
- Customize Windows classifiers to classify Windows servers by function rather than OS type.
- Review available parameters for each classifier type before modification to ensure accurate classification and avoid disruptions.
A classifier tells Discovery which probes to trigger for the identification and exploration phases of discovery. Classifiers can also trigger the Horizontal Pattern probe, which launches a pattern, rather than additional probes, for identification and exploration.
In most cases, you do not need to create a classifier or modify a classifier. But if you are having trouble with horizontal discovery, you might want to check the conditions that determine when a classifier runs based on the parameters the classification probe returns to the instance. Or if you want to discover a new type of CI that Discovery does not already find, you can create your own classifier.
Device, process, and IP address classification
- Device classification
- The classification of actual device types, such as a computer running Windows, a computer
running a flavor or UNIX or LINUX, a router, a switch, or a load balancer, and so on.
When Discovery identifies a computer CI, it triggers an active processes probe to explore the computer CI further. Discovery compares the results of the active processes probe to the process classification conditions to determine if there is a match.
Figure 1. Computer CI classification workflow Starting with the Madrid release, the horizontal discovery process can classify devices using HTTP.
Of all protocols that Discovery uses (including WMI, SSH, and SNMP), HTTP is the lowest priority by default. Discovery uses HTTP classification only if:- Shazzam determines that the ports for HTTP (80) and HTTPS (443) traffic are open.
- The horizontal discovery process fails for the higher priority port probes (WMI, SSH,
and SNMP) if the ports for those protocols are not open, or if discovery for those
protocols fail. The horizontal discovery process can fail, for example, if SSH and SNMP
credentials are not configured or are incorrect.Note:See Port Probes for more details on how port scanning works and to see the priorities of the different protocols.
PROTOCOL://IP:PORT/PATH, where:For more information on port probes, see Port probes. For instructions on creating an HTTP classifier, see Create an HTTP classification.
- Process classification
- The classification of applications based on the processes that are running.
Discovery classifies processes during the last phase of discovery: the exploration phase, after identifying devices in the Computer [cmdb_ci_computer] table and its extensions. Just like device classification, process classification has its own classification criteria and also has the ability to launch probes. Unlike device classification, process classification creates child configuration items (CI) with Runs on::Runs relationships. By default, Discovery includes classifications for most common processes.
If a process matches the classification criteria, Discovery determines whether to run the process handler script. The process handler script modifies the parameter data to help Discovery identify whether the process represents an existing or new application CI. Discovery process handlers prevent the creation of duplicate CIs by filtering out parameters known to have inconsistent values before process classification occurs. Every time Discovery adds or updates an application CI, it also determines the application dependency mapping of the application CI to other CIs in the CMDB.
Figure 2. Process classification workflow - IP address (IP scan) classification
IP address discovery is credential-less, meaning that it attempts to identify devices and software based on just the open ports and banners it finds without requiring you to create credentials. If the classification criteria are met for a device in the IP Scan mode, Discovery automatically updates the CI in the CMDB. After a device is properly classified, Discovery launches the exploration probes configured for that class of device and begins gathering detailed information about the CI.
In the default Discovery system, the Linux classifier triggers eleven exploration probes that return information such as disk size, memory, and the number of current connections. The data from these probes returns at different times and is stored in the ECC Queue until processing is complete.
This diagram shows the processing flow for classifying and probing devices with an IP scan (no identifiers):Figure 3. IP scan classification
See Classification for IP address discovery for more details about the parameters available to classifiers for this type of discovery.
Classifier criteria
Classifiers also provide criteria that you can use to specify when Discovery should use the classifier under the conditions that you define. The criteria is based on the parameters that a classify probe returns to Discovery. Criteria is constructed with the parameter, an operator, and a value.
Classifiers and patterns
Discovery can use patterns, rather than probes, to identify and explore CIs. Discovery triggers patterns from the Horizontal Discovery probe, which can be specified on a classifier. You can create you own patterns and add them, via the Horizontal Discovery probe, to a classifier. See Add the Horizontal Pattern probe to a classifier for instructions. You might already be using one of the out-of-box patterns that are provided with Discovery. You can verify this by looking at the classifier to see if the Horizontal Pattern Probe is specified.
Logging classification debugging information
| System property | Description |
|---|---|
glide.discovery.debug.classification |
Enables debugging information for process classification.
|
What you can do with Discovery classification
- Create or modify a discovery classifier if you want to classify CIs that Discovery does not
already classify, or trigger other probes that are not already on a classifier. You can modify
classifiers that Discovery uses in standard CI discovery, process
classifiers for applications, and classifiers based on IP
address scans.
Before you modify any classifiers, review the parameters that are available for each type of classifier.
- If Windows machines are on your network, you can use the WinRM protocol, rather than WMI, for more efficient lightweight data transfer and remote command execution. By default, Discovery uses WMI. For instructions on the classifier modifications you can make to use WinRM, see Use Windows Remote Management for classification.
- If you have Windows computers that are acting as servers and you want them to be classified by their function rather than by the operating system, you can make changes to the criteria of the Windows classifier. See Reclassify a Windows Workstation machine as a server for instructions.