LogicMonitor seeks to disrupt AI landscape with $800M strategic investment at $2.4B valuation to revolutionize data centers.

Learn More

Puppet Monitoring

Last updated on 03 October, 2024

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.

Compatibility

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

Setup Requirements

  • 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.

PropertyValue
ssh.userSSH Username
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.categoryAdd “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.

Import LogicModules

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.

Troubleshooting

  • “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.

Display NameTypeDescription
addCategory_PuppetPropertySourceDetermines if Puppet Server or Puppet Agent is running on your device and adds corresponding category.
Puppet Server Routes StatisticsDataSourceReturns details from Puppet Server containing information about the routes that agents use to connect to this server.
Puppet Server JVM ResourcesDataSourceReturns details from JVM metrics about resource utilization of Puppet Server.
Puppet Server JVM NIO Buffer PoolsDataSourceReturns Puppet Server JVM NIO Buffer Pool metrics.
Puppet Server JVM Memory PoolsDataSourceReturns Puppet Server JVM Memory Pools metrics.
Puppet Server JVM Garbage CollectionDataSourceReturns Puppet Server JVM Garbage Collection metrics.
Puppet Server JRuby StatisticsDataSourceReturns details from Puppet Server containing information about the JRuby pools from which Puppet Server fulfills agent requests.
Puppet Profiler StatisticsDataSourceReturns 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 ProcessDataSourceTracks status of Puppet Agent processes.
Puppet Agent Last Run MetricsDataSourceGets 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.

In This Article