Report Reference

This version is out of date. For current versions, see Puppet packages and versions.

This page is autogenerated; any changes will get overwritten (last generated on 2016-01-15 16:31:52 +0100)

Puppet clients can report back to the server after each transaction. This transaction report is sent as a YAML dump of the Puppet::Transaction::Report class and includes every log message that was generated during the transaction along with as many metrics as Puppet knows how to collect. See Reports and Reporting for more information on how to use reports.

Currently, clients default to not sending in reports; you can enable reporting by setting the report parameter to true.

To use a report, set the reports parameter on the server; multiple reports must be comma-separated. You can also specify none to disable reports entirely.

Puppet provides multiple report handlers that will process client reports:


Send reports via HTTP or HTTPS. This report processor submits reports as POST requests to the address in the reporturl setting. The body of each POST request is the YAML dump of a Puppet::Transaction::Report object, and the Content-Type is set as application/x-yaml.


Send all received logs to the local log destinations. Usually the log destination is syslog.


Graph all available data about hosts using the RRD library. You must have the Ruby RRDtool library installed to use this report, which you can get from the RubyRRDTool RubyForge page. This package may also be available as librrd-ruby, ruby-rrd, or rrdtool-ruby in your distribution’s package management system. The library and/or package will both require the binary rrdtool package from your distribution to be installed.

This report will create, manage, and graph RRD database files for each of the metrics generated during transactions, and it will create a few simple html files to display the reporting host’s graphs. At this point, it will not create a common index file to display links to all hosts.

All RRD files and graphs get created in the rrddir directory. If you want to serve these publicly, you should be able to just alias that directory in a web server.

If you really know what you’re doing, you can tune the rrdinterval, which defaults to the runinterval.


Store the yaml report on disk. Each host sends its report as a YAML dump and this just stores the file on disk, in the reportdir directory.

These files collect quickly – one every half hour – so it is a good idea to perform some maintenance on them if you use this report (it’s the only default report).


This report sends specific log messages to specific email addresses based on the tags in the log messages.

See the documentation on tags for more information.

To use this report, you must create a tagmail.conf file in the location specified by the tagmap setting. This is a simple file that maps tags to email addresses: Any log messages in the report that match the specified tags will be sent to the specified email addresses.

Lines in the tagmail.conf file consist of a comma-separated list of tags, a colon, and a comma-separated list of email addresses. Tags can be !negated with a leading exclamation mark, which will subtract any messages with that tag from the set of events handled by that line.

Puppet’s log levels (debug, info, notice, warning, err, alert, emerg, crit, and verbose) can also be used as tags, and there is an all tag that will always match all log messages.

An example tagmail.conf:

webserver, !mailserver:

This will send all messages to, and all messages from webservers that are not also from mailservers to

If you are using anti-spam controls such as grey-listing on your mail server, you should whitelist the sending email address (controlled by reportfrom configuration option) to ensure your email is not discarded as spam.

This page autogenerated on 2016-01-15 16:31:52 +0100

Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.