None of the following projects are published by or endorsed by Puppet. They are linked to here for informational purposes only.
A collection of Nagios scripts/plugins for monitoring PuppetDB. These plugins get data using PuppetDB's metrics APIs. Pulling this data into Nagios lets you monitor key metrics over time and receive alerts when they cross certain thresholds. This can partially or completely replace the built-in performance dashboard. Especially useful for knowing when the heap size or thread count needs tuning.
A Puppet module with functions for querying PuppetDB data. By default, exported resources are the only way for Puppet manifests to get other nodes' data from PuppetDB. These functions let you get other data. In particular, the
pdbnodequery function can let you search nodes by class or resource, an operation that normally requires multiple PuppetDB queries. The functions in this module include:
A Puppet module with a face querying PuppetDB for exported resources. This simple face can be used for listing exported resources from the command line. It has support for querying all exports or filtering to a comma-separated list. Example syntax:
puppet node exports
puppet node exports file
puppet node exports file,user
A set of command-line scripts for querying PuppetDB. This was originally written for use in a specific Puppet environment, but includes a few scripts that are more generally useful. This includes:
puppetdb-tangledLists "tangled" host, or where the most recent report was a success in which something changed (an event status changed), and some number of these changes have occurred several times in the last several runs (something is changing back and forth over and over again).
puppetdb-failedLists hosts that failed in their last Puppet run.
puppetdb-tooquietLists hosts that have not checked in over the last two hours (configurable).
There are also a variety of tools for querying specific system facts and providing useful reports, which are tied to the upstream environment fact list.
A custom Prometheus exporter for PuppetDB. This CLI tool starts a server that exposes PuppetDB metrics for Prometheus, an open-source systems monitoring and alerting toolkit. Written in Go, prometheus-puppetdb-exporter is available for download as a standalone Linux executable. Alternatively, the Vox Pupuli Prometheus module can install prometheus-puppetdb-exporter via Puppet. For more information about custom Prometheus exporters, see the Prometheus custom exporter docs.