Grafana dashboard: Telegraf: Internal
Description: Displays metrics about the telegraf agent itself. See https://github.com/influxdata/telegraf/blob/master/plugins/inputs/internal/README.md

This dashboard shows all internal metrics collected by Telegraf.

To configure Telegraf so it generates internal metrics, see instructions at: https://github.com/influxdata/telegraf/blob/master/plugins/inputs/internal/README.md

{
  "__requires": [
    {
      "type": "grafana",
      "id": "grafana",
      "name": "Grafana",
      "version": "8.1.3"
    },
    {
      "type": "datasource",
      "id": "influxdb",
      "name": "InfluxDB",
      "version": "1.0.0"
    },
    {
      "type": "panel",
      "id": "text",
      "name": "Text",
      "version": ""
    },
    {
      "type": "panel",
      "id": "timeseries",
      "name": "Time series",
      "version": ""
    }
  ],
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": "-- Grafana --",
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "target": {
          "limit": 100,
          "matchAny": false,
          "tags": [],
          "type": "dashboard"
        },
        "type": "dashboard"
      }
    ]
  },
  "description": "Displays metrics about the telegraf agent itself. See https://github.com/influxdata/telegraf/blob/master/plugins/inputs/internal/README.md",
  "editable": true,
  "gnetId": 15039,
  "graphTooltip": 1,
  "id": null,
  "iteration": 1632333598444,
  "links": [],
  "panels": [
    {
      "collapsed": true,
      "datasource": null,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 0
      },
      "id": 25,
      "panels": [
        {
          "datasource": null,
          "gridPos": {
            "h": 2,
            "w": 24,
            "x": 0,
            "y": 1
          },
          "id": 26,
          "options": {
            "content": "memstats are taken from the Go runtime: https://golang.org/pkg/runtime/#MemStats",
            "mode": "markdown"
          },
          "pluginVersion": "8.1.3",
          "title": "About",
          "type": "text"
        },
        {
          "datasource": "${datasource}",
          "description": "Alloc is bytes of allocated heap objects.\nThis is the same as HeapAlloc (see below).",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "bytes"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 3
          },
          "id": 27,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"alloc_bytes\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r.host + \"/\" + r.version }))\n  //ok: |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: \" - \" + r.host }))\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n",
              "refId": "A"
            }
          ],
          "title": "Heap - Allocated objects bytes, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "Frees is the cumulative count of heap objects freed.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "none"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 3
          },
          "id": 28,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"frees\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> aggregateWindow(every: v.windowPeriod, fn: mean)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r.host + \"/\" + r.version }))\n  //ok: |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: \" - \" + r.host }))\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n",
              "refId": "A"
            }
          ],
          "title": "Heap - Freed objects cumulative count, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "HeapAlloc is bytes of allocated heap objects.\n\n\"Allocated\" heap objects include all reachable objects, as\nwell as unreachable objects that the garbage collector has\nnot yet freed. Specifically, HeapAlloc increases as heap\nobjects are allocated and decreases as the heap is swept\nand unreachable objects are freed. Sweeping occurs\nincrementally between GC cycles, so these two processes\noccur simultaneously, and as a result HeapAlloc tends to\nchange smoothly (in contrast with the sawtooth that is\ntypical of stop-the-world garbage collectors).",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "bytes"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 12
          },
          "id": 29,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"heap_alloc_bytes\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r.host + \"/\" + r.version }))\n  //ok: |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: \" - \" + r.host }))\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n",
              "refId": "A"
            }
          ],
          "title": "Heap - Allocated objects bytes, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`HeapIdle` is bytes in idle (unused) spans.\n\nIdle spans have no objects in them. These spans could be (and may already have been) returned to the OS, or they can be reused for heap allocations, or they can be reused as stack memory.\n\n`HeapIdle` minus `HeapReleased` estimates the amount of memory that could be returned to the OS, but is being retained by the runtime so it can grow the heap without requesting more memory from the OS. If this difference is significantly larger than the heap size, it indicates there was a recent transient spike in live heap size.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "bytes"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 12
          },
          "id": 30,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"heap_idle_bytes\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r.host + \"/\" + r.version }))\n  //ok: |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: \" - \" + r.host }))\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n",
              "refId": "A"
            }
          ],
          "title": "Heap - Idle spans bytes, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`HeapInuse` is bytes in in-use spans.\n\nIn-use spans have at least one object in them. These spans can only be used for other objects of roughly the same size.\n\n`HeapInuse` minus `HeapAlloc` estimates the amount of memory that has been dedicated to particular size classes, but is not currently being used. This is an upper bound on fragmentation, but in general this memory can be reused efficiently.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "bytes"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 21
          },
          "id": 31,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"heap_in_use_bytes\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r.host + \"/\" + r.version }))\n  //ok: |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: \" - \" + r.host }))\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n",
              "refId": "A"
            }
          ],
          "title": "Heap - In-use spans bytes, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`HeapObjects` is the number of allocated heap objects.\n\nLike `HeapAlloc`, this increases as objects are allocated and decreases as the heap is swept and unreachable objects are freed.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "short"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 21
          },
          "id": 32,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"heap_objects\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r.host + \"/\" + r.version }))\n  //ok: |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: \" - \" + r.host }))\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n",
              "refId": "A"
            }
          ],
          "title": "Heap - Objects allocated, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`HeapReleased` is bytes of physical memory returned to the OS.\n\nThis counts heap memory from idle spans that was returned to the OS and has not yet been reacquired for the heap.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "bytes"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 30
          },
          "id": 33,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"heap_released_bytes\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Heap - Released, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`HeapSys` is bytes of heap memory obtained from the OS.\n\n`HeapSys` measures the amount of virtual address space reserved for the heap. This includes virtual address space that has been reserved but not yet used, which consumes no physical memory, but tends to be small, as well as virtual address space for which the physical memory has been returned to the OS after it became unused (see `HeapReleased` for a measure of the latter).\n\n`HeapSys` estimates the largest size the heap has had.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "bytes"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 30
          },
          "id": 34,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"heap_sys_bytes\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Heap - Bytes obtained from the OS, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`Mallocs` is the cumulative count of heap objects allocated in this size class. The cumulative bytes of allocation is Size*Mallocs. The number of live objects in this size class is Mallocs - Frees.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "short"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 39
          },
          "id": 35,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"mallocs\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Mallocs, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`NumGC` is the number of completed GC (Garbage Collector) cycles.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "short"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 39
          },
          "id": 36,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"num_gc\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "GC - Cycles count, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`Lookups` is the number of pointer lookups performed by the runtime.\n\nThis is primarily useful for debugging runtime internals.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "short"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 48
          },
          "id": 37,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"pointer_lookups\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Pointer lookups, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`Sys` is the total bytes of memory obtained from the OS.\n\n Sys is the sum of the XSys fields below. Sys measures the virtual address space reserved by the Go runtime for the heap, stacks, and other internal data structures. It's likely that not all of the virtual address space is backed by physical memory at any given moment, though in general it all was at some point.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "bytes"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 48
          },
          "id": 38,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"sys_bytes\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Total memory obtained from the OS, grouped by host",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "`TotalAlloc` is cumulative bytes allocated for heap objects.\n\nTotalAlloc increases as heap objects are allocated, but unlike Alloc and HeapAlloc, it does not decrease when objects are freed.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "linear",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "bytes"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": ""
                },
                "properties": [
                  {
                    "id": "displayName"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 57
          },
          "id": 39,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_memstats\" and\n    (r._field == \"total_alloc_bytes\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n\n  //|> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host }))\n  //|> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Cumulative bytes allocated for heap objects, grouped by host",
          "type": "timeseries"
        }
      ],
      "title": "internal_memstats",
      "type": "row"
    },
    {
      "collapsed": true,
      "datasource": null,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 1
      },
      "id": 18,
      "panels": [
        {
          "datasource": null,
          "gridPos": {
            "h": 2,
            "w": 24,
            "x": 0,
            "y": 2
          },
          "id": 13,
          "options": {
            "content": "Agent stats collect aggregate stats on all telegraf plugins.",
            "mode": "markdown"
          },
          "pluginVersion": "8.1.3",
          "title": "About",
          "type": "text"
        },
        {
          "datasource": "${datasource}",
          "description": "",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "stepBefore",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "none"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": "/gather_time_ns_tmp/"
                },
                "properties": [
                  {
                    "id": "displayName",
                    "value": "/gather_time_ns \\(.*\\)/"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 4
          },
          "id": 20,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_agent\" and\n    (r._field == \"gather_errors\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  \n  // |> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  //|> difference(nonNegative: false, columns: [\"_value\"])\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Gather errors grouped by host/version",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "Metrics dropped per windowPeriod, grouped by host/version",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "stepBefore",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "none"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": "/gather_time_ns_tmp/"
                },
                "properties": [
                  {
                    "id": "displayName",
                    "value": "/gather_time_ns \\(.*\\)/"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 4
          },
          "id": 21,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_agent\" and\n    (r._field == \"metrics_dropped\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  \n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> aggregateWindow(every: v.windowPeriod, fn: mean)\n  |> difference(nonNegative: false, columns: [\"_value\"])\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Metrics dropped per windowPeriod, grouped by host/version",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "Metrics gathered on all telegraf plugins per windowPeriod, grouped by host/version.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "stepBefore",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "none"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": "/gather_time_ns_tmp/"
                },
                "properties": [
                  {
                    "id": "displayName",
                    "value": "/gather_time_ns \\(.*\\)/"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 13
          },
          "id": 22,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_agent\" and\n    (r._field == \"metrics_gathered\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  \n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> aggregateWindow(every: v.windowPeriod, fn: mean)\n  |> difference(nonNegative: false, columns: [\"_value\"])\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Metrics gathered per windowPeriod, grouped by host/version",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "Metrics written on all telegraf plugins per windowPeriod, grouped by host/version.",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "stepBefore",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "none"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": "/gather_time_ns_tmp/"
                },
                "properties": [
                  {
                    "id": "displayName",
                    "value": "/gather_time_ns \\(.*\\)/"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 13
          },
          "id": 23,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_agent\" and\n    (r._field == \"metrics_written\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  \n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  //|> aggregateWindow(every: v.windowPeriod, fn: mean)\n  |> difference(nonNegative: false, columns: [\"_value\"])\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Metrics written per windowPeriod, grouped by host/version",
          "type": "timeseries"
        }
      ],
      "title": "internal_agent",
      "type": "row"
    },
    {
      "collapsed": true,
      "datasource": null,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 2
      },
      "id": 11,
      "panels": [
        {
          "datasource": null,
          "gridPos": {
            "h": 2,
            "w": 24,
            "x": 0,
            "y": 3
          },
          "id": 19,
          "options": {
            "content": "Collects aggregate stats on all input plugins that are of the same input type. They are tagged with `input=<plugin_name>` and `version=<telegraf_version>` and `go_version=<go_build_version>`.",
            "mode": "markdown"
          },
          "pluginVersion": "8.1.3",
          "title": "About",
          "type": "text"
        },
        {
          "datasource": "${datasource}",
          "description": "",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "stepBefore",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "ns"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": "/gather_time_ns_tmp/"
                },
                "properties": [
                  {
                    "id": "displayName",
                    "value": "/gather_time_ns \\(.*\\)/"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 0,
            "y": 5
          },
          "id": 15,
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_gather\" and\n    (r._field == \"gather_time_ns\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  \n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.input + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Gather time per host/input/version",
          "type": "timeseries"
        },
        {
          "datasource": "${datasource}",
          "description": "",
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "axisLabel": "",
                "axisPlacement": "auto",
                "axisSoftMax": 1,
                "axisSoftMin": 0,
                "barAlignment": 0,
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "none",
                "hideFrom": {
                  "legend": false,
                  "tooltip": false,
                  "viz": false
                },
                "lineInterpolation": "stepBefore",
                "lineWidth": 1,
                "pointSize": 5,
                "scaleDistribution": {
                  "type": "linear"
                },
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                },
                "thresholdsStyle": {
                  "mode": "off"
                }
              },
              "mappings": [],
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  },
                  {
                    "color": "red",
                    "value": 80
                  }
                ]
              },
              "unit": "none"
            },
            "overrides": [
              {
                "matcher": {
                  "id": "byRegexp",
                  "options": "/gather_time_ns_tmp/"
                },
                "properties": [
                  {
                    "id": "displayName",
                    "value": "/gather_time_ns \\(.*\\)/"
                  }
                ]
              }
            ]
          },
          "gridPos": {
            "h": 9,
            "w": 12,
            "x": 12,
            "y": 5
          },
          "id": 16,
          "interval": "10s",
          "options": {
            "legend": {
              "calcs": [
                "min",
                "mean",
                "max",
                "lastNotNull"
              ],
              "displayMode": "table",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi"
            }
          },
          "targets": [
            {
              "hide": false,
              "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_gather\" and\n    (r._field == \"metrics_gathered\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n  \n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> difference(nonNegative: false, columns: [\"_value\"])\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.input + \"/\" + r.version }))\n",
              "refId": "A"
            }
          ],
          "title": "Metrics gathered per windowPeriod grouped by host/input/version",
          "type": "timeseries"
        }
      ],
      "title": "internal_gather",
      "type": "row"
    },
    {
      "collapsed": false,
      "datasource": null,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 3
      },
      "id": 7,
      "panels": [],
      "title": "internal_write",
      "type": "row"
    },
    {
      "datasource": "${datasource}",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": -1,
            "drawStyle": "line",
            "fillOpacity": 20,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "stepBefore",
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 0,
        "y": 4
      },
      "id": 2,
      "interval": "10s",
      "options": {
        "legend": {
          "calcs": [
            "min",
            "mean",
            "max",
            "lastNotNull"
          ],
          "displayMode": "table",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_write\" and\n    r._field == \"metrics_added\"\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> difference(nonNegative: true, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.output + \"/\" + r.version }))",
          "refId": "A"
        }
      ],
      "title": "Metrics added (diff)",
      "type": "timeseries"
    },
    {
      "datasource": "${datasource}",
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": -1,
            "drawStyle": "line",
            "fillOpacity": 20,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "stepBefore",
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 12,
        "y": 4
      },
      "id": 3,
      "interval": "1m",
      "options": {
        "legend": {
          "calcs": [
            "min",
            "mean",
            "max",
            "lastNotNull",
            "sum"
          ],
          "displayMode": "table",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_write\" and\n    r._field == \"metrics_written\"\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> difference(nonNegative: true, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.output + \"/\" + r.version }))",
          "refId": "A"
        }
      ],
      "timeShift": null,
      "title": "Metrics written (diff)",
      "type": "timeseries"
    },
    {
      "datasource": "${datasource}",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": -1,
            "drawStyle": "line",
            "fillOpacity": 20,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "stepBefore",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 0,
        "y": 13
      },
      "id": 4,
      "options": {
        "legend": {
          "calcs": [
            "min",
            "mean",
            "max",
            "lastNotNull"
          ],
          "displayMode": "table",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_write\" and\n    r._field == \"metrics_filtered\"\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> difference(nonNegative: true, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.output + \"/\" + r.version }))",
          "refId": "A"
        }
      ],
      "title": "Metrics filtered (diff)",
      "type": "timeseries"
    },
    {
      "datasource": "${datasource}",
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "axisSoftMax": 1,
            "axisSoftMin": 0,
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 20,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "stepBefore",
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 12,
        "y": 13
      },
      "id": 5,
      "options": {
        "legend": {
          "calcs": [
            "min",
            "mean",
            "max",
            "lastNotNull",
            "sum"
          ],
          "displayMode": "table",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_write\" and\n    r._field == \"metrics_dropped\"\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: last)\n  |> difference(nonNegative: true, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.output + \"/\" + r.version }))",
          "refId": "A"
        }
      ],
      "title": "Metrics dropped (diff)",
      "type": "timeseries"
    },
    {
      "datasource": "${datasource}",
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "axisSoftMax": 1,
            "axisSoftMin": 0,
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 20,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "stepBefore",
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "displayName": "${__field.name}",
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "ns"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byRegexp",
              "options": "min"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "blue",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byRegexp",
              "options": "mean"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "green",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byRegexp",
              "options": "max"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "red",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 0,
        "y": 22
      },
      "id": 9,
      "interval": "10s",
      "options": {
        "legend": {
          "calcs": [
            "min",
            "mean",
            "max",
            "lastNotNull"
          ],
          "displayMode": "table",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "query": "data=from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_write\" and\n    r._field == \"write_time_ns\"\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\ndata\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  |> map(fn: (r) => (\n      {_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.output + \"/\" + r.version + \" - mean\"}\n    )\n  )\n  |> yield(name: \"mean\")\n\ndata\n  |> aggregateWindow(every: v.windowPeriod, fn: min)\n  |> map(fn: (r) => (\n      {_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.output + \"/\" + r.version + \" - min\"}\n    )\n  )\n  |> yield(name: \"min\")\n\ndata\n  |> aggregateWindow(every: v.windowPeriod, fn: max)\n  |> map(fn: (r) => (\n      {_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.output + \"/\" + r.version + \" - max\"}\n    )\n  )\n  |> yield(name: \"max\")\n",
          "refId": "A"
        },
        {
          "hide": true,
          "query": "data=from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_write\" and\n    r._field == \"write_time_ns\"\n  )\n\n-- data\n--   |> aggregateWindow(every: v.windowPeriod, fn: mean)\n--   |> yield(name: \"mean\")\n\ndata\n  |> aggregateWindow(every: v.windowPeriod, fn: min)\n  |> yield(name: \"min\")\n\n-- data\n--   |> aggregateWindow(every: v.windowPeriod, fn: max)\n--   |> yield(name: \"max\")",
          "refId": "B"
        },
        {
          "hide": true,
          "query": "data=from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_write\" and\n    r._field == \"write_time_ns\"\n  )\n\n-- data\n--   |> aggregateWindow(every: v.windowPeriod, fn: mean)\n--   |> yield(name: \"mean\")\n\n-- data\n--   |> aggregateWindow(every: v.windowPeriod, fn: min)\n--   |> yield(name: \"min\")\n\ndata\n  |> aggregateWindow(every: v.windowPeriod, fn: max)\n  |> yield(name: \"max\")",
          "refId": "C"
        }
      ],
      "title": "Write time",
      "type": "timeseries"
    },
    {
      "datasource": "${datasource}",
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisLabel": "",
            "axisPlacement": "auto",
            "axisSoftMax": 1,
            "axisSoftMin": 0,
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 20,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineInterpolation": "stepBefore",
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": [
          {
            "matcher": {
              "id": "byRegexp",
              "options": "/buffer_limit/"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "red",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.fillOpacity",
                "value": 0
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 12,
        "y": 22
      },
      "id": 8,
      "options": {
        "legend": {
          "calcs": [
            "min",
            "mean",
            "max",
            "lastNotNull"
          ],
          "displayMode": "table",
          "placement": "bottom"
        },
        "tooltip": {
          "mode": "multi"
        }
      },
      "targets": [
        {
          "query": "from(bucket: \"${bucket}\")\n  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)\n  |> filter(fn: (r) =>\n    r._measurement == \"internal_write\" and\n    (r._field == \"buffer_limit\" or r._field == \"buffer_size\")\n  )\n  |> filter(fn: (r) =>\n    contains(value: r[\"host\"], set: ${hosts:json})\n  )\n\n  |> aggregateWindow(every: v.windowPeriod, fn: mean)\n  |> difference(nonNegative: true, columns: [\"_value\"])\n\n  |> map(fn: (r) => ({_value: r._value, _time: r._time, _field: r._field + \" - \" + r.host + \"/\" + r.output + \"/\" + r.version }))",
          "refId": "A"
        }
      ],
      "title": "Buffer",
      "type": "timeseries"
    }
  ],
  "refresh": "5s",
  "schemaVersion": 30,
  "style": "dark",
  "tags": [
    "telegraf",
    "internal"
  ],
  "templating": {
    "list": [
      {
        "current": {
          "selected": false,
          "text": "default",
          "value": "default"
        },
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": "Data source",
        "multi": false,
        "name": "datasource",
        "options": [],
        "query": "influxdb",
        "queryValue": "",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "type": "datasource"
      },
      {
        "allValue": null,
        "current": {},
        "datasource": "${datasource}",
        "definition": "buckets()",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": "Bucket",
        "multi": false,
        "name": "bucket",
        "options": [],
        "query": "buckets()",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 5,
        "type": "query"
      },
      {
        "allValue": null,
        "current": {},
        "datasource": "${datasource}",
        "definition": "import \"influxdata/influxdb/schema\"\n\nschema.tagValues(bucket: \"test-capacity\", tag: \"host\")",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": true,
        "label": null,
        "multi": true,
        "name": "hosts",
        "options": [],
        "query": "import \"influxdata/influxdb/schema\"\n\nschema.tagValues(bucket: \"test-capacity\", tag: \"host\")",
        "refresh": 2,
        "regex": "",
        "skipUrlSync": false,
        "sort": 5,
        "type": "query"
      }
    ]
  },
  "time": {
    "from": "now-1h",
    "to": "now"
  },
  "timepicker": {},
  "timezone": "",
  "title": "Telegraf: Internal",
  "uid": "telegraf-internal-v1",
  "version": 12
}