• Puppet 5 Platform
  • Quick start guides
  • Deprecated features
  • Installing and upgrading
  • Configuration
  • Important directories and files
  • Environments
  • Modules
  • Puppet’s services and tools
  • Puppet Server
  • The Puppet language
  • Writing custom functions
  • Hiera
  • Facter
  • Resource types
  • Reports: Tracking Puppet’s activity
  • Extensions for assigning classes to nodes
  • Misc. references
  • Man pages
  • SSL and certificates
  • Adding file server mount points
  • Details about Puppet’s internals
  • Experimental features

Puppet Server Configuration Files: metrics.conf


The metrics.conf file configures Puppet Server’s metrics services and v2 metrics API.


All settings in the file are contained in a HOCON metrics section.

  • server-id: A unique identifier to be used as part of the namespace for metrics that this server produces.

  • registries: A section that contains settings to control which metrics are reported, and how they’re reported.
    • <REGISTRY NAME>: A section named for a registry that contains its settings. In Puppet Server’s case, this section should be puppetserver.
      • metrics-allowed: An array of metrics to report. See the metrics documentation for details about individual metrics.
      • reporters: Can contain jmx and graphite sections with a single Boolean enabled setting to enable or disable each reporter type.
  • reporters: Configures reporters that distribute metrics to external services or viewers.
    • graphite: Contains settings for the Graphite reporter.
      • host: A string containing the Graphite server’s hostname or IP address.
      • port: Contains the Graphite service’s port number.
      • update-interval-seconds: Sets the interval on which Puppet Server will send metrics to the Graphite server.


Puppet Server ships with a default metrics.conf file in Puppet Server’s conf.d directory, similar to the below example with additional comments.

metrics: {
    server-id: localhost
    registries: {
        puppetserver: {
            # specify metrics to allow in addition to those in the default list
            #metrics-allowed: ["compiler.compile.production"]

            reporters: {
                jmx: {
                    enabled: true
                # enable or disable Graphite metrics reporter
                #graphite: {
                #    enabled: true


    reporters: {
        #graphite: {
        #    # graphite host
        #    host: ""
        #    # graphite metrics port
        #    port: 2003
        #    # how often to send metrics to graphite
        #    update-interval-seconds: 5
See an issue? Please file a JIRA ticket in our [DOCUMENTATION] project
Puppet sites use proprietary and third-party cookies. By using our sites, you agree to our cookie policy.