mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 10:18:39 +00:00
1272 lines
31 KiB
JSON
1272 lines
31 KiB
JSON
{
|
|
"annotations": {
|
|
"list": [
|
|
{
|
|
"builtIn": 1,
|
|
"datasource": "-- Grafana --",
|
|
"enable": true,
|
|
"hide": true,
|
|
"iconColor": "rgba(0, 211, 255, 1)",
|
|
"name": "Annotations & Alerts",
|
|
"type": "dashboard"
|
|
}
|
|
]
|
|
},
|
|
"description": "Dashboard for chrony or OpenNTPD.",
|
|
"editable": false,
|
|
"gnetId": 7496,
|
|
"graphTooltip": 0,
|
|
"iteration": 1557844573805,
|
|
"links": [],
|
|
"panels": [
|
|
{
|
|
"cacheTimeout": null,
|
|
"colorBackground": false,
|
|
"colorValue": true,
|
|
"colors": [
|
|
"#299c46",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"#d44a3a"
|
|
],
|
|
"datasource": "$ds_prometheus",
|
|
"format": "short",
|
|
"gauge": {
|
|
"maxValue": 100,
|
|
"minValue": 0,
|
|
"show": false,
|
|
"thresholdLabels": false,
|
|
"thresholdMarkers": true
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"id": 21,
|
|
"interval": null,
|
|
"links": [],
|
|
"mappingType": 1,
|
|
"mappingTypes": [
|
|
{
|
|
"name": "value to text",
|
|
"value": 1
|
|
},
|
|
{
|
|
"name": "range to text",
|
|
"value": 2
|
|
}
|
|
],
|
|
"maxDataPoints": 100,
|
|
"nullPointMode": "connected",
|
|
"nullText": null,
|
|
"postfix": "",
|
|
"postfixFontSize": "50%",
|
|
"prefix": "",
|
|
"prefixFontSize": "50%",
|
|
"rangeMaps": [
|
|
{
|
|
"from": "null",
|
|
"text": "N/A",
|
|
"to": "null"
|
|
}
|
|
],
|
|
"sparkline": {
|
|
"fillColor": "rgba(31, 118, 189, 0.18)",
|
|
"full": false,
|
|
"lineColor": "rgb(31, 120, 193)",
|
|
"show": false
|
|
},
|
|
"tableColumn": "",
|
|
"targets": [
|
|
{
|
|
"expr": "count (node_timex_sync_status{node=~\"$node\"}==0)\nor vector(0)",
|
|
"format": "time_series",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"thresholds": "1,1",
|
|
"title": "Unsynced clocks",
|
|
"type": "singlestat",
|
|
"valueFontSize": "80%",
|
|
"valueMaps": [],
|
|
"valueName": "current"
|
|
},
|
|
{
|
|
"cacheTimeout": null,
|
|
"colorBackground": false,
|
|
"colorPrefix": false,
|
|
"colorValue": true,
|
|
"colors": [
|
|
"#299c46",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"#d44a3a"
|
|
],
|
|
"datasource": "$ds_prometheus",
|
|
"description": "Aggregate NTPD health including stratum, leap flag, sane freshness, root distance being less than collector.ntp.max-distance and causality violation being less than collector.ntp.local-offset-tolerance.\n\nCausality violation is lower bound estimate of clock error done using SNTP, it's calculated as positive portion of abs(node_ntp_offset) - node_ntp_rtt / 2.",
|
|
"format": "none",
|
|
"gauge": {
|
|
"maxValue": 15,
|
|
"minValue": 0,
|
|
"show": false,
|
|
"thresholdLabels": true,
|
|
"thresholdMarkers": true
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 0
|
|
},
|
|
"id": 11,
|
|
"interval": null,
|
|
"links": [],
|
|
"mappingType": 1,
|
|
"mappingTypes": [
|
|
{
|
|
"name": "value to text",
|
|
"value": 1
|
|
},
|
|
{
|
|
"name": "range to text",
|
|
"value": 2
|
|
}
|
|
],
|
|
"maxDataPoints": 100,
|
|
"nullPointMode": "connected",
|
|
"nullText": null,
|
|
"postfix": "",
|
|
"postfixFontSize": "50%",
|
|
"prefix": "",
|
|
"prefixFontSize": "50%",
|
|
"rangeMaps": [
|
|
{
|
|
"from": "null",
|
|
"text": "N/A",
|
|
"to": "null"
|
|
}
|
|
],
|
|
"sparkline": {
|
|
"fillColor": "rgba(31, 118, 189, 0.18)",
|
|
"full": true,
|
|
"lineColor": "rgb(31, 120, 193)",
|
|
"show": false
|
|
},
|
|
"tableColumn": "key",
|
|
"targets": [
|
|
{
|
|
"alias": "Reference ID",
|
|
"expr": "count (node_ntp_sanity{node=~\"$node\"}==0)\nor vector(0)",
|
|
"format": "time_series",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"hide": false,
|
|
"instant": false,
|
|
"intervalFactor": 1,
|
|
"measurement": "chrony",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"query": "SELECT \"reference_id\" FROM (SELECT \"reference_id\", \"system_time\" FROM \"chrony\" WHERE $timeFilter)",
|
|
"rawQuery": true,
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"stratum"
|
|
],
|
|
"type": "field"
|
|
}
|
|
]
|
|
],
|
|
"tags": []
|
|
}
|
|
],
|
|
"thresholds": "1,1",
|
|
"title": "Insane nodes",
|
|
"type": "singlestat",
|
|
"valueFontSize": "100%",
|
|
"valueMaps": [],
|
|
"valueName": "current"
|
|
},
|
|
{
|
|
"cacheTimeout": null,
|
|
"colorBackground": false,
|
|
"colorValue": true,
|
|
"colors": [
|
|
"#299c46",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"#d44a3a"
|
|
],
|
|
"datasource": "$ds_prometheus",
|
|
"description": "The stratum indicates how many hops away from a computer with an attached reference clock we are. Such a computer is a stratum-1 computer, so the computer in the example is two hops away (i.e. foo.example.net is a stratum-2 and is synchronised from a stratum-1)",
|
|
"format": "none",
|
|
"gauge": {
|
|
"maxValue": 15,
|
|
"minValue": 0,
|
|
"show": false,
|
|
"thresholdLabels": true,
|
|
"thresholdMarkers": true
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 0
|
|
},
|
|
"id": 8,
|
|
"interval": null,
|
|
"links": [],
|
|
"mappingType": 1,
|
|
"mappingTypes": [
|
|
{
|
|
"name": "value to text",
|
|
"value": 1
|
|
},
|
|
{
|
|
"name": "range to text",
|
|
"value": 2
|
|
}
|
|
],
|
|
"maxDataPoints": 100,
|
|
"nullPointMode": "connected",
|
|
"nullText": null,
|
|
"postfix": "",
|
|
"postfixFontSize": "50%",
|
|
"prefix": "",
|
|
"prefixFontSize": "50%",
|
|
"rangeMaps": [
|
|
{
|
|
"from": "null",
|
|
"text": "N/A",
|
|
"to": "null"
|
|
}
|
|
],
|
|
"sparkline": {
|
|
"fillColor": "rgba(31, 118, 189, 0.18)",
|
|
"full": false,
|
|
"lineColor": "rgb(31, 120, 193)",
|
|
"show": false
|
|
},
|
|
"tableColumn": "__name__",
|
|
"targets": [
|
|
{
|
|
"alias": "Stratum",
|
|
"expr": "count (node_ntp_stratum{node=~\"$node\"}==16)\nor vector(0)",
|
|
"format": "time_series",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"hide": false,
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"measurement": "chrony",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"query": "SELECT \"stratum\" FROM (SELECT \"stratum\", \"system_time\" FROM \"chrony\" WHERE $timeFilter)",
|
|
"rawQuery": true,
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"stratum"
|
|
],
|
|
"type": "field"
|
|
}
|
|
]
|
|
],
|
|
"tags": []
|
|
}
|
|
],
|
|
"thresholds": "16,16",
|
|
"title": "Stratum 16 nodes",
|
|
"type": "singlestat",
|
|
"valueFontSize": "100%",
|
|
"valueMaps": [],
|
|
"valueName": "current"
|
|
},
|
|
{
|
|
"columns": [],
|
|
"datasource": "$ds_prometheus",
|
|
"fontSize": "100%",
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 3
|
|
},
|
|
"id": 24,
|
|
"links": [],
|
|
"pageSize": null,
|
|
"scroll": true,
|
|
"showHeader": true,
|
|
"sort": {
|
|
"col": 3,
|
|
"desc": true
|
|
},
|
|
"styles": [
|
|
{
|
|
"alias": "Time",
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"pattern": "Time",
|
|
"type": "hidden"
|
|
},
|
|
{
|
|
"alias": "Node",
|
|
"colorMode": null,
|
|
"colors": [
|
|
"rgba(245, 54, 54, 0.9)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(50, 172, 45, 0.97)"
|
|
],
|
|
"decimals": 2,
|
|
"mappingType": 1,
|
|
"pattern": "node",
|
|
"thresholds": [],
|
|
"type": "string",
|
|
"unit": "short"
|
|
},
|
|
{
|
|
"alias": "Sync status",
|
|
"colorMode": "value",
|
|
"colors": [
|
|
"rgba(245, 54, 54, 0.9)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(50, 172, 45, 0.97)"
|
|
],
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"decimals": 0,
|
|
"link": false,
|
|
"mappingType": 1,
|
|
"pattern": "Value #A",
|
|
"thresholds": [
|
|
"1",
|
|
"1"
|
|
],
|
|
"type": "number",
|
|
"unit": "short"
|
|
},
|
|
{
|
|
"alias": "Sanity",
|
|
"colorMode": "value",
|
|
"colors": [
|
|
"rgba(245, 54, 54, 0.9)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(50, 172, 45, 0.97)"
|
|
],
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"decimals": 0,
|
|
"mappingType": 1,
|
|
"pattern": "Value #B",
|
|
"thresholds": [
|
|
"1",
|
|
"1"
|
|
],
|
|
"type": "number",
|
|
"unit": "short",
|
|
"valueMaps": [
|
|
{
|
|
"text": "",
|
|
"value": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"alias": "Stratum",
|
|
"colorMode": null,
|
|
"colors": [
|
|
"rgba(50, 172, 45, 0.97)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(245, 54, 54, 0.9)"
|
|
],
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"decimals": 0,
|
|
"mappingType": 1,
|
|
"pattern": "Value #C",
|
|
"thresholds": [
|
|
"0",
|
|
"16"
|
|
],
|
|
"type": "number",
|
|
"unit": "short"
|
|
},
|
|
{
|
|
"alias": "Offset",
|
|
"colorMode": null,
|
|
"colors": [
|
|
"rgba(245, 54, 54, 0.9)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(50, 172, 45, 0.97)"
|
|
],
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"decimals": 2,
|
|
"mappingType": 1,
|
|
"pattern": "Value #D",
|
|
"thresholds": [],
|
|
"type": "number",
|
|
"unit": "s"
|
|
},
|
|
{
|
|
"alias": "RTT",
|
|
"colorMode": null,
|
|
"colors": [
|
|
"rgba(245, 54, 54, 0.9)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(50, 172, 45, 0.97)"
|
|
],
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"decimals": 2,
|
|
"mappingType": 1,
|
|
"pattern": "Value #E",
|
|
"thresholds": [],
|
|
"type": "number",
|
|
"unit": "s"
|
|
},
|
|
{
|
|
"alias": "Root dispersion",
|
|
"colorMode": null,
|
|
"colors": [
|
|
"rgba(245, 54, 54, 0.9)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(50, 172, 45, 0.97)"
|
|
],
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"decimals": 2,
|
|
"mappingType": 1,
|
|
"pattern": "Value #F",
|
|
"thresholds": [],
|
|
"type": "number",
|
|
"unit": "s"
|
|
},
|
|
{
|
|
"alias": "Root delay",
|
|
"colorMode": null,
|
|
"colors": [
|
|
"rgba(245, 54, 54, 0.9)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(50, 172, 45, 0.97)"
|
|
],
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"decimals": 2,
|
|
"mappingType": 1,
|
|
"pattern": "Value #G",
|
|
"thresholds": [],
|
|
"type": "number",
|
|
"unit": "s"
|
|
},
|
|
{
|
|
"alias": "Last clock adj",
|
|
"colorMode": null,
|
|
"colors": [
|
|
"rgba(245, 54, 54, 0.9)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(50, 172, 45, 0.97)"
|
|
],
|
|
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
|
"decimals": 2,
|
|
"mappingType": 1,
|
|
"pattern": "Value #H",
|
|
"thresholds": [],
|
|
"type": "number",
|
|
"unit": "s"
|
|
}
|
|
],
|
|
"targets": [
|
|
{
|
|
"expr": "max by (node) (min_over_time(node_timex_sync_status{node=~\"$node\"}[$__range]))",
|
|
"format": "table",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "Sync status",
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"expr": "max by (node) (min_over_time(node_ntp_sanity{node=~\"$node\"}[$__range]))",
|
|
"format": "table",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "Sanity",
|
|
"refId": "B"
|
|
},
|
|
{
|
|
"expr": "max by (node) (max_over_time(node_ntp_stratum{node=~\"$node\"}[$__range]))",
|
|
"format": "table",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "Stratum",
|
|
"refId": "C"
|
|
},
|
|
{
|
|
"expr": "max by (node) (max_over_time(node_ntp_offset_seconds:abs{node=~\"$node\"}[$__range]))",
|
|
"format": "table",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "Offset",
|
|
"refId": "D"
|
|
},
|
|
{
|
|
"expr": "max by (node) (max_over_time(node_ntp_rtt_seconds{node=~\"$node\"}[$__range]))",
|
|
"format": "table",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "RTT",
|
|
"refId": "E"
|
|
},
|
|
{
|
|
"expr": "max by (node) (max_over_time(node_ntp_root_dispersion_seconds{node=~\"$node\"}[$__range]))",
|
|
"format": "table",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "Root dispersion",
|
|
"refId": "F"
|
|
},
|
|
{
|
|
"expr": "max by (node) (max_over_time(node_ntp_root_delay_seconds{node=~\"$node\"}[$__range]))",
|
|
"format": "table",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "Root delay",
|
|
"refId": "G"
|
|
},
|
|
{
|
|
"expr": "max by (node) (node_time_seconds{node=~\"$node\"} - node_ntp_reference_timestamp_seconds{node=~\"$node\"})",
|
|
"format": "table",
|
|
"instant": true,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "Last click adjustment",
|
|
"refId": "H"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Panel Title",
|
|
"transform": "table",
|
|
"type": "table"
|
|
},
|
|
{
|
|
"aliasColors": {
|
|
"Frequency": "#70dbed",
|
|
"Residual Frequency": "#eab839",
|
|
"Skew (estimated error bound on the frequency)": "#962d82",
|
|
"Skew (estimated error)": "rgb(168, 48, 28)"
|
|
},
|
|
"bars": false,
|
|
"dashLength": 10,
|
|
"dashes": false,
|
|
"datasource": "$ds_prometheus",
|
|
"decimals": 3,
|
|
"description": "RTT (round-trip time) from node_exporter collector to local NTPD. This value is used in sanity check as part of causality violation estimate.",
|
|
"fill": 1,
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 11
|
|
},
|
|
"id": 2,
|
|
"legend": {
|
|
"alignAsTable": true,
|
|
"avg": true,
|
|
"current": false,
|
|
"hideEmpty": true,
|
|
"max": true,
|
|
"min": true,
|
|
"show": true,
|
|
"sort": "avg",
|
|
"sortDesc": true,
|
|
"total": false,
|
|
"values": true
|
|
},
|
|
"lines": true,
|
|
"linewidth": 1,
|
|
"links": [],
|
|
"nullPointMode": "null",
|
|
"percentage": false,
|
|
"pointradius": 1,
|
|
"points": false,
|
|
"renderer": "flot",
|
|
"seriesOverrides": [],
|
|
"spaceLength": 10,
|
|
"stack": false,
|
|
"steppedLine": false,
|
|
"targets": [
|
|
{
|
|
"alias": "Frequency",
|
|
"expr": "max_over_time(node_ntp_rtt_seconds{node=~\"$node\"}[$__rate_interval])",
|
|
"format": "time_series",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"none"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"intervalFactor": 1,
|
|
"legendFormat": "{{node}}",
|
|
"measurement": "chrony",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"frequency"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "mean"
|
|
}
|
|
]
|
|
],
|
|
"tags": []
|
|
}
|
|
],
|
|
"thresholds": [],
|
|
"timeFrom": null,
|
|
"timeRegions": [],
|
|
"timeShift": null,
|
|
"title": "Max RTT",
|
|
"tooltip": {
|
|
"shared": true,
|
|
"sort": 0,
|
|
"value_type": "individual"
|
|
},
|
|
"type": "graph",
|
|
"xaxis": {
|
|
"buckets": null,
|
|
"mode": "time",
|
|
"name": null,
|
|
"show": true,
|
|
"values": []
|
|
},
|
|
"yaxes": [
|
|
{
|
|
"decimals": null,
|
|
"format": "s",
|
|
"label": "",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": "0",
|
|
"show": true
|
|
},
|
|
{
|
|
"decimals": null,
|
|
"format": "short",
|
|
"label": "",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": false
|
|
}
|
|
],
|
|
"yaxis": {
|
|
"align": false,
|
|
"alignLevel": null
|
|
}
|
|
},
|
|
{
|
|
"aliasColors": {},
|
|
"bars": false,
|
|
"dashLength": 10,
|
|
"dashes": false,
|
|
"datasource": "$ds_prometheus",
|
|
"decimals": null,
|
|
"description": "Offset - This is the estimated local offset to the ntp sources on the last clock update.",
|
|
"fill": 1,
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 11
|
|
},
|
|
"id": 4,
|
|
"legend": {
|
|
"alignAsTable": true,
|
|
"avg": true,
|
|
"current": false,
|
|
"hideEmpty": true,
|
|
"max": true,
|
|
"min": true,
|
|
"show": true,
|
|
"sort": "avg",
|
|
"sortDesc": true,
|
|
"total": false,
|
|
"values": true
|
|
},
|
|
"lines": true,
|
|
"linewidth": 1,
|
|
"links": [],
|
|
"nullPointMode": "null",
|
|
"percentage": false,
|
|
"pointradius": 5,
|
|
"points": false,
|
|
"renderer": "flot",
|
|
"seriesOverrides": [],
|
|
"spaceLength": 10,
|
|
"stack": false,
|
|
"steppedLine": false,
|
|
"targets": [
|
|
{
|
|
"alias": "Last Offset",
|
|
"expr": "(max_over_time(node_ntp_offset_seconds{node=~\"$node\"}[$__rate_interval]) > 0)\nor\n(min_over_time(node_ntp_offset_seconds{node=~\"$node\"}[$__rate_interval]) < 0)",
|
|
"format": "time_series",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"none"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"instant": false,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "{{node}}",
|
|
"measurement": "chrony",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"last_offset"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "mean"
|
|
}
|
|
]
|
|
],
|
|
"tags": []
|
|
}
|
|
],
|
|
"thresholds": [],
|
|
"timeFrom": null,
|
|
"timeRegions": [],
|
|
"timeShift": null,
|
|
"title": "Max offset",
|
|
"tooltip": {
|
|
"shared": true,
|
|
"sort": 0,
|
|
"value_type": "individual"
|
|
},
|
|
"type": "graph",
|
|
"xaxis": {
|
|
"buckets": null,
|
|
"mode": "time",
|
|
"name": null,
|
|
"show": true,
|
|
"values": []
|
|
},
|
|
"yaxes": [
|
|
{
|
|
"format": "s",
|
|
"label": null,
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true
|
|
},
|
|
{
|
|
"format": "short",
|
|
"label": null,
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": false
|
|
}
|
|
],
|
|
"yaxis": {
|
|
"align": false,
|
|
"alignLevel": null
|
|
}
|
|
},
|
|
{
|
|
"aliasColors": {
|
|
"Frequency": "#70dbed",
|
|
"Residual Frequency": "#eab839",
|
|
"Skew (estimated error bound on the frequency)": "#962d82",
|
|
"Skew (estimated error)": "rgb(168, 48, 28)"
|
|
},
|
|
"bars": false,
|
|
"dashLength": 10,
|
|
"dashes": false,
|
|
"datasource": "$ds_prometheus",
|
|
"decimals": 3,
|
|
"description": "RTT (round-trip time) from node_exporter collector to local NTPD. This value is used in sanity check as part of causality violation estimate.",
|
|
"fill": 1,
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 20
|
|
},
|
|
"id": 25,
|
|
"legend": {
|
|
"alignAsTable": true,
|
|
"avg": true,
|
|
"current": false,
|
|
"hideEmpty": true,
|
|
"max": true,
|
|
"min": true,
|
|
"show": true,
|
|
"sort": "avg",
|
|
"sortDesc": true,
|
|
"total": false,
|
|
"values": true
|
|
},
|
|
"lines": true,
|
|
"linewidth": 1,
|
|
"links": [],
|
|
"nullPointMode": "null",
|
|
"percentage": false,
|
|
"pointradius": 1,
|
|
"points": false,
|
|
"renderer": "flot",
|
|
"seriesOverrides": [],
|
|
"spaceLength": 10,
|
|
"stack": false,
|
|
"steppedLine": false,
|
|
"targets": [
|
|
{
|
|
"alias": "Frequency",
|
|
"expr": "max_over_time(node_ntp_root_dispersion_seconds{node=~\"$node\"}[$__rate_interval])",
|
|
"format": "time_series",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"none"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"intervalFactor": 1,
|
|
"legendFormat": "{{node}}",
|
|
"measurement": "chrony",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"frequency"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "mean"
|
|
}
|
|
]
|
|
],
|
|
"tags": []
|
|
}
|
|
],
|
|
"thresholds": [],
|
|
"timeFrom": null,
|
|
"timeRegions": [],
|
|
"timeShift": null,
|
|
"title": "Max root dispersion",
|
|
"tooltip": {
|
|
"shared": true,
|
|
"sort": 0,
|
|
"value_type": "individual"
|
|
},
|
|
"type": "graph",
|
|
"xaxis": {
|
|
"buckets": null,
|
|
"mode": "time",
|
|
"name": null,
|
|
"show": true,
|
|
"values": []
|
|
},
|
|
"yaxes": [
|
|
{
|
|
"decimals": null,
|
|
"format": "s",
|
|
"label": "",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true
|
|
},
|
|
{
|
|
"decimals": null,
|
|
"format": "short",
|
|
"label": "",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": false
|
|
}
|
|
],
|
|
"yaxis": {
|
|
"align": false,
|
|
"alignLevel": null
|
|
}
|
|
},
|
|
{
|
|
"aliasColors": {},
|
|
"bars": false,
|
|
"dashLength": 10,
|
|
"dashes": false,
|
|
"datasource": "$ds_prometheus",
|
|
"decimals": null,
|
|
"description": "Offset - This is the estimated local offset to the ntp sources on the last clock update.",
|
|
"fill": 1,
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 20
|
|
},
|
|
"id": 26,
|
|
"legend": {
|
|
"alignAsTable": true,
|
|
"avg": true,
|
|
"current": false,
|
|
"hideEmpty": true,
|
|
"max": true,
|
|
"min": true,
|
|
"show": true,
|
|
"sort": "avg",
|
|
"sortDesc": true,
|
|
"total": false,
|
|
"values": true
|
|
},
|
|
"lines": true,
|
|
"linewidth": 1,
|
|
"links": [],
|
|
"nullPointMode": "null",
|
|
"percentage": false,
|
|
"pointradius": 5,
|
|
"points": false,
|
|
"renderer": "flot",
|
|
"seriesOverrides": [],
|
|
"spaceLength": 10,
|
|
"stack": false,
|
|
"steppedLine": false,
|
|
"targets": [
|
|
{
|
|
"alias": "Last Offset",
|
|
"expr": "(max_over_time(node_ntp_root_delay_seconds{node=~\"$node\"}[$__rate_interval]) > 0)\nor\n(min_over_time(node_ntp_root_delay_seconds{node=~\"$node\"}[$__rate_interval]) < 0)",
|
|
"format": "time_series",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"none"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"instant": false,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "{{node}}",
|
|
"measurement": "chrony",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"last_offset"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "mean"
|
|
}
|
|
]
|
|
],
|
|
"tags": []
|
|
}
|
|
],
|
|
"thresholds": [],
|
|
"timeFrom": null,
|
|
"timeRegions": [],
|
|
"timeShift": null,
|
|
"title": "Max root delay",
|
|
"tooltip": {
|
|
"shared": true,
|
|
"sort": 0,
|
|
"value_type": "individual"
|
|
},
|
|
"type": "graph",
|
|
"xaxis": {
|
|
"buckets": null,
|
|
"mode": "time",
|
|
"name": null,
|
|
"show": true,
|
|
"values": []
|
|
},
|
|
"yaxes": [
|
|
{
|
|
"format": "s",
|
|
"label": null,
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true
|
|
},
|
|
{
|
|
"format": "short",
|
|
"label": null,
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": false
|
|
}
|
|
],
|
|
"yaxis": {
|
|
"align": false,
|
|
"alignLevel": null
|
|
}
|
|
},
|
|
{
|
|
"aliasColors": {},
|
|
"bars": false,
|
|
"dashLength": 10,
|
|
"dashes": false,
|
|
"datasource": "$ds_prometheus",
|
|
"description": "Reference Time. This field show time when the last adjustment was made, but implementation details vary from \"local wall-clock time\" to \"Reference Time field in incoming SNTP packet\".\n\nrepresent some estimate of \"freshness\" of synchronization.",
|
|
"fill": 1,
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 29
|
|
},
|
|
"id": 15,
|
|
"legend": {
|
|
"alignAsTable": true,
|
|
"avg": true,
|
|
"current": false,
|
|
"hideEmpty": false,
|
|
"hideZero": false,
|
|
"max": true,
|
|
"min": true,
|
|
"rightSide": true,
|
|
"show": true,
|
|
"total": false,
|
|
"values": true
|
|
},
|
|
"lines": false,
|
|
"linewidth": 1,
|
|
"links": [],
|
|
"nullPointMode": "null",
|
|
"percentage": false,
|
|
"pointradius": 0.5,
|
|
"points": true,
|
|
"renderer": "flot",
|
|
"seriesOverrides": [],
|
|
"spaceLength": 10,
|
|
"stack": false,
|
|
"steppedLine": false,
|
|
"targets": [
|
|
{
|
|
"expr": "node_time_seconds - node_ntp_reference_timestamp_seconds{node=~\"$node\"}",
|
|
"format": "time_series",
|
|
"hide": false,
|
|
"intervalFactor": 1,
|
|
"legendFormat": "{{node}}",
|
|
"refId": "B"
|
|
}
|
|
],
|
|
"thresholds": [],
|
|
"timeFrom": null,
|
|
"timeRegions": [],
|
|
"timeShift": null,
|
|
"title": "Last Clock Adjustment",
|
|
"tooltip": {
|
|
"shared": true,
|
|
"sort": 0,
|
|
"value_type": "individual"
|
|
},
|
|
"type": "graph",
|
|
"xaxis": {
|
|
"buckets": null,
|
|
"mode": "time",
|
|
"name": null,
|
|
"show": true,
|
|
"values": []
|
|
},
|
|
"yaxes": [
|
|
{
|
|
"decimals": null,
|
|
"format": "s",
|
|
"label": "Duration",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true
|
|
},
|
|
{
|
|
"format": "short",
|
|
"label": "",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": false
|
|
}
|
|
],
|
|
"yaxis": {
|
|
"align": false,
|
|
"alignLevel": null
|
|
}
|
|
}
|
|
],
|
|
"refresh": "30s",
|
|
"schemaVersion": 18,
|
|
"style": "dark",
|
|
"tags": [
|
|
"nodes"
|
|
],
|
|
"templating": {
|
|
"list": [
|
|
{
|
|
"current": {
|
|
"text": "trickster",
|
|
"value": "trickster"
|
|
},
|
|
"hide": 0,
|
|
"includeAll": false,
|
|
"label": "Prometheus",
|
|
"multi": false,
|
|
"name": "ds_prometheus",
|
|
"options": [],
|
|
"query": "prometheus",
|
|
"refresh": 1,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"type": "datasource"
|
|
},
|
|
{
|
|
"allValue": null,
|
|
"current": {
|
|
"text": "All",
|
|
"value": "$__all"
|
|
},
|
|
"datasource": "$ds_prometheus",
|
|
"definition": "label_values(node_ntp_sanity, node)",
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"label": "Node",
|
|
"multi": true,
|
|
"name": "node",
|
|
"options": [],
|
|
"query": "label_values(node_ntp_sanity, node)",
|
|
"refresh": 2,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 0,
|
|
"tagValuesQuery": "",
|
|
"tags": [],
|
|
"tagsQuery": "",
|
|
"type": "query",
|
|
"useTags": false
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"from": "now-3h",
|
|
"to": "now"
|
|
},
|
|
"timepicker": {
|
|
"refresh_intervals": [
|
|
"5s",
|
|
"10s",
|
|
"30s",
|
|
"1m",
|
|
"5m",
|
|
"15m",
|
|
"30m",
|
|
"1h",
|
|
"2h",
|
|
"1d"
|
|
],
|
|
"time_options": [
|
|
"5m",
|
|
"15m",
|
|
"1h",
|
|
"6h",
|
|
"12h",
|
|
"24h",
|
|
"2d",
|
|
"7d",
|
|
"30d"
|
|
]
|
|
},
|
|
"timezone": "",
|
|
"title": "NTP",
|
|
"uid": "38sNyU7iz",
|
|
"version": 2
|
|
}
|