Skip to content

Instantly share code, notes, and snippets.

@Scifire
Created September 18, 2019 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Scifire/60dcc383fdca57428cc46dfd511fbb51 to your computer and use it in GitHub Desktop.
Save Scifire/60dcc383fdca57428cc46dfd511fbb51 to your computer and use it in GitHub Desktop.
Puppetserver metrics grafana dashboard with victoriametrics source
//forked from: https://puppet.com/docs/puppetserver/6.0/sample-puppetserver-metrics-dashboard.json
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 164,
"links": [],
"panels": [
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "werk2-prometheus",
"description": "* `num jrubies`: number of JRuby instances (constant)\n* `num free jrubies`: number of JRuby instances free\n* `average free jrubies`: average free JRubies over time\n* `average requested jrubies`: average requested JRubies over time",
"editable": true,
"fill": 0,
"grid": {
"max": null,
"min": 0
},
"gridPos": {
"h": 10,
"w": 8,
"x": 0,
"y": 0
},
"id": 1,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"loadingEditor": false,
"nullPointMode": "connected",
"options": {},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "{__name__=\"puppetlabs.puppet-master.jruby.num-jrubies\"}",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
"legendFormat": "num jrubies",
"refId": "A"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.jruby.num-free-jrubies\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "num free jrubies",
"refId": "B"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.jruby.free-jrubies-histo.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "average free jrubies",
"refId": "C"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.jruby.requested-jrubies-histo.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "average requested jrubies",
"refId": "D"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "JRuby Usage",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "werk2-prometheus",
"description": "* `borrow time`: average time a JRuby is borrowed for\n* `wait time`: average time Puppet Server spends waiting to borrow a JRuby to service a request\n* `lock held time`: average time the lock on the JRuby pool is held\n* `lock wait time`: average time Puppet Server spends waiting to acquire the lock",
"editable": true,
"fill": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 10,
"w": 8,
"x": 8,
"y": 0
},
"id": 2,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "{__name__=\"puppetlabs.puppet-master.jruby.borrow-timer.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "borrow time",
"refId": "A"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.jruby.wait-timer.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "wait time",
"refId": "B"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.jruby.lock-held-timer.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "lock held time",
"refId": "C"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.jruby.lock-wait-timer.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "lock wait time",
"refId": "D"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "JRuby Pool Timers",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "ms",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "werk2-prometheus",
"description": "Heap and non-heap memory used, number of cpus available.",
"editable": true,
"fill": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 9,
"w": 8,
"x": 16,
"y": 0
},
"id": 3,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"loadingEditor": false,
"nullPointMode": "connected",
"options": {},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [
{
"alias": "num cpus",
"yaxis": 2
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "{__name__=\"puppetlabs.puppet-master.memory.heap.used\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "heap used",
"refId": "A"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.memory.non-heap.used\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "non-heap used",
"refId": "B"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.num-cpus\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "num cpus",
"refId": "C"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "JVM metrics",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "bytes",
"label": "Memory",
"min": null,
"show": true
},
{
"format": "short",
"label": "CPUs",
"logBase": 1,
"min": "0",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "werk2-prometheus",
"description": "Average request time by type - time the server spends serving each type of request, including time waiting to acquire a JRuby",
"editable": true,
"fill": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 16,
"w": 8,
"x": 16,
"y": 9
},
"id": 4,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-catalog-/*/-requests.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "catalog",
"refId": "A"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-report-/*/-requests.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "report",
"refId": "B"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-node-/*/-requests.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "node",
"refId": "E"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-file_metadatas-/*/-requests.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "file_metadatas",
"refId": "C"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-metadata-/*/-requests.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "metadata",
"refId": "D"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-file_content-/*/-requests.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "file_content",
"refId": "F"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.other-requests\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "other",
"refId": "G"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.total-requests.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "all",
"refId": "H"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Request Durations",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "ms",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {
"create scope": "#BADFF4"
},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "werk2-prometheus",
"description": "Time spent in different parts of handling a Catalog request\n\n* `compile`: time to compile catalogs.\n* `static_compile`: time to do a static compile of catalogs.\n* `static compile postprocessing`: time to do postprocessing of static catalog, including inlining file metadata.\n* `function calls`: time spent calling functions (included in `compile` time)\n* `find_node`: time to get node object (not included in `compile` time)\n* `find_facts`: time to parse facts sent as part of catalog request (not included in `compile` time)",
"editable": true,
"fill": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 11,
"w": 8,
"x": 0,
"y": 10
},
"id": 5,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "{__name__=\"puppetlabs.puppet-master.compiler.compile.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "compile",
"refId": "A"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.functions.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "function calls",
"refId": "B"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.compiler.find_node.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "find_node",
"refId": "C"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.compiler.static_compile\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "static compile",
"refId": "D"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.compiler.static_compile_postprocessing\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "static compile postprocessing",
"refId": "E"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.compiler.find_facts.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "find_facts",
"refId": "F"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Compilation",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "ms",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "werk2-prometheus",
"description": "Percentage of requests handled of each type.",
"editable": true,
"fill": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 14,
"w": 8,
"x": 8,
"y": 10
},
"id": 7,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {},
"percentage": true,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-catalog-/*/-percentage\"}*100",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "catalog",
"refId": "A"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-report-/*/-percentage\"}*100",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "report",
"refId": "B"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-node-/*/-percentage\"}*100",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "node",
"refId": "C"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-file_metadatas-/*/-percentage\"}*100",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "file_metadatas",
"refId": "D"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-file_metadata-/*/-percentage\"}*100",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "file_metadata",
"refId": "E"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.puppet-v3-file_content-/*/-percentage\"}*100",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "file_content",
"refId": "F"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Request Ratios",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "Percentage of Requests",
"show": true
},
{
"format": "short",
"label": "",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "werk2-prometheus",
"description": "Number of active requests and average number of active requests (over ~ 5 minutes).",
"editable": true,
"fill": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 21
},
"id": 8,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.active-requests.count\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "active requets",
"refId": "A"
},
{
"expr": "{__name__=\"puppetlabs.puppet-master.http.active-histo.mean\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "average number of active requets",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Active Requests",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
}
],
"refresh": "30s",
"schemaVersion": 18,
"style": "dark",
"tags": [
"Graphite"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"collapse": false,
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"type": "timepicker"
},
"timezone": "browser",
"title": "Puppet Server Metrics",
"uid": "-NSMsMpWdf",
"version": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment