Reporting
In a client-server configuration, an agent sends its
report to the primary server for processing. In a standalone configuration, the puppet apply
command processes the node’s
own reports. In both configurations, report processor plugins handle received reports. If
you enable multiple report processors, Puppet runs all of
them for each report.
It sends some of the report data to another service, such as PuppetDB, that can collate it.
It triggers alerts on another service if the data matches a specified condition, such as a failed run.
That external service can then provide a way to view the processed report.
Report data
Metadata about the node, its environment and Puppet version, and the catalog used in the run.
The status of every resource.
Actions, also called events, taken during the run.
Log messages generated during the run.
Metrics about the run, such as its duration and how many resources were in a given state.
That external service can then provide a way to view the processed report.
Configuring reporting
An agent sends reports to the primary server by
default. You can turn off reporting by changing the report
setting in an
agent’s puppet.conf
file.
On primary servers and on nodes
running Puppet apply, you can configure enabled report processors as a
comma-separated list in the reports
setting. The default reports
value is 'store'
, which stores
reports in the configured reportdir
.
To turn off reports
entirely, set reports
to 'none'
.
For details about configuration settings in Puppet, see the Configuration reference.
Accessing reports
In Puppet Enterprise (PE), view run logs and event reports on the Reports page. See Infrastructure reports.
In PuppetDB, with its report processor enabled, interface with third-party tools such as Puppetboard or PuppetExplorer.
Use one of the built-in report processors. For example, the
http
processor sends YAML dumps of reports through POST requests to a designated URL; the log processor saves received logs to a locallog
file.Use a report processor from a module, such as
tagmail
.Query PuppetDB for stored report data and build your own tools to display it. For details about the types of data that PuppetDB collects and the API endpoints it uses, see the API documentation for the endpoints
events
,event-counts
, andaggregate-event-counts
.Write a custom report processor.