Uploaded image for project: 'PuppetDB'
  1. PuppetDB
  2. PDB-2981

Output most useful metrics via the status endpoint like Puppetsever does

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed
    • Normal
    • Resolution: Won't Do
    • None
    • None
    • PuppetDB
    • PuppetDB

    Description

      PuppetDB has a wealth of metrics but it's often difficult to determine which ones Puppet thinks are important.

      As a user of PuppetDB, I'd like PuppetDB to curate a set of metrics that are considered to be important metrics to use for tracking and troubleshooting performance.

      Puppetserver already does something like this and outputs them via the status endpoint of their API. It'd be great if PuppetDB could do the same.

      Example output from puppetserver:

      [root@master201611-centos tmp]# cat /opt/puppetlabs/pe_metric_curl_cron_jobs/puppet_server/localhost-08_12_16_21\:02.json
      {
          "pe-jruby-metrics": {
              "detail_level": "debug",
              "service_status_version": 1,
              "service_version": "2016.1.1014",
              "state": "running",
              "status": {
                  "experimental": {
                      "jruby-pool-lock-status": {
                          "current-state": ":not-in-use",
                          "last-change-time": "2016-08-12T20:46:18.114Z"
                      },
                      "metrics": {
                          "average-borrow-time": 1226,
                          "average-free-jrubies": 0.99999976127247536,
                          "average-lock-held-time": 0,
                          "average-lock-wait-time": 0,
                          "average-requested-jrubies": 0.0,
                          "average-wait-time": 0,
                          "borrow-count": 15,
                          "borrow-retry-count": 0,
                          "borrow-timeout-count": 0,
                          "borrowed-instances": [],
                          "num-free-jrubies": 1,
                          "num-jrubies": 1,
                          "num-pool-locks": 0,
                          "requested-count": 15,
                          "requested-instances": [],
                          "return-count": 15
                      }
                  }
              }
          },
          "pe-master": {
              "detail_level": "debug",
              "service_status_version": 1,
              "service_version": "2016.1.1014",
              "state": "running",
              "status": {
                  "experimental": {
                      "http-metrics": [
                          {
                              "aggregate": 18420,
                              "count": 15,
                              "mean": 1228,
                              "route-id": "total"
                          },
                          {
                              "aggregate": 6767,
                              "count": 1,
                              "mean": 6767,
                              "route-id": "puppet-v3-node-/*/"
                          },
                          {
                              "aggregate": 4788,
                              "count": 2,
                              "mean": 2394,
                              "route-id": "puppet-v3-environment_classes-/*/"
                          },
                          {
                              "aggregate": 1407,
                              "count": 3,
                              "mean": 469,
                              "route-id": "puppet-v3-file_metadatas-/*/"
                          },
                          {
                              "aggregate": 1330,
                              "count": 1,
                              "mean": 1330,
                              "route-id": "puppet-v3-catalog-/*/"
                          },
                          {
                              "aggregate": 1306,
                              "count": 1,
                              "mean": 1306,
                              "route-id": "puppet-v3-report-/*/"
                          },
                          {
                              "aggregate": 145,
                              "count": 5,
                              "mean": 29,
                              "route-id": "puppet-v3-file_metadata-/*/"
                          },
                          {
                              "aggregate": 16,
                              "count": 2,
                              "mean": 8,
                              "route-id": "puppet-v3-environments"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-v3-static_file_content-/*/"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-v3-file_content-/*/"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-experimental"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "other"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-v3-status-/*/"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-experimental-metrics-dashboard-/*/"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-experimental-dashboard_html"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-v3-resource_types-/*/"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-v3-resource_type-/*/"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-v3-file_bucket_file-/*/"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-experimental-js-/*/"
                          },
                          {
                              "aggregate": 0,
                              "count": 0,
                              "mean": 0,
                              "route-id": "puppet-v3-environment-/*/"
                          }
                      ]
                  }
              }
          },
          "pe-puppet-profiler": {
              "detail_level": "debug",
              "service_status_version": 1,
              "service_version": "2016.1.1014",
              "state": "running",
              "status": {
                  "experimental": {
                      "catalog-metrics": [],
                      "function-metrics": [],
                      "inline-metrics": [],
                      "resource-metrics": []
                  }
              }
          },
          "status-service": {
              "detail_level": "debug",
              "service_status_version": 1,
              "service_version": "0.3.1",
              "state": "running",
              "status": {
                  "experimental": {
                      "jvm-metrics": {
                          "heap-memory": {
                              "committed": 191889408,
                              "init": 134217728,
                              "max": 201326592,
                              "used": 131066608
                          },
                          "non-heap-memory": {
                              "committed": 257175552,
                              "init": 2555904,
                              "max": -1,
                              "used": 168824472
                          },
                          "start-time-ms": 1471034741562,
                          "up-time-ms": 1037742
                      }
                  }
              }
          }
      }
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            nick.walker Nick Walker
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Zendesk Support