LogicMonitor’s Puppet monitoring package leverages the Puppet Server API and SNMP to monitor performance and state metrics and alert on the status of the Puppet Server and Puppet Agent availability.
As of March 2022 of package release, LogicMonitor’s Puppet package is known to be compatible with:
- Version 4 through 7 for Puppet Agent Process module
- Version 7 and up for the rest of the Puppet modules
- Collector version 30.000 or higher .
- SNMP must be enabled on the Puppet agent devices for process monitoring.
- The file last_run_summary.yaml must be given full read permissions for other users to gather last run metrics.
- Allow incoming calls to port 8140 from the Collector to monitor the Puppet Server.
Add Resources into Monitoring
Add your Puppet hosts into monitoring. For more information on adding resources into monitoring, see Adding Devices.
Assign Properties to Resources
The following custom properties must be set on the Puppet Agent resource within LogicMonitor. For more information on setting properties, see Resource and Instance Properties.
|ssh.pass||(Optional, depending on SSH configuration) SSH Password|
|ssh.publickey||(Optional, depending on SSH configuration) SSH Public Key and Private Key file path|
|system.category||Add “Puppet Server” or “Puppet Agent”. This value is populated by addCategory_puppet. You can also add this value manually as a category for the system.category property (such as in the case when Puppet Agent also runs on Puppet Server, but is incorrectly identified).|
|puppetmaster.port||(Optional) Puppet Server uses port 8140 by default. Modifications can be made in puppetmaster.port host or group property based on the service configuration.|
From the LogicMonitor public repository, import all Puppet LogicModules, which are listed in the LogicModules in Package section of this support article. If these LogicModules are already present, make sure you have the most recent versions. Data collection will start automatically once the LogicModules are imported.
Considerations and Warnings
- (Recommended) Set up proper read permissions for last_run_summary.yaml in the puppet public folder to make sure the Puppet Agent Last Run Metrics module runs properly. The permissions might reset to original settings if “puppet agent -t” is manually run on the system. If possible it’s best to automate the permissions to make sure the script always has read-only access to the file.
- “No Data” may be returned to raw data if the firewall is blocking port 8140 from the Collector to the Puppet Server or if the last_run_summary.yaml file is not given proper read permissions on the Puppet Agents.
- In case of errors, debug can be enabled within the script by setting the debug=true to gain more insight into the script errors
LogicModules in Package
LogicMonitor’s package for Puppet consists of the following LogicModules. For full coverage, make sure that all of these LogicModules are imported into your LogicMonitor platform.
|addCategory_Puppet||PropertySource||Determines if Puppet Server or Puppet Agent is running on your device and adds corresponding category.|
|Puppet Server Routes Statistics||DataSource||Returns details from Puppet Server containing information about the routes that agents use to connect to this server.|
|Puppet Server JVM Resources||DataSource||Returns details from JVM metrics about resource utilization of Puppet Server.|
|Puppet Server JVM NIO Buffer Pools||DataSource||Returns Puppet Server JVM NIO Buffer Pool metrics.|
|Puppet Server JVM Memory Pools||DataSource||Returns Puppet Server JVM Memory Pools metrics.|
|Puppet Server JVM Garbage Collection||DataSource||Returns Puppet Server JVM Garbage Collection metrics.|
|Puppet Server JRuby Statistics||DataSource||Returns details from Puppet Server containing information about the JRuby pools from which Puppet Server fulfills agent requests.|
|Puppet Profiler Statistics||DataSource||Returns details from Puppet Profiler containing statistics about catalog compilation. Discover which functions or resources are consuming the most resources or are most frequently used.|
|Puppet Agent Process||DataSource||Tracks status of Puppet Agent processes.|
|Puppet Agent Last Run Metrics||DataSource||Gets metrics and event details regarding the last Puppet run on a puppet agent.|
The DataSources in this package do not include predefined datapoint thresholds (that is, no alerts will trigger based on collected data). This is because the technology owner has not provided KPIs that can be reliably extended to the majority of users. Manually create custom thresholds to receive alerts for collected data, as discussed in Tuning Static Thresholds for Datapoints.