{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":29822,"path":"it-operations-management/discovery/tracked-config-files.md","title":"Configuration file tracking","bundle":null,"doc_type":null,"release":"australia","body":"\n# Configuration file tracking\n\nThe horizontal discovery process can find configuration files that belong to certain applications and add those configuration files to the CMDB. You can track the changes to these files by comparing them to previous versions.\n\n**Warning:** Configuration files contain sensitive system information. To prevent unauthorized access, ensure that access control lists \\(ACL\\) are placed on the Tracked Configuration file table \\[cmdb\\_ci\\_config\\_file\\_tracked\\]. Only allow authorized users to view this table or uncheck the **Save Content** setting.\n\n## Components for configuration file tracking\n\n-   **CI type**\n\n    All applications and hosts in your organization must have a corresponding configuration item \\(CI\\) type, which is necessary for discovering and processing applications and hosts correctly. In a base system, many CI types have configuration file paths defined for them. You can add new or modify existing definitions for tracking configuration files. See [Modify tracking changes in configuration files]() for instructions.\n\n-   **Patterns**\n\n    Configuration file tracking is available for patterns that discover applications. On the pattern, you can create tracked file definitions that specify the CI type to which the application CI belongs and the path of the configuration file. Specify as many tracked file definitions as needed. You can also specify whether you want to save the contents of configuration files so you can view and compare the contents of different versions.\n\n    **Note:**\n\n    Configuration file tracking is not available for discoveries performed by traditional probes and sensors.\n\n    The classifier that triggers the pattern must specify the Horizontal Pattern probe, which in turn, must specify the pattern. If you upgrade your instance to the current version, not all classifiers are configured to use patterns for discovery by default.\n\n-   **CMDB**\n\n    All configuration files are saved as a CI in the Tracked Configuration file \\[cmdb\\_ci\\_config\\_file\\_tracked\\] table. If you enable the content to be saved, these CI records provide the contents of the configuration files, including previous versions. From the configuration file CI record, you can compare different versions.\n\n\n## Dependency maps and application service maps\n\nBoth dependency maps and service instance maps display tracked configuration files. The relationship between a configuration file and its host is a contains relationship. The application contains the configuration file.\n\nFor example, this IIS web server contains three tracked configuration files:\n\n\\[Omitted image \"tracked-config-file.png\"\\] Alt text: CI containing racked configuration files\n\nSometimes you organize CI types as a main CI type and its related CI types. On a service instance map, Service Mapping shows changes to configuration files of related CIs for the main CIs in inclusions. In inclusions, the system treats applications hosted on a server as independent objects. For example, the Tomcat WAR CI appears separate from its host, the Tomcat CIs. In this case, Service Mapping shows changes to configuration files of Tomcat WAR when you select Tomcat. In addition, Service Mapping displays changes to configuration files of the hardware server hosting inclusions. In this example, it is a Linux server:\n\n\\[Omitted image \"MapInclusionTomcat.png\"\\] Alt text: Map showing an inclusion with a host\n\n## Deletion strategy\n\nYou can specify what you want to do with tracked configuration file CI records when discovery can no longer find them. You can keep the configuration file CI record, automatically delete it, delete only the CI relationships to it, or mark it absent.\n\n## Discovery patterns that support configuration file tracking by default\n\nThese patterns provide tracked file definitions by default:\n\n<table id=\"table_zgv_4qq_tz\"><thead><tr><th>\n\nClassifier\n\n</th><th>\n\nPattern\n\n</th><th>\n\nCI Type\n\n</th><th>\n\nFile path of tracked file\n\n</th></tr></thead><tbody><tr><td>\n\n[Apache Server](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/itom-visibility/r_DataCollDiscoApacheWebServers.md)\n\n</td><td>\n\nApache On Unix Pattern Apache On Windows Pattern\n\n</td><td>\n\nApache Web Server \\[cmdb\\_ci\\_apache\\_web\\_server\\]\n\n</td><td>\n\n`$config_file`\n\n</td></tr><tr><td>\n\n[MySQL Server](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/itom-visibility/c_MySQLDiscovery.md)\n\n</td><td>\n\nMySQL server On Windows and Linux Pattern\n\n</td><td>\n\nMySQL Instance \\[cmdb\\_ci\\_db\\_mysql\\_instance\\]\n\n</td><td>\n\n`$config_file`\n\n</td></tr><tr><td rowspan=\"2\">\n\n[Microsoft IIS Server](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/itom-visibility/r_DataCollDiscoMicrosoftIISServers.md)\n\n</td><td rowspan=\"2\">\n\nIIS\n\n</td><td>\n\nMicrosoft iis Web Server \\[cmdb\\_ci\\_microsoft\\_iis\\_web\\_server\\]\n\n</td><td>\n\n`EVAL(javascript: var rtrn = '';var winDir = CTX.getCommandManager().shellCommand(\"echo %WinDir%\", false, null, null, CTX);rtrn = winDir.trim() + '\\\\System32\\\\Inetsrv\\\\Config\\\\*.config';)`\n\n</td></tr><tr><td>\n\nIIS Virtual Directory \\[cmdb\\_ci\\_iisdirectory\\]\n\n</td><td>\n\n`$install_directory + \"\\*.config\"`\n\n</td></tr><tr><td rowspan=\"2\">\n\n[TIBCO BusinessWorks and EMS](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/service-mapping/mapping-services-tibco.md)\n\n</td><td>\n\nActiveMatrix BusinessWorks\n\n</td><td>\n\nActiveMatrix Business Works \\[cmdb\\_ci\\_appl\\_tibco\\_matrix\\]\n\n</td><td>\n\n`$config_file`\n\n</td></tr><tr><td>\n\nEnterprise Message Service\n\n</td><td>\n\nTibco Enterprise Message Service \\[cmdb\\_ci\\_appl\\_tibco\\_message\\]\n\n</td><td>\n\n`$config_file`\n\n</td></tr><tr><td rowspan=\"4\">\n\n[Oracle](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/itom-visibility/c_OracleDatabaseDiscovery.md)\n\n</td><td rowspan=\"2\">\n\nOracle DB on Windows Pattern\n\n</td><td>\n\nOracle Instance \\[cmdb\\_ci\\_db\\_ora\\_instance\\]\n\n</td><td>\n\n`$install_directory + \"\\network\\admin\\*.ora\"`\n\n</td></tr><tr><td>\n\nOracle Instance \\[cmdb\\_ci\\_db\\_ora\\_instance\\]\n\n</td><td>\n\n`$install_directory + \"\\dbs\\*.ora\"`\n\n</td></tr><tr><td rowspan=\"2\">\n\nOracle DB on Unix Pattern\n\n</td><td>\n\nOracle Instance \\[cmdb\\_ci\\_db\\_ora\\_instance\\]\n\n</td><td>\n\n`$install_directory + \"/dbs/*.ora\"`\n\n</td></tr><tr><td>\n\nOracle Instance \\[cmdb\\_ci\\_db\\_ora\\_instance\\]\n\n</td><td>\n\n`$install_directory + \"/network/admin/*.ora\"`\n\n</td></tr><tr><td rowspan=\"2\">\n\n[Tomcat](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/itom-visibility/r_DataCollDiscoTomcatServers.md)\n\n</td><td rowspan=\"2\">\n\nTomcat\n\n</td><td>\n\nTomcat \\[cmdb\\_ci\\_app\\_server\\_tomcat\\]\n\n</td><td>\n\n`$install_directory + \"/conf/server.xml\"`\n\n</td></tr><tr><td>\n\nTomcat WAR \\[cmdb\\_ci\\_app\\_server\\_tomcat\\_war\\]\n\n</td><td>\n\n`$install_directory + \"/WEB-INF/web.xml\"`\n\n</td></tr><tr><td rowspan=\"2\">\n\n[WMB](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/itom-visibility/r_IBMWMB.md)\n\n</td><td>\n\nWMB On Unix Pattern\n\n</td><td>\n\nIBM WebSphere Message Broker \\[cmdb\\_ci\\_appl\\_ibm\\_wmb\\]\n\n</td><td>\n\n`$install_directory + \"/*/etc/config/*/*.prop\"`\n\n</td></tr><tr><td>\n\nWMB On Windows Pattern\n\n</td><td>\n\nIBM WebSphere Message Broker \\[cmdb\\_ci\\_appl\\_ibm\\_wmb\\]\n\n</td><td>\n\n`$install_directory + \"\\*\\etc\\config\\*\\*.prop\"`\n\n</td></tr><tr><td rowspan=\"2\">\n\n[WMQ](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/itom-visibility/r-IBMWebsphereMQ.md)\n\n</td><td>\n\nWMQ On Windows Pattern\n\n</td><td>\n\nIBM MQ Manager \\(formerly IBM WebSphere MQ\\) \\[cmdb\\_ci\\_appl\\_ibm\\_wmq\\]\n\n</td><td>\n\n`$install_directory + \"\\*\\config\\*\"`\n\n</td></tr><tr><td>\n\nWMQ On Windows Pattern\n\n</td><td>\n\nIBM MQ Manager \\[cmdb\\_ci\\_appl\\_ibm\\_wmq\\]\n\n</td><td>\n\n`$install_directory + \"/bin/*.sh\"`\n\n</td></tr></tbody>\n</table>## What to do\n\n1.  Enable configuration file tracking by setting the `glide.discovery.enable_file_tracking` Discovery property to true.\n\n    You can also configure other properties to control the size and number of tracked configuration files, the time window during which changes to configuration files are tracked for a given version, and the number of changes allowed on a configuration file during that time window. See [Discovery properties](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/discovery/r_DiscoveryProperties.md) for details.\n\n2.  To prevent unauthorized access to the sensitive information from configuration files, perform the following steps:\n    1.  Ensure that access control rules \\(ACL\\) are placed on the Tracked Configuration file table \\[cmdb\\_ci\\_config\\_file\\_tracked\\]. Only allow authorized users to view this table or uncheck the **Save Content** setting.\n    2.  Ensuring that the tracked\\_file\\_reader role that controls access to configuration file data is assigned to correct users and user groups. By default, the itil role contains the tracked\\_file\\_reader role giving all users with the itil role access to the configuration file information.\n3.  Verify that the Horizontal Discovery probe is active on the classifier for the software that you want to discovery. If not, you can enable it, specify the pattern, and then disable the other probes. See [Add the Horizontal Pattern probe to a classifier](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/discovery/c-UsingPatternsForHorizontalDiscovery.md) for instructions.\n4.  [Add or modify tracked file definitions](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/discovery/track-configuration-files.md) to change the CI type or file path.\n5.  [Set the tracked files deletion strategy](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/discovery/set-config-file-deletion-strategy.md) to specify what you want to do with tracked configuration file CI records when pattern discovery can no longer find them.\n6.  [Run horizontal discovery](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/discovery/t_CreateADiscoverySchedule.md) on the hosts that are running the applications you want to discover with patterns, open the application CI record, and check the Tracked Configuration Files related list.\n7.  [Compare two versions](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/discovery/compare-configuration-files.md) of tracked CI configuration files to see the actual changes made to them.\n\n"}}