A Puppet report handler for sending logs, event and metrics to a Logstash TCP input.
json
yaml
A working logstash install with a defined tcp
input matching the report configuration.
input { tcp { type => "puppet-report" port => "5959" } }
NOTE
- Create a simple Logstash config like so (called logstash.conf):
input { tcp { type => "puppet-report" port => "5959" format => "json_event" } }
output { stdout { debug => true debug_format => "json" } }
- run logstash with the configuration file
java -jar build/logstash-<version>-flatjar.jar agent -f logstash.conf
-
Follow the installation instructions below, changing host to the host where logstash is running and port to match the port you defined in your Logstash configuration file.
-
Profit?
- Define a TCP input as described above in your Logstash configuration file
- Copy the
logstash.yaml
to/etc/puppet
- Enable pluginsync and reports on your puppetmaster and clients in
puppet.conf
[master]
report = true
reports = logstash
pluginsync = true
[agent]
report = true
pluginsync = true
- Run the Puppet client and sync the report as a plugin
This module was originally posted John Vincent at https://github.com/lusis/puppet-logstash-reporter