Collectd Plugin to Monitor Puppet Agents
TypesDB "/usr/share/collectd/puppet_types.db" <LoadPlugin
python> Globals true </LoadPlugin> <Plugin "python"> LogTraces true Interactive false Import "puppet" PATH "/opt/puppetlabs/puppet/cache/state/last_run_summary.yaml" MaxRetention 21600 </Plugin>
The MaxRetention setting represents, in seconds, for how long the value of the metrics will be retained if there’s no fresh data to publish during the Collectd loop. Be aware that this setting depends on the global Timeout. For instance, if you want a retention of 6 hours and the Collectd timeout is set to 2 then you’ll have to halve value and set it to (6*60*60)/2.
The plugin parses /opt/puppetlabs/puppet/cache/state/last_run_summary.yaml and reports several single values extracted from there.
It will only send data if there has been a Puppet run after the last time Collectd polled. This is monitored using a state file located in /var/lib/collectd/puppet.state. To force a data point just delete it.
These are the values that are currently being dispatched:
puppet/boolean-compiled (flag denoting if the catalog compiled (1 or 0))
puppet/time_ref-last_run (epoch of last puppet run (seconds))
Don’t forget to bump the schema_version if you modify the data format.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.