O'Reilly logo

Puppet Reporting and Monitoring by Michael Duffy

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Feeding data into Dashing

As we've already covered, Dashing uses a series of scheduled jobs written in Ruby that will collect any data that we are interested in. A library called rufus-scheduler controls the scheduling; the rufus-scheduler library allows for great flexibility as to when and how jobs are run, meaning that you could have a lightweight job that scrapes data from a public API and runs every five seconds, and another job that will run every 30 minutes and perform a heavy query on a database.

We're going to create a single job called puppet.rb, and this Ruby code is going to perform the following actions:

  • Gather metrics using PuppetDB's metrics endpoint
  • Gather a list of nodes using PuppetDB's nodes endpoint
  • Use the nodes gathered to gather ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required