This is a custom java probe I have written to help alleviate some probe configuration issues. Attached is the probe package itself (just drag to the archive), an information document and a basic .jrxml file that can be imported into Unified Reports. This will be an ongoing development process so please provide your feedback here in this thread with issues and feature requests and I will do my best to address them in future versions.
This probe will archive every probe configuration in your Nimsoft environment on a customizable interval and automatically do configuration differentials between the current and previous configurations. This will allow a Nimsoft administrator to track configuration changes in their environment automatically.
On startup the probe will talk to the data_engine at the path you specified to detect if you have the required database tables and if not it will create them in the Nimsoft database for you. These two tables are PCA_CFG and PCA_CHANGES.
This table contains a record of each probe configuration. It stores the hub, robot, probe, probe version, filesystem path to configuration file, complete configuration file in a column, a record id and archive date.
This table contains a record of each probe configuration change. It stores the hub, robot, probe, configuration section, configuration key, previous and current configuration value, previous and current archive date and previous and current record ids.
HOW IT WORKS
The probe uses the native callbacks provided in many probes to get the probe configurations.
- It uses the gethubs callback on the hub probe to get a list of available hubs
- Loops through each of those hubs to get a list of robots using the hub’s getrobots callback
- Grabs a list of probes and information on each probe from the controller via the probe_list callback
- Saves the configuration file from the robot by using the text_file_get callback
- Inserts information about the configuration into the database
- Compares the current and previous configuration to determine if there were any changes
- If there are changes, writes those changes to the database
- As this is the first probe I have ever written in Java there may be some verbose logging that will be removed in future versions.