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:
log
Send all received logs to the local log destinations. Usually the log destination is syslog.
rrdgraph
Graph all available data about hosts using the RRD library. You must have the RRD binary ruby library installed to use this report, which you can get from Tobias Oetiker’s site.
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
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).
tagmail
This report sends specific log messages to specific email addresses based on the tags in the log messages. See the tag documentation for more information on tags.
To use this report, you must create a ``tagmail.conf`` (in the location specified by ``tagmap``). 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.
Tags must be comma-separated, and they can be negated so that messages only match when they do not have that tag. The tags are separated from the email addresses by a colon, and the email addresses should also be comma-separated.
Lastly, there is an ``all`` tag that will always match all log messages.
Here is an example tagmail.conf:
all: me@domain.com
webserver, !mailserver: httpadmins@domain.com
This will send all messages to ``me@domain.com``, and all messages from webservers that are not also from mailservers to ``httpadmins@domain.com``.