---
title: Puppet
description: >-
  Puppet is IT automation software that helps system administrators manage
  infrastructure throughout its lifecycle.
breadcrumbs: Docs > Integrations > Puppet
---

# Puppet

## Overview{% #overview %}

Connect Puppet to Datadog in order to:

- Get real-time reports on Puppet Agent runs.
- Track key Puppet performance metrics across all your servers.
- Quickly identify and discuss failed Puppet runs with your team

## Setup{% #setup %}

### Installation{% #installation %}

To install the Datadog Agent with Puppet, see the [Datadog Puppet Agent repository](https://github.com/datadog/puppet-datadog-agent) on GitHub.

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

|  |
|  |
| **puppet.changed.resources**(gauge)             | Changed resources*Shown as resource*           |
| **puppet.concat\_file.time**(gauge)             | Concat file time*Shown as second*              |
| **puppet.concat\_fragment.time**(gauge)         | Concat fragment time*Shown as second*          |
| **puppet.config\_retrieval.time**(gauge)        | Config retrieval time*Shown as second*         |
| **puppet.corrective\_change.resources**(gauge)  | Corrective change resources*Shown as resource* |
| **puppet.exec.time**(gauge)                     | Exec time*Shown as second*                     |
| **puppet.failed\_to\_restart.resources**(gauge) | Failed to restart resources*Shown as resource* |
| **puppet.failed.resources**(gauge)              | Failed resources*Shown as resource*            |
| **puppet.failure.events**(count)                | Failure events*Shown as event*                 |
| **puppet.file.time**(gauge)                     | File time*Shown as second*                     |
| **puppet.filebucket.time**(gauge)               | Filebucket time*Shown as second*               |
| **puppet.out\_of\_sync.resources**(gauge)       | Out of sync resources*Shown as resource*       |
| **puppet.package.time**(gauge)                  | Package time*Shown as second*                  |
| **puppet.remote\_file.time**(gauge)             | Remote file time*Shown as second*              |
| **puppet.restarted.resources**(gauge)           | Restarted resources*Shown as resource*         |
| **puppet.schedule.time**(gauge)                 | Schedule time*Shown as second*                 |
| **puppet.scheduled.resources**(gauge)           | Scheduled resources*Shown as resource*         |
| **puppet.service.time**(gauge)                  | Service time*Shown as second*                  |
| **puppet.skipped.resources**(gauge)             | Skipped resources*Shown as resource*           |
| **puppet.success.events**(count)                | Success events*Shown as event*                 |
| **puppet.total.changes**(count)                 | Total changes                                  |
| **puppet.total.events**(count)                  | Total events*Shown as event*                   |
| **puppet.total.resources**(gauge)               | Total resources*Shown as resource*             |
| **puppet.total.time**(gauge)                    | Total time*Shown as second*                    |
| **puppet.yumrepo.time**(gauge)                  | Yumrepo time*Shown as second*                  |

### Events{% #events %}

The Puppet integration includes status events for failure, success, changed, and unchanged resources.

### Service Checks{% #service-checks %}

The Puppet integration does not include any service checks.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).
