2026-04-01 19:14:08 +02:00
{
"annotations" : {
"list" : [
{
"builtIn" : 1 ,
"datasource" : {
"type" : "grafana" ,
"uid" : "-- Grafana --"
} ,
"enable" : true ,
"hide" : true ,
"iconColor" : "rgba(0, 211, 255, 1)" ,
"name" : "Annotations & Alerts" ,
"type" : "dashboard"
}
]
} ,
"editable" : true ,
"fiscalYearStartMonth" : 0 ,
"graphTooltip" : 0 ,
2026-06-18 14:14:09 +00:00
"id" : 0 ,
2026-04-01 19:14:08 +02:00
"links" : [ ] ,
"panels" : [
{
"collapsed" : false ,
"gridPos" : {
"h" : 1 ,
"w" : 24 ,
"x" : 0 ,
"y" : 0
} ,
"id" : 7 ,
"panels" : [ ] ,
"title" : "Time Data" ,
"type" : "row"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"decimals" : 1 ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
}
]
} ,
"unit" : "dtdurations"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
"w" : 5 ,
"x" : 0 ,
"y" : 1
} ,
"id" : 14 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "none" ,
"justifyMode" : "auto" ,
"orientation" : "horizontal" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "auto" ,
"wideLayout" : true
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${DS_INFLUX-V2_(CHRONY)}"
} ,
"groupBy" : [
{
"params" : [
"$__interval"
] ,
"type" : "time"
} ,
{
"params" : [
"null"
] ,
"type" : "fill"
}
] ,
"measurement" : "system" ,
"orderByTime" : "ASC" ,
"policy" : "default" ,
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"system\")\n |> filter(fn: (r) => r[\"_field\"] == \"uptime\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A" ,
"resultFormat" : "time_series" ,
"select" : [
[
{
"params" : [
"uptime"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "last"
}
]
] ,
"tags" : [
{
"key" : "host::tag" ,
"operator" : "=~" ,
"value" : "/^$host$/"
}
]
}
] ,
"title" : "System Uptime" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "datasource" ,
"uid" : "-- Mixed --"
} ,
"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)" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
}
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
"w" : 2 ,
"x" : 5 ,
"y" : 1
} ,
"id" : 5 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "/^A$/" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "auto" ,
"wideLayout" : true
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"datasource" : {
"name" : "Expression" ,
"type" : "__expr__" ,
"uid" : "__expr__"
} ,
"expression" : "0+1" ,
"refId" : "A" ,
"type" : "math"
}
] ,
"title" : "Stratum" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "celsius"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
"w" : 2 ,
"x" : 7 ,
"y" : 1
} ,
"id" : 23 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "none" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "value" ,
"wideLayout" : true
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"sensors\")\n |> filter(fn: (r) => r[\"_field\"] == \"temp_input\")\n |> filter(fn: (r) => r[\"chip\"] == \"cpu_thermal-virtual-0\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A"
}
] ,
"title" : "CPU temperature" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 500
}
]
}
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
"w" : 3 ,
"x" : 9 ,
"y" : 1
} ,
"id" : 4 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "/^total NTPRANA$/" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "value" ,
"wideLayout" : true
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${DS_INFLUX-V2_(CHRONY)}"
} ,
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"processes\")\n |> filter(fn: (r) => r[\"_field\"] == \"total\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"rawQuery" : true ,
"refId" : "A" ,
"resultFormat" : "time_series"
}
] ,
"title" : "Processes" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"description" : "Root delay - This is the total of the network path delays to the stratum-1 computer from which the computer is ultimately synchronised. In certain extreme situations, this value can be negative. (This can arise in a symmetric peer arrangement where the computers’ frequencies are not tracking each other and the network delay is very short relative to the turn-around time at each computer.) \n\nRoot dispersion - 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. (The estimate of the total amount of error/variance between that server and the correct time.)\n\nSystem time - In normal operation, chronyd never steps the system clock, because any jump in the timescale can have adverse consequences for certain application programs. Instead, any error in the system clock is corrected by slightly speeding up or slowing down the system clock until the error has been removed, and then returning to the system clock’ s normal speed. A consequence of this is that there will be a period when the system clock (as read by other programs using the gettimeofday() system call, or by the date command in the shell) will be different from chronyd's estimate of the current true time (which it reports to NTP clients when it is operating in server mode). The value reported on this line is the difference due to this effect." ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 5 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "stepAfter" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : true ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "s"
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "root_delay {host=\"NTPRANA\", leap_status=\"normal\", reference_id=\"50505300\", stratum=\"1\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Root delay"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "root_dispersion {host=\"NTPRANA\", leap_status=\"normal\", reference_id=\"50505300\", stratum=\"1\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Root dispersion"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "system_time {host=\"NTPRANA\", leap_status=\"normal\", reference_id=\"50505300\", stratum=\"1\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "System time"
}
]
}
]
} ,
"gridPos" : {
"h" : 8 ,
"w" : 12 ,
"x" : 12 ,
"y" : 1
} ,
"id" : 2 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "multi" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"chrony\")\n |> filter(fn: (r) => r[\"_field\"] == \"root_delay\" or r[\"_field\"] == \"root_dispersion\" or r[\"_field\"] == \"system_time\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A"
}
] ,
"title" : "Sources" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"description" : "Last offset - This is the estimated local offset on the last clock update.\n\nRMS offset - This is a long-term average of the offset value." ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 5 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "stepAfter" ,
"lineStyle" : {
"fill" : "solid"
} ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : true ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "s"
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "last_offset {host=\"NTPRANA\", leap_status=\"normal\", reference_id=\"50505300\", stratum=\"1\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Last offset"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "rms_offset {host=\"NTPRANA\", leap_status=\"normal\", reference_id=\"50505300\", stratum=\"1\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "RMS offset"
}
]
}
]
} ,
"gridPos" : {
"h" : 12 ,
"w" : 12 ,
"x" : 0 ,
"y" : 5
} ,
"id" : 1 ,
"options" : {
"legend" : {
"calcs" : [
"lastNotNull"
] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "multi" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"alias" : "Last Offset" ,
"datasource" : {
"type" : "influxdb" ,
"uid" : "${DS_INFLUX-V2_(CHRONY)}"
} ,
"groupBy" : [
{
"params" : [
"$__interval"
] ,
"type" : "time"
} ,
{
"params" : [
"null"
] ,
"type" : "fill"
}
] ,
"measurement" : "chrony" ,
"orderByTime" : "ASC" ,
"policy" : "default" ,
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"chrony\")\n |> filter(fn: (r) => r[\"_field\"] == \"last_offset\" or r[\"_field\"] == \"rms_offset\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A" ,
"resultFormat" : "time_series" ,
"select" : [
[
{
"params" : [
"last_offset"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
}
]
] ,
"tags" : [
{
"key" : "host::tag" ,
"operator" : "=~" ,
"value" : "/^$host$/"
}
]
}
] ,
"title" : "Offset" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"description" : "Frequency - The ‘ 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 1ppm 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.\n\nResidual freq - This shows the ‘ residual frequency’ for the currently selected reference source. This reflects any difference between what the measurements from the reference source indicate the frequency should be and the frequency currently being used. The reason this is not always zero is that a smoothing procedure is applied to the frequency. Each time a measurement from the reference source is obtained and a new residual frequency computed, the estimated accuracy of this residual is compared with the estimated accuracy (see ‘ skew’ next) of the existing frequency value. A weighted average is computed for the new frequency, with weights depending on these accuracies. If the measurements from the reference source follow a consistent trend, the residual will be driven to zero over time.\n\nSkew - This is the estimated error bound on the frequency.\n\nhttps://chrony.tuxfamily.org/doc/3.3/chronyc.html#_system_clock" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 6 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "stepAfter" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : true ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "ppm"
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "frequency {host=\"NTPRANA\", leap_status=\"normal\", reference_id=\"50505300\", stratum=\"1\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Frequency"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "residual_freq {host=\"NTPRANA\", leap_status=\"normal\", reference_id=\"50505300\", stratum=\"1\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Residual frequency"
}
]
}
]
} ,
"gridPos" : {
"h" : 8 ,
"w" : 12 ,
"x" : 12 ,
"y" : 9
} ,
"id" : 3 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "multi" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"alias" : "Frequency" ,
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"groupBy" : [
{
"params" : [
"$__interval"
] ,
"type" : "time"
} ,
{
"params" : [
"null"
] ,
"type" : "fill"
}
] ,
"measurement" : "chrony" ,
"orderByTime" : "ASC" ,
"policy" : "default" ,
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"chrony\")\n |> filter(fn: (r) => r[\"_field\"] == \"frequency\" or r[\"_field\"] == \"residual_freq\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A" ,
"resultFormat" : "time_series" ,
"select" : [
[
{
"params" : [
"frequency"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
}
]
] ,
"tags" : [
{
"key" : "host::tag" ,
"operator" : "=~" ,
"value" : "/^$host$/"
}
]
}
] ,
"title" : "Frequency" ,
"type" : "timeseries"
} ,
{
"collapsed" : false ,
"gridPos" : {
"h" : 1 ,
"w" : 24 ,
"x" : 0 ,
"y" : 17
} ,
"id" : 17 ,
"panels" : [ ] ,
"title" : "GPS Data" ,
"type" : "row"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
}
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 4 ,
"w" : 2 ,
"x" : 0 ,
"y" : 18
} ,
"id" : 24 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "none" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "value" ,
"wideLayout" : true
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"gps_sky\")\n |> filter(fn: (r) => r[\"_field\"] == \"uSat\")\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\n |> yield(name: \"last\")" ,
"refId" : "A"
}
] ,
"title" : "Satellites in use" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 0 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
}
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "beidou_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Beidou"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "galileo_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Galileo"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "glonass_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "GLONASS"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "gps_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "GPS"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "qzss_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "QZSS"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "sbas_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "SBAS"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "unknown_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Unknown"
}
]
}
]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 7 ,
"x" : 2 ,
"y" : 18
} ,
"id" : 18 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "single" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"gps_sky\")\n |> filter(fn: (r) => r[\"_field\"] == \"beidou_used\" or r[\"_field\"] == \"glonass_used\" or r[\"_field\"] == \"galileo_used\" or r[\"_field\"] == \"gps_used\" or r[\"_field\"] == \"qzss_used\" or r[\"_field\"] == \"sbas_used\" or r[\"_field\"] == \"unknown_used\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A"
}
] ,
"title" : "Satelites per System used" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"description" : "Lower is better\n\ntdop - Time dilution of precision. Lower is better.\n\nvdop - Vertical dilution of precision. Lower is better.\n\nhdop - Horizontal dilution of precision. Lower is better.\n\ngdop - Geometric dilution of precision." ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 0 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
}
]
}
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "gdop {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Geometric"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "hdop {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Horizontal"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "tdop {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Time"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "vdop {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Vertical"
}
]
}
]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 7 ,
"x" : 9 ,
"y" : 18
} ,
"id" : 21 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "single" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"gps_sky\")\n |> filter(fn: (r) => r[\"_field\"] == \"tdop\" or r[\"_field\"] == \"vdop\" or r[\"_field\"] == \"hdop\" or r[\"_field\"] == \"gdop\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A"
}
] ,
"title" : "Dilutions of precision" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 0 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
}
]
} ,
"unit" : "percent"
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "avg_signal_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Average signal of used satelites"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "avg_signal_visible {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Average signal of all visible satelites"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "max_signal {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Maximum value seen from a satelite"
}
]
}
]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 8 ,
"x" : 16 ,
"y" : 18
} ,
"id" : 22 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "single" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"gps_sky\")\n |> filter(fn: (r) => r[\"_field\"] == \"avg_signal_used\" or r[\"_field\"] == \"avg_signal_visible\" or r[\"_field\"] == \"max_signal\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A"
}
] ,
"title" : "Signal Strenght" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
}
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 3 ,
"w" : 2 ,
"x" : 0 ,
"y" : 22
} ,
"id" : 25 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "none" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"percentChangeColorMode" : "standard" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showPercentChange" : false ,
"textMode" : "value" ,
"wideLayout" : true
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"gps_sky\")\n |> filter(fn: (r) => r[\"_field\"] == \"nSat\")\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\n |> yield(name: \"last\")" ,
"refId" : "A"
}
] ,
"title" : "Available satellites" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 0 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
}
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "beidou_used {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Beidou"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "galileo_visible {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Galileo"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "glonass_visible {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "GLONASS"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "gps_visible {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "GPS"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "qzss_visible {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "QZSS"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "sbas_visible {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "SBAS"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "unknown_visible {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Unknown"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "beidou_visible {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Beidou"
}
]
}
]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 9 ,
"x" : 0 ,
"y" : 25
} ,
"id" : 19 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "single" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"gps_sky\")\n |> filter(fn: (r) => r[\"_field\"] == \"beidou_visible\" or r[\"_field\"] == \"galileo_visible\" or r[\"_field\"] == \"glonass_visible\" or r[\"_field\"] == \"gps_visible\" or r[\"_field\"] == \"qzss_visible\" or r[\"_field\"] == \"sbas_visible\" or r[\"_field\"] == \"unknown_visible\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A"
}
] ,
"title" : "Satelites per System visible" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 0 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : false ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
}
]
}
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "nSat {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Visible or reported satellites"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "uSat {device=\"/dev/ttyS0\", host=\"ntprana\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Currently used satellites"
}
]
}
]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 15 ,
"x" : 9 ,
"y" : 25
} ,
"id" : 20 ,
"options" : {
"legend" : {
"calcs" : [ ] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "single" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"NTPRANA\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"gps_sky\")\n |> filter(fn: (r) => r[\"_field\"] == \"nSat\" or r[\"_field\"] == \"uSat\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A"
}
] ,
"title" : "Visible/Used satelites" ,
"type" : "timeseries"
} ,
{
"collapsed" : false ,
"gridPos" : {
"h" : 1 ,
"w" : 24 ,
"x" : 0 ,
"y" : 32
} ,
"id" : 8 ,
"panels" : [ ] ,
"title" : "System Monitoring" ,
"type" : "row"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"decimals" : 2 ,
"mappings" : [ ] ,
"max" : 100 ,
"min" : 0 ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "#EAB839" ,
"value" : 75
} ,
{
"color" : "red" ,
"value" : 90
}
]
} ,
"unit" : "percent"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 5 ,
"w" : 3 ,
"x" : 0 ,
"y" : 33
} ,
"id" : 9 ,
"options" : {
"minVizHeight" : 75 ,
"minVizWidth" : 75 ,
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showThresholdLabels" : false ,
"showThresholdMarkers" : true ,
"sizing" : "auto"
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"groupBy" : [
{
"params" : [
"$__interval"
] ,
"type" : "time"
} ,
{
"params" : [
"null"
] ,
"type" : "fill"
}
] ,
"measurement" : "cpu" ,
"orderByTime" : "ASC" ,
"policy" : "default" ,
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"cpu\")\n |> filter(fn: (r) => r[\"_field\"] == \"usage_system\")\n |> filter(fn: (r) => r[\"cpu\"] == \"cpu-total\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"rawQuery" : true ,
"refId" : "A" ,
"resultFormat" : "time_series" ,
"select" : [
[
{
"params" : [
"usage_idle"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "last"
}
]
] ,
"tags" : [
{
"key" : "host::tag" ,
"operator" : "=~" ,
"value" : "/^$host$/"
}
]
}
] ,
"title" : "CPU" ,
"type" : "gauge"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "dff8g4ffvqsxse"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"mappings" : [ ] ,
"max" : 100 ,
"min" : 0 ,
"thresholds" : {
"mode" : "percentage" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "percent"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 5 ,
"w" : 3 ,
"x" : 3 ,
"y" : 33
} ,
"id" : 16 ,
"options" : {
"minVizHeight" : 75 ,
"minVizWidth" : 75 ,
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showThresholdLabels" : false ,
"showThresholdMarkers" : true ,
"sizing" : "auto"
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"mem\")\n |> filter(fn: (r) => r[\"_field\"] == \"used_percent\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A"
}
] ,
"title" : "Memory" ,
"type" : "gauge"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"decimals" : 1 ,
"mappings" : [ ] ,
"max" : 100 ,
"min" : 0 ,
"thresholds" : {
2026-06-18 14:14:09 +00:00
"mode" : "percentage" ,
2026-04-01 19:14:08 +02:00
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "#EAB839" ,
"value" : 75
} ,
{
"color" : "red" ,
"value" : 90
}
]
} ,
"unit" : "percent"
} ,
2026-06-18 14:14:09 +00:00
"overrides" : [
{
"matcher" : {
"id" : "byRegexp" ,
"options" : "^.*fstype=\"ext4\".*$"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "EXT4 File System"
}
]
} ,
{
"matcher" : {
"id" : "byRegexp" ,
"options" : "^.*fstype=\"overlay\".*$"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Overlay File System"
}
]
}
]
2026-04-01 19:14:08 +02:00
} ,
"gridPos" : {
"h" : 5 ,
"w" : 6 ,
"x" : 6 ,
"y" : 33
} ,
"id" : 11 ,
"options" : {
"minVizHeight" : 75 ,
"minVizWidth" : 75 ,
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showThresholdLabels" : false ,
"showThresholdMarkers" : true ,
"sizing" : "auto"
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${DS_INFLUX-V2_(CHRONY)}"
} ,
"groupBy" : [
{
"params" : [
"$__interval"
] ,
"type" : "time"
} ,
{
"params" : [
"null"
] ,
"type" : "fill"
}
] ,
2026-06-18 14:14:09 +00:00
"hide" : false ,
2026-04-01 19:14:08 +02:00
"measurement" : "disk" ,
"orderByTime" : "ASC" ,
"policy" : "default" ,
2026-06-18 14:14:09 +00:00
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"disk\")\n |> filter(fn: (r) => r[\"_field\"] == \"used_percent\")\n |> filter(fn: (r) => r[\"fstype\"] == \"ext4\" or r[\"fstype\"] == \"overlay\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
2026-04-01 19:14:08 +02:00
"rawQuery" : false ,
"refId" : "A" ,
"resultFormat" : "time_series" ,
"select" : [
[
{
"params" : [
"used_percent"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "last"
}
]
] ,
"tags" : [
{
"key" : "host::tag" ,
"operator" : "=~" ,
"value" : "/^$host$/"
} ,
{
"condition" : "AND" ,
"key" : "path::tag" ,
"operator" : "=" ,
"value" : "/"
}
]
}
] ,
"title" : "Root partition" ,
"type" : "gauge"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 5 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : true ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"decimals" : 2 ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "percent"
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "usage_system {cpu=\"cpu-total\", host=\"NTPRANA\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "CPU total"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "usage_system {cpu=\"cpu0\", host=\"NTPRANA\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Core 1"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "usage_system {cpu=\"cpu1\", host=\"NTPRANA\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Core 2"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "usage_system {cpu=\"cpu2\", host=\"NTPRANA\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Core 3"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "usage_system {cpu=\"cpu3\", host=\"NTPRANA\"}"
} ,
"properties" : [
{
"id" : "displayName" ,
"value" : "Core 4"
}
]
}
]
} ,
"gridPos" : {
"h" : 12 ,
"w" : 12 ,
"x" : 12 ,
"y" : 33
} ,
"id" : 12 ,
"options" : {
"legend" : {
"calcs" : [
"lastNotNull"
] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "multi" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${DS_INFLUX-V2_(CHRONY)}"
} ,
"groupBy" : [
{
"params" : [
"$__interval"
] ,
"type" : "time"
} ,
{
"params" : [
"none"
] ,
"type" : "fill"
}
] ,
"measurement" : "cpu" ,
"orderByTime" : "ASC" ,
"policy" : "default" ,
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"cpu\")\n |> filter(fn: (r) => r[\"_field\"] == \"usage_system\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"rawQuery" : false ,
"refId" : "A" ,
"resultFormat" : "time_series" ,
"select" : [
[
{
"params" : [
"usage_guest"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"guest"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"usage_guest_nice"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"guest_nice"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"usage_iowait"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"iowait"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"usage_irq"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"iowait"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"usage_nice"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"iowait"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"usage_softirq"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"softirq"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"usage_steal"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"steal"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"usage_system"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"system"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"usage_user"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "mean"
} ,
{
"params" : [
"user"
] ,
"type" : "alias"
}
]
] ,
"tags" : [
{
"key" : "host::tag" ,
"operator" : "=~" ,
"value" : "/^$host$/"
} ,
{
"condition" : "AND" ,
"key" : "cpu::tag" ,
"operator" : "=" ,
"value" : "cpu-total"
}
]
}
] ,
"title" : "CPU Usage - Detailed" ,
"type" : "timeseries"
} ,
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"axisBorderShow" : false ,
"axisCenteredZero" : false ,
"axisColorMode" : "text" ,
"axisLabel" : "" ,
"axisPlacement" : "auto" ,
"barAlignment" : 0 ,
"barWidthFactor" : 0.6 ,
"drawStyle" : "line" ,
"fillOpacity" : 5 ,
"gradientMode" : "none" ,
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
} ,
"insertNulls" : false ,
"lineInterpolation" : "linear" ,
"lineStyle" : {
"fill" : "solid"
} ,
"lineWidth" : 1 ,
"pointSize" : 5 ,
"scaleDistribution" : {
"type" : "linear"
} ,
"showPoints" : "auto" ,
"showValues" : false ,
"spanNulls" : true ,
"stacking" : {
"group" : "A" ,
"mode" : "none"
} ,
"thresholdsStyle" : {
"mode" : "off"
}
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : 0
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "bytes"
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : ""
} ,
"properties" : [ ]
}
]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 12 ,
"x" : 0 ,
"y" : 38
} ,
"id" : 13 ,
"options" : {
"legend" : {
"calcs" : [
"lastNotNull"
] ,
"displayMode" : "list" ,
"placement" : "bottom" ,
"showLegend" : true
} ,
"tooltip" : {
"hideZeros" : false ,
"mode" : "multi" ,
"sort" : "none"
}
} ,
2026-06-18 14:14:09 +00:00
"pluginVersion" : "12.3.1" ,
2026-04-01 19:14:08 +02:00
"targets" : [
{
"datasource" : {
"type" : "influxdb" ,
"uid" : "${DS_INFLUX-V2_(CHRONY)}"
} ,
"groupBy" : [
{
"params" : [
"$__interval"
] ,
"type" : "time"
} ,
{
"params" : [
"null"
] ,
"type" : "fill"
}
] ,
"measurement" : "mem" ,
"orderByTime" : "ASC" ,
"policy" : "default" ,
"query" : "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"mem\")\n |> filter(fn: (r) => r[\"_field\"] == \"active\" or r[\"_field\"] == \"available\" or r[\"_field\"] == \"used\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")" ,
"refId" : "A" ,
"resultFormat" : "time_series" ,
"select" : [
[
{
"params" : [
"active"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "last"
} ,
{
"params" : [
"active"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"buffered"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "last"
} ,
{
"params" : [
"buffered"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"cached"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "last"
} ,
{
"params" : [
"cached"
] ,
"type" : "alias"
}
] ,
[
{
"params" : [
"free"
] ,
"type" : "field"
} ,
{
"params" : [ ] ,
"type" : "last"
} ,
{
"params" : [
"free"
] ,
"type" : "alias"
}
]
] ,
"tags" : [
{
"key" : "host::tag" ,
"operator" : "=~" ,
"value" : "/^$host$/"
}
]
}
] ,
"title" : "Memory Usage - Detailed" ,
"type" : "timeseries"
}
] ,
"preload" : false ,
"refresh" : "10s" ,
"schemaVersion" : 42 ,
"tags" : [ ] ,
"templating" : {
"list" : [
{
"current" : {
"text" : "influxdb" ,
"value" : "dff8g4ffvqsxse"
} ,
"includeAll" : false ,
"label" : "Source" ,
"name" : "source" ,
"options" : [ ] ,
"query" : "influxdb" ,
"refresh" : 1 ,
"regex" : "" ,
"type" : "datasource"
} ,
{
"current" : {
"text" : "NTPRANA" ,
"value" : "NTPRANA"
} ,
"datasource" : {
"type" : "influxdb" ,
"uid" : "${source}"
} ,
"definition" : "buckets()" ,
"includeAll" : false ,
"label" : "Bucket" ,
"name" : "bucket" ,
"options" : [ ] ,
"query" : {
"0" : "S" ,
"1" : "H" ,
"2" : "O" ,
"3" : "W" ,
"4" : " " ,
"5" : "T" ,
"6" : "A" ,
"7" : "G" ,
"8" : " " ,
"9" : "V" ,
"10" : "A" ,
"11" : "L" ,
"12" : "U" ,
"13" : "E" ,
"14" : "S" ,
"15" : " " ,
"16" : "F" ,
"17" : "R" ,
"18" : "O" ,
"19" : "M" ,
"20" : " " ,
"21" : "\"" ,
"22" : "c" ,
"23" : "h" ,
"24" : "r" ,
"25" : "o" ,
"26" : "n" ,
"27" : "y" ,
"28" : "\"" ,
"29" : " " ,
"30" : "W" ,
"31" : "I" ,
"32" : "T" ,
"33" : "H" ,
"34" : " " ,
"35" : "K" ,
"36" : "E" ,
"37" : "Y" ,
"38" : " " ,
"39" : "=" ,
"40" : " " ,
"41" : "\"" ,
"42" : "h" ,
"43" : "o" ,
"44" : "s" ,
"45" : "t" ,
"46" : "\"" ,
"query" : "buckets()"
} ,
"refresh" : 1 ,
"regex" : "" ,
"type" : "query"
}
]
} ,
"time" : {
"from" : "now-30m" ,
"to" : "now"
} ,
"timepicker" : { } ,
"timezone" : "browser" ,
"title" : "NTPRANA" ,
"uid" : "bdtx2dn916tj4f2" ,
2026-06-18 14:14:09 +00:00
"version" : 4
2026-04-01 19:14:08 +02:00
}