Grafana dashboard: Chrony NTP clients
Description: CollectD & Chrony dashboard

Chrony dashboard from collectd metrics.

{
  "__inputs": [
    {
      "name": "DS_GRAPHITE",
      "label": "Graphite",
      "description": "",
      "type": "datasource",
      "pluginId": "graphite",
      "pluginName": "Graphite"
    },
    {
      "name": "VAR_PREFIX",
      "type": "constant",
      "label": "prefix",
      "value": "collectd",
      "description": ""
    }
  ],
  "__requires": [
    {
      "type": "grafana",
      "id": "grafana",
      "name": "Grafana",
      "version": "8.2.3"
    },
    {
      "type": "panel",
      "id": "graph",
      "name": "Graph (old)",
      "version": ""
    },
    {
      "type": "datasource",
      "id": "graphite",
      "name": "Graphite",
      "version": "1.0.0"
    },
    {
      "type": "panel",
      "id": "heatmap",
      "name": "Heatmap",
      "version": ""
    },
    {
      "type": "panel",
      "id": "stat",
      "name": "Stat",
      "version": ""
    },
    {
      "type": "panel",
      "id": "table",
      "name": "Table",
      "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": "CollectD & Chrony dashboard",
  "editable": true,
  "fiscalYearStartMonth": 0,
  "gnetId": 15767,
  "graphTooltip": 1,
  "id": null,
  "iteration": 1645025942940,
  "links": [],
  "liveNow": false,
  "panels": [
    {
      "datasource": null,
      "fieldConfig": {
        "defaults": {},
        "overrides": []
      },
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 0
      },
      "id": 86,
      "title": "Summaries (last values)",
      "type": "row"
    },
    {
      "datasource": null,
      "description": "The accuracy is define from RMS offset, below 10us is considerate accurate.\n\n",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 0.00001
              }
            ]
          },
          "unit": "none"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byType",
              "options": "number"
            },
            "properties": [
              {
                "id": "mappings",
                "value": [
                  {
                    "options": {
                      "from": 0.000011,
                      "result": {
                        "text": "Inaccurate"
                      },
                      "to": 50
                    },
                    "type": "range"
                  },
                  {
                    "options": {
                      "from": 0,
                      "result": {
                        "text": "Accurate"
                      },
                      "to": 0.00001
                    },
                    "type": "range"
                  }
                ]
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 0,
        "y": 1
      },
      "id": 91,
      "options": {
        "colorMode": "background",
        "graphMode": "none",
        "justifyMode": "center",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "value_and_name"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "hide": false,
          "refCount": -1,
          "refId": "A",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.time_offset_rms-chrony, INF), 1)"
        },
        {
          "hide": true,
          "refCount": -1,
          "refId": "B",
          "target": "keepLastValue(collectd.$server.chrony.time_offset_ntp-chrony, INF)"
        },
        {
          "hide": true,
          "refCount": 0,
          "refId": "C",
          "target": "sum(#A, #B)",
          "targetFull": "sum(aliasByNode(keepLastValue(collectd.$server.chrony.time_offset_rms-chrony, INF), 1), keepLastValue(collectd.$server.chrony.time_offset_ntp-chrony, INF))"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "STATUS",
      "transformations": [
        {
          "id": "calculateField",
          "options": {
            "mode": "binary",
            "reduce": {
              "reducer": "lastNotNull"
            }
          }
        }
      ],
      "type": "stat"
    },
    {
      "datasource": null,
      "description": "Estimated offset of the NTP time",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 0.00001
              }
            ]
          },
          "unit": "s"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 3,
        "x": 2,
        "y": 1
      },
      "id": 92,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.time_offset-chrony, INF), 1)"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Chrony offset",
      "type": "stat"
    },
    {
      "datasource": null,
      "description": "Offset between system time and NTP",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 0.00001
              }
            ]
          },
          "unit": "s"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 3,
        "x": 5,
        "y": 1
      },
      "id": 93,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.time_offset_ntp-chrony, INF), 1)"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "NTP offset",
      "type": "stat"
    },
    {
      "datasource": null,
      "description": "This is a long-term average of the NTP offset value.\n\nRMS = (NTP+Chrony)/2\n",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 0.00001
              }
            ]
          },
          "unit": "s"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 3,
        "x": 8,
        "y": 1
      },
      "id": 115,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.time_offset_rms-chrony, INF), 1)"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "RMS offset",
      "type": "stat"
    },
    {
      "datasource": null,
      "description": "Network delay between server and stratum 1.\n\nCorresponds to total network path delays to the stratum-1 computer from which the computer is ultimately synchronised.",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "#EAB839",
                "value": 0.0005
              },
              {
                "color": "red",
                "value": 0.001
              }
            ]
          },
          "unit": "s"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 3,
        "x": 11,
        "y": 1
      },
      "id": 89,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.root_delay-chrony, INF), 1)"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Root delay",
      "type": "stat"
    },
    {
      "datasource": null,
      "description": "This is the total dispersion accumulated through all the computers back to the stratum-1 computer from which the computer is ultimately synchronised. Dispersion is due to system clock resolution, statistical measurement variations, etc.\n An absolute bound on the computer’s clock accuracy (assuming the stratum-1 computer is correct) is given by:\n\n    clock_error <= |system_time_offset| + root_dispersion + (0.5 * root_delay)\n\n",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "#EAB839",
                "value": 0.0005
              },
              {
                "color": "red",
                "value": 0.001
              }
            ]
          },
          "unit": "s"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 3,
        "x": 14,
        "y": 1
      },
      "id": 90,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.root_dispersion-chrony, INF), 1)"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Root dispersion",
      "type": "stat"
    },
    {
      "datasource": null,
      "description": "This is the interval between the last two clock updates.",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 15
              }
            ]
          },
          "unit": "s"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 3,
        "x": 17,
        "y": 1
      },
      "id": 84,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.clock_last_update-chrony, INF), 1)"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Update interval",
      "type": "stat"
    },
    {
      "datasource": null,
      "description": "The current stratum for this host",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 20,
        "y": 1
      },
      "id": 79,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasByNode(collectd.$server.chrony.clock_stratum-chrony, 1)"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Stratum",
      "type": "stat"
    },
    {
      "datasource": null,
      "description": "\n\nThis is the time (UTC) at which the last measurement from the reference source was processed.\n",
      "fieldConfig": {
        "defaults": {
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "super-light-blue",
                "value": null
              }
            ]
          },
          "unit": "s"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 22,
        "y": 1
      },
      "id": 94,
      "options": {
        "colorMode": "value",
        "graphMode": "none",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "text": {},
        "textMode": "auto"
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasByNode(collectd.$server.chrony.time_ref-chrony, 1)"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Ref. time",
      "type": "stat"
    },
    {
      "collapsed": false,
      "datasource": null,
      "fieldConfig": {
        "defaults": {},
        "overrides": []
      },
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 4
      },
      "id": 97,
      "panels": [],
      "title": "Offsets",
      "type": "row"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "Estimated Offset of the NTP time",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "s"
        },
        "overrides": []
      },
      "fill": 4,
      "fillGradient": 3,
      "gridPos": {
        "h": 9,
        "w": 6,
        "x": 0,
        "y": 5
      },
      "hiddenSeries": false,
      "id": 95,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "hideEmpty": false,
        "max": true,
        "min": true,
        "rightSide": false,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": false
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 2,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": true,
      "targets": [
        {
          "refCount": 0,
          "refId": "C",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.time_offset-chrony, INF), 1)",
          "textEditor": false
        }
      ],
      "thresholds": [
        {
          "$$hashKey": "object:255",
          "colorMode": "critical",
          "fill": true,
          "fillColor": "#FFCB7D",
          "line": false,
          "lineColor": "rgba(31, 96, 196, 0.6)",
          "op": "gt",
          "value": 0.00001,
          "yaxis": "left"
        },
        {
          "$$hashKey": "object:261",
          "colorMode": "critical",
          "fill": true,
          "line": false,
          "op": "lt",
          "value": -0.00001,
          "yaxis": "left"
        }
      ],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Chrony offset",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:581",
          "decimals": null,
          "format": "s",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:582",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "Offset between system time and NTP",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "s"
        },
        "overrides": []
      },
      "fill": 4,
      "fillGradient": 3,
      "gridPos": {
        "h": 9,
        "w": 6,
        "x": 6,
        "y": 5
      },
      "hiddenSeries": false,
      "id": 102,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "hideEmpty": false,
        "max": true,
        "min": true,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 2,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": true,
      "targets": [
        {
          "refCount": 0,
          "refId": "C",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.time_offset_ntp-chrony, INF), 1)",
          "textEditor": false
        }
      ],
      "thresholds": [
        {
          "$$hashKey": "object:430",
          "colorMode": "critical",
          "fill": true,
          "line": false,
          "op": "gt",
          "value": 0.00001,
          "yaxis": "left"
        },
        {
          "$$hashKey": "object:436",
          "colorMode": "critical",
          "fill": true,
          "line": false,
          "op": "lt",
          "value": -0.00001,
          "yaxis": "left"
        }
      ],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "NTP offset",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:660",
          "decimals": null,
          "format": "s",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:661",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "This is a long-term average of the offset value.",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "s"
        },
        "overrides": []
      },
      "fill": 4,
      "fillGradient": 3,
      "gridPos": {
        "h": 9,
        "w": 6,
        "x": 12,
        "y": 5
      },
      "hiddenSeries": false,
      "id": 101,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "hideEmpty": false,
        "max": true,
        "min": true,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 2,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": true,
      "targets": [
        {
          "refCount": 0,
          "refId": "C",
          "target": "aliasByNode(keepLastValue(collectd.$server.chrony.time_offset_rms-chrony, INF), 1)",
          "textEditor": false
        }
      ],
      "thresholds": [
        {
          "$$hashKey": "object:687",
          "colorMode": "critical",
          "fill": true,
          "line": false,
          "op": "gt",
          "value": 0.00001,
          "yaxis": "left"
        }
      ],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "RMS offset",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:316",
          "decimals": null,
          "format": "s",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:317",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "Estimated Offset of the NTP time,",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "s"
        },
        "overrides": []
      },
      "fill": 4,
      "fillGradient": 3,
      "gridPos": {
        "h": 9,
        "w": 6,
        "x": 18,
        "y": 5
      },
      "hiddenSeries": false,
      "id": 100,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "hideEmpty": false,
        "max": true,
        "min": true,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 2,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": true,
      "targets": [
        {
          "hide": false,
          "refCount": 0,
          "refId": "C",
          "target": "aliasSub(aliasSub(aliasByNode(exclude(exclude(exclude(collectd.$server.chrony.time_offset*, 'time_offset-chrony'), 'time_offset_'), 'time_offset-_U'), 1, 3), '.time_offset-', '  - Source : '), '_', '.')",
          "textEditor": false
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Sources offset",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:810",
          "decimals": null,
          "format": "s",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:811",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "collapsed": false,
      "datasource": null,
      "fieldConfig": {
        "defaults": {},
        "overrides": []
      },
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 14
      },
      "id": 77,
      "panels": [],
      "title": "Sources reachability",
      "type": "row"
    },
    {
      "datasource": null,
      "description": "This shows the source’s reach register printed as an octal number. The register has 8 bits and is updated on every received or missed packet from the source. A value of 377 indicates that a valid reply was received for all of the last eight transmissions.\n## Green = OK\n## Red = NOT OK\n\n!! Display in decimal with grafana so 255 == 377",
      "fieldConfig": {
        "defaults": {
          "custom": {
            "align": "left",
            "displayMode": "auto",
            "filterable": false
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "red",
                "value": null
              },
              {
                "color": "green",
                "value": 255
              }
            ]
          },
          "unit": "none"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byType",
              "options": "number"
            },
            "properties": [
              {
                "id": "custom.displayMode",
                "value": "color-text"
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Hosts - Sources IP"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 257
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Host - Source"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 231
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Decimal"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 90
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 10,
        "w": 4,
        "x": 0,
        "y": 15
      },
      "id": 111,
      "options": {
        "showHeader": true,
        "sortBy": []
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasSub(aliasSub(aliasByNode(collectd.$server.chrony.clock_reachability*, 1, 3), '.clock_reachability-', ' -> '), '_', '.')",
          "textEditor": false
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Sources reachability (last)",
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {},
            "indexByName": {},
            "renameByName": {
              "Field": "Hosts - Sources IP",
              "Last (not null)": "Decimal"
            }
          }
        },
        {
          "id": "calculateField",
          "options": {
            "mode": "binary",
            "reduce": {
              "reducer": "lastNotNull"
            }
          }
        },
        {
          "id": "reduce",
          "options": {
            "reducers": [
              "lastNotNull"
            ]
          }
        },
        {
          "id": "organize",
          "options": {
            "excludeByName": {},
            "indexByName": {},
            "renameByName": {
              "Field": "Host - Source",
              "Last (not null)": "Decimal",
              "Max": "Decimal"
            }
          }
        }
      ],
      "type": "table"
    },
    {
      "cards": {
        "cardPadding": null,
        "cardRound": null
      },
      "color": {
        "cardColor": "#b4ff00",
        "colorScale": "sqrt",
        "colorScheme": "interpolateRdYlGn",
        "exponent": 0.5,
        "max": 254,
        "min": 255,
        "mode": "spectrum"
      },
      "dataFormat": "tsbuckets",
      "datasource": null,
      "description": "This shows the source’s reach register printed as an octal number. The register has 8 bits and is updated on every received or missed packet from the source. A value of 377 indicates that a valid reply was received for all of the last eight transmissions.\n## Green = OK\n## Red = NOT OK\n!! Display in decimal with grafana so 255 == 377\n",
      "gridPos": {
        "h": 10,
        "w": 8,
        "x": 4,
        "y": 15
      },
      "heatmap": {},
      "hideZeroBuckets": false,
      "highlightCards": true,
      "id": 82,
      "legend": {
        "show": false
      },
      "pluginVersion": "7.2.0",
      "reverseYBuckets": false,
      "targets": [
        {
          "refId": "A",
          "target": "aliasSub(aliasSub(aliasByNode(keepLastValue(collectd.$server.chrony.clock_reachability*, INF), 1, 3), '.clock_reachability-', ' IP: '), '_', '.')"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Sources reachability",
      "tooltip": {
        "show": true,
        "showHistogram": false
      },
      "type": "heatmap",
      "xAxis": {
        "show": true
      },
      "xBucketNumber": null,
      "xBucketSize": null,
      "yAxis": {
        "decimals": null,
        "format": "none",
        "logBase": 1,
        "max": null,
        "min": null,
        "show": true,
        "splitFactor": null
      },
      "yBucketBound": "middle",
      "yBucketNumber": null,
      "yBucketSize": null
    },
    {
      "datasource": null,
      "description": "This is the estimated error bound on the frequency.\n\n\nTypical values for skew-in-ppm might be 100 for a dial-up connection to servers over a phone line, and 5 or 10 for a computer on a LAN.\n",
      "fieldConfig": {
        "defaults": {
          "custom": {
            "align": "left",
            "displayMode": "auto",
            "filterable": false,
            "width": 200
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "#EAB839",
                "value": 1
              },
              {
                "color": "red",
                "value": 5
              }
            ]
          },
          "unit": "ppm"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byType",
              "options": "number"
            },
            "properties": [
              {
                "id": "custom.displayMode",
                "value": "color-text"
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Skew"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 121
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "Hosts - Sources IP"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 208
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 10,
        "w": 4,
        "x": 12,
        "y": 15
      },
      "id": 112,
      "options": {
        "showHeader": true,
        "sortBy": []
      },
      "pluginVersion": "8.2.3",
      "targets": [
        {
          "refId": "A",
          "target": "aliasSub(aliasSub(aliasByNode(collectd.$server.chrony.clock_skew_ppm*, 1, 3), '.clock.*ppm-', ' -> '), '_', '.')"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Sources skew (last)",
      "transformations": [
        {
          "id": "calculateField",
          "options": {
            "mode": "binary",
            "reduce": {
              "reducer": "sum"
            }
          }
        },
        {
          "id": "reduce",
          "options": {
            "reducers": [
              "lastNotNull"
            ]
          }
        },
        {
          "id": "organize",
          "options": {
            "excludeByName": {},
            "indexByName": {},
            "renameByName": {
              "Field": "Hosts - Sources IP",
              "Last (not null)": "Skew"
            }
          }
        }
      ],
      "type": "table"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "This is the estimated error bound on the frequency.\n\nTypical values for skew-in-ppm might be 100 for a dial-up connection to servers over a phone line, and 5 or 10 for a computer on a LAN.\n",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "ppm"
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 1,
      "gridPos": {
        "h": 10,
        "w": 8,
        "x": 16,
        "y": 15
      },
      "hiddenSeries": false,
      "id": 105,
      "legend": {
        "avg": false,
        "current": false,
        "hideEmpty": false,
        "max": false,
        "min": false,
        "show": false,
        "total": false,
        "values": false
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 2,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "refCount": 0,
          "refId": "C",
          "target": "aliasSub(aliasSub(aliasByNode(collectd.$server.chrony.clock_skew_ppm*, 1, 3), '.clock.*-', ' IP: '), '_', '.')",
          "textEditor": false
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Sources skew ppm",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:1027",
          "decimals": null,
          "format": "ppm",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:1028",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "collapsed": false,
      "datasource": null,
      "fieldConfig": {
        "defaults": {},
        "overrides": []
      },
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 25
      },
      "id": 110,
      "panels": [],
      "title": "Delay",
      "type": "row"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "This is the total of the network path delays to the stratum-1 computer from which the computer is ultimately synchronised.",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "s"
        },
        "overrides": []
      },
      "fill": 4,
      "fillGradient": 3,
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 0,
        "y": 26
      },
      "hiddenSeries": false,
      "id": 107,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "hideEmpty": false,
        "max": true,
        "min": true,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": false
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 1,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": true,
      "targets": [
        {
          "refCount": 0,
          "refId": "C",
          "target": "aliasByNode(collectd.$server.chrony.root_delay-chrony, 1)",
          "textEditor": false
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Root delay",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:958",
          "decimals": null,
          "format": "s",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": "0",
          "show": true
        },
        {
          "$$hashKey": "object:959",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "This is the total dispersion accumulated through all the computers back to the stratum-1 computer from which the computer is ultimately synchronised. Dispersion is due to system clock resolution, statistical measurement variations, etc. An absolute bound on the computer’s clock accuracy (assuming the stratum-1 computer is correct) is given by:\n\nclock_error <= |system_time_offset| + root_dispersion + (0.5 * root_delay)",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "s"
        },
        "overrides": []
      },
      "fill": 4,
      "fillGradient": 3,
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 12,
        "y": 26
      },
      "hiddenSeries": false,
      "id": 108,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "hideEmpty": false,
        "max": true,
        "min": true,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 2,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": true,
      "targets": [
        {
          "refCount": 0,
          "refId": "C",
          "target": "aliasByNode(collectd.$server.chrony.root_dispersion-chrony, 1)",
          "textEditor": false
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Root dispersion",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:884",
          "decimals": null,
          "format": "s",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:885",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "collapsed": false,
      "datasource": null,
      "fieldConfig": {
        "defaults": {},
        "overrides": []
      },
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 35
      },
      "id": 114,
      "panels": [],
      "title": "Others",
      "type": "row"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "Sources frequency error\n\nThe ‘frequency’ is the rate by which the system’s clock would be wrong if chronyd was not correcting it. It is expressed in ppm (parts per million). For example, a value of 1 ppm would mean that when the system’s clock thinks it has advanced 1 second, it has actually advanced by 1.000001 seconds relative to true time.",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "ppm"
        },
        "overrides": []
      },
      "fill": 5,
      "fillGradient": 3,
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 0,
        "y": 36
      },
      "hiddenSeries": false,
      "id": 106,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "hideEmpty": false,
        "max": true,
        "min": true,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 2,
      "points": false,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": true,
      "targets": [
        {
          "refCount": 0,
          "refId": "C",
          "target": "aliasSub(aliasSub(aliasByNode(exclude(exclude(collectd.$server.chrony.frequency_error*, 'UNSPEC'), 'error-chrony'), 1, 3), '.frequency_error-', ' - Source: '), '_', '.')",
          "textEditor": false
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Sources frequency error",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:504",
          "decimals": null,
          "format": "ppm",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:505",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "datasource": "${DS_GRAPHITE}",
      "description": "Time since last sample",
      "fieldConfig": {
        "defaults": {
          "links": [],
          "unit": "s"
        },
        "overrides": []
      },
      "fill": 1,
      "fillGradient": 1,
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 12,
        "y": 36
      },
      "hiddenSeries": false,
      "id": 104,
      "legend": {
        "alignAsTable": true,
        "avg": true,
        "current": false,
        "hideEmpty": false,
        "max": true,
        "min": true,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": false,
      "linewidth": 1,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {
        "alertThreshold": true
      },
      "percentage": false,
      "pluginVersion": "8.2.3",
      "pointradius": 3,
      "points": true,
      "renderer": "flot",
      "seriesOverrides": [],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "refCount": 0,
          "refId": "C",
          "target": "aliasSub(aliasByNode(collectd.$server.chrony.clock_last_meas*, 1, 3), '.clock_last_meas-', ' - Source : ')",
          "textEditor": false
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "Last measurement",
      "tooltip": {
        "shared": true,
        "sort": 2,
        "value_type": "individual"
      },
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "$$hashKey": "object:429",
          "decimals": null,
          "format": "s",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "$$hashKey": "object:430",
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    }
  ],
  "refresh": "5m",
  "schemaVersion": 31,
  "style": "dark",
  "tags": [
    "collectd",
    "sre",
    "infrastructure",
    "ntp",
    "unix"
  ],
  "templating": {
    "list": [
      {
        "allFormat": "glob",
        "datasource": null,
        "description": null,
        "error": null,
        "hide": 2,
        "includeAll": false,
        "label": "",
        "multi": false,
        "multiFormat": "glob",
        "name": "prefix",
        "query": "${VAR_PREFIX}",
        "refresh": 0,
        "refresh_on_load": false,
        "skipUrlSync": false,
        "type": "constant",
        "current": {
          "value": "${VAR_PREFIX}",
          "text": "${VAR_PREFIX}",
          "selected": false
        },
        "options": [
          {
            "value": "${VAR_PREFIX}",
            "text": "${VAR_PREFIX}",
            "selected": false
          }
        ]
      },
      {
        "allFormat": "glob",
        "allValue": null,
        "current": {},
        "datasource": "${DS_GRAPHITE}",
        "definition": "",
        "description": null,
        "error": null,
        "hide": 0,
        "includeAll": false,
        "label": null,
        "multi": true,
        "multiFormat": "glob",
        "name": "server",
        "options": [],
        "query": "$prefix.*",
        "refresh": 1,
        "refresh_on_load": false,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": null,
        "tagsQuery": null,
        "type": "query",
        "useTags": false
      }
    ]
  },
  "time": {
    "from": "now-2d",
    "to": "now"
  },
  "timepicker": {
    "now": true,
    "refresh_intervals": [
      "5s",
      "10s",
      "30s",
      "1m",
      "5m",
      "15m",
      "30m",
      "1h",
      "2h",
      "1d"
    ],
    "time_options": [
      "5m",
      "15m",
      "1h",
      "6h",
      "12h",
      "24h",
      "2d",
      "7d",
      "30d"
    ]
  },
  "timezone": "browser",
  "title": "Chrony NTP clients",
  "uid": "0000006012",
  "version": 67
}