You are previewing Puppet Reporting and Monitoring.
O'Reilly logo
Puppet Reporting and Monitoring

Book Description

Create insightful reports for your server infrastructure using Puppet

In Detail

Starting with the very basics of Puppet, Puppet Reporting and Monitoring will guide you through configuring additional reports and creating new, feature-rich reports using the comprehensive Puppet tool. Packed with practical examples and precise instructions, this book is all you need to start exploring Puppet reports.

You will then learn how to create custom reports and finally understand the best way to present and utilize multitudes of data obtained from different servers under management.

You will learn how to use the built-in report processors and will also gain hands-on experience in creating your very own report processors. With this book, you will learn how to optimize its features such as asynchronous data storage and catalog compilation. You will also delve into using open source tools such as Graphite and Dashing to make attractive and informative dashboards quickly and easily.

What You Will Learn

  • Set up Puppet for reporting
  • Utilize the built-in report processors to report, analyze, and alert
  • Learn how to find and install custom report processors
  • Create your own custom report processors
  • Generate reports using PuppetDB's powerful API
  • Create feature-rich dashboards using Puppet and Dashing
  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. Puppet Reporting and Monitoring
      1. Table of Contents
      2. Puppet Reporting and Monitoring
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Setting Up Puppet for Reporting
        1. Learning the basics of Puppet reporting
        2. Exploring the Puppet configuration file
        3. Setting up the server
        4. Setting up the Puppet agent
        5. Summary
      9. 2. Viewing Data in Dashboards
        1. Why use a dashboard?
        2. The Puppet Dashboard feature list
        3. Understanding Puppet Dashboard
        4. Exploring Puppet Enterprise Console
          1. Event Inspector
          2. Puppet Live Management
        5. Using The Foreman
          1. Reporting with The Foreman
            1. Looking at trends in The Foreman
        6. Discovering PuppetBoard
        7. Summary
      10. 3. Introducing Report Processors
        1. Understanding a report processor
        2. Utilizing the built-in report processors
          1. Storing reports with the store report processor
          2. Adding to logfiles with the log report processor
          3. Graphing with the rrdgraph processor
          4. The tagmail report processor
          5. Sending reports with the HTTP report processor
          6. The PuppetDB report processor
          7. Exploring the power of third-party plugins
        3. Getting social with Twitter
        4. Staying on top of alerts with PagerDuty
        5. Summary
      11. 4. Creating Your Own Report Processor
        1. The anatomy of a report processor
          1. Creating a basic report processor
            1. Registering your report processor
            2. Describing your report processor
            3. Processing your report
          2. Values of the self.status object
          3. Alerting with e-mail and Puppet
          4. Managing your report processor configuration with Puppet
        2. Monitoring changes and alerting with Puppet
        3. Logging with MySQL
        4. Adding metrics and events to MySQL
        5. Raising issues with JIRA
        6. A final note on third-party applications
        7. Summary
      12. 5. Exploring PuppetDB
        1. A brief history of PuppetDB
        2. Setting up the PuppetDB server
          1. Installing PuppetDB
            1. Installing PuppetDB from packages
            2. Increasing the JVM heap space
          2. Installing PostgreSQL
            1. Installing the packages
            2. Creating your database user
            3. Creating the PostgreSQL database
        3. Summary
      13. 6. Retrieving Data with the PuppetDB API
        1. Exploring the PuppetDB query API
          1. Understanding the command interface
          2. Understanding the query API interface
            1. A primer on the PuppetDB query language
          3. Exploring endpoints
            1. Using the facts endpoint
            2. Using the resources endpoint
            3. Retrieving details about nodes
            4. Getting the run details with the catalogs endpoint
            5. Understanding the fact-names endpoint
            6. Knowing the status of PuppetDB with the metrics endpoint
            7. Using the reports endpoint
            8. Working with the events endpoint
            9. Using the event-counts endpoint
            10. Applying the aggregate-event-counts endpoint
            11. Using the server-time endpoint
            12. The version endpoint
        2. Summary
      14. 7. Writing Custom Reports with PuppetDB
        1. Creating a basic query application
          1. Setting up the basic application
          2. Connecting to PuppetDB
          3. Outputting results
        2. Creating a menu-driven PuppetDB application
          1. Setting up the UI
          2. Querying PuppetDB's facts endpoint
          3. Outputting the hardware report
        3. Querying PuppetDB for report information
          1. Creating the PuppetDB query method
          2. Fetching the event counts
          3. Presenting the events data
          4. Testing our application
        4. Summary
      15. 8. Creating Your Own Custom Dashboard
        1. Exploring Dashing
        2. Setting up Dashing
          1. Exploring the default puppetdash directory layout
          2. Running Dashing
        3. Creating our dashboard
          1. Creating our dashboard layout
        4. Feeding data into Dashing
          1. Creating new jobs in Dashing
        5. Adding trends
        6. Adding meters
        7. Summary
      16. 9. Looking Back and Looking Forward
        1. Looking back at what we've learned
          1. Rediscovering dashboards
          2. Producing alerts
            1. Using Nagios
            2. Discovering Icinga and Shinken
          3. Compliance monitoring with Puppet
          4. Analyzing metrics with StatsD, Graphite, and Etsy Skyline
          5. Tracking changes with Puppet and Graphite
          6. Using Etsy Skyline to find your normal
          7. Using Puppet to drive orchestration
        2. Summary
      17. Index