fix(speedtest-exporter): improve dashboard

This commit is contained in:
WrenIX 2024-07-05 11:43:42 +02:00
parent 581addb559
commit b7910666e9
Signed by: wrenix
GPG key ID: 7AFDB012974B1BB5
4 changed files with 533 additions and 194 deletions

View file

@ -19,4 +19,5 @@
** xref:monitoring.adoc[monitoring] ** xref:monitoring.adoc[monitoring]
** xref:ntfy.adoc[ntfy] ** xref:ntfy.adoc[ntfy]
** xref:postgresql.adoc[postgresql] ** xref:postgresql.adoc[postgresql]
** xref:speedtest-exporter.adoc[speedtest-exporter]
** xref:stalwart-mail.adoc[stalwart-mail] ** xref:stalwart-mail.adoc[stalwart-mail]

View file

@ -0,0 +1 @@
../../../../speedtest-exporter/README.adoc

View file

@ -0,0 +1,296 @@
= speedtest-exporter
image::https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square[Version: 0.1.0]
image::https://img.shields.io/badge/Version-application-informational?style=flat-square[Type: application]
image::https://img.shields.io/badge/AppVersion-3.5.4-informational?style=flat-square[AppVersion: 3.5.4]
== Maintainers
.Maintainers
|===
| Name | Email | Url
| WrenIX
|
| <https://wrenix.eu>
|===
== Usage
Helm must be installed and setup to your kubernetes cluster to use the charts.
Refer to Helm's https://helm.sh/docs[documentation] to get started.
Once Helm has been set up correctly, fetch the charts as follows:
[source,bash]
----
helm pull oci://codeberg.org/wrenix/helm-charts/speedtest-exporter
----
You can install a chart release using the following command:
[source,bash]
----
helm install speedtest-exporter-release oci://codeberg.org/wrenix/helm-charts/speedtest-exporter --values values.yaml
----
To uninstall a chart release use `helm`'s delete command:
[source,bash]
----
helm uninstall speedtest-exporter-release
----
== Values
.Values
|===
| Key | Type | Default | Description
| affinity
| object
| `{}`
|
| autoscaling.enabled
| bool
| `false`
|
| autoscaling.maxReplicas
| int
| `100`
|
| autoscaling.minReplicas
| int
| `1`
|
| autoscaling.targetCPUUtilizationPercentage
| int
| `80`
|
| config.server
| string
| `nil`
| speedtest-serverid
| fullnameOverride
| string
| `""`
|
| global.image.pullPolicy
| string
| `nil`
| if set it will overwrite all pullPolicy
| global.image.registry
| string
| `nil`
| if set it will overwrite all registry entries
| grafana.dashboards.annotations
| object
| `{}`
|
| grafana.dashboards.enabled
| bool
| `false`
|
| grafana.dashboards.labels.grafana_dashboard
| string
| `"1"`
|
| image.pullPolicy
| string
| `"IfNotPresent"`
|
| image.registry
| string
| `"ghcr.io"`
|
| image.repository
| string
| `"miguelndecarvalho/speedtest-exporter"`
|
| image.tag
| string
| `""`
|
| imagePullSecrets
| list
| `[]`
|
| ingress.annotations
| object
| `{}`
|
| ingress.className
| string
| `""`
|
| ingress.enabled
| bool
| `false`
|
| ingress.hosts[0].host
| string
| `"chart-example.local"`
|
| ingress.hosts[0].paths[0].path
| string
| `"/"`
|
| ingress.hosts[0].paths[0].pathType
| string
| `"ImplementationSpecific"`
|
| ingress.tls
| list
| `[]`
|
| livenessProbe.httpGet.path
| string
| `"/"`
|
| livenessProbe.httpGet.port
| string
| `"http"`
|
| nameOverride
| string
| `""`
|
| nodeSelector
| object
| `{}`
|
| podAnnotations
| object
| `{}`
|
| podLabels
| object
| `{}`
|
| podSecurityContext
| object
| `{}`
|
| prometheus.servicemonitor.enabled
| bool
| `false`
|
| prometheus.servicemonitor.interval
| string
| `"1h"`
| interval
| prometheus.servicemonitor.labels
| object
| `{}`
|
| prometheus.servicemonitor.scrapeTimeout
| string
| `"1m"`
| scrape timeout
| readinessProbe.httpGet.path
| string
| `"/"`
|
| readinessProbe.httpGet.port
| string
| `"http"`
|
| replicaCount
| int
| `1`
|
| resources
| object
| `{}`
|
| securityContext
| object
| `{}`
|
| service.port
| int
| `80`
|
| service.type
| string
| `"ClusterIP"`
|
| serviceAccount.annotations
| object
| `{}`
|
| serviceAccount.automount
| bool
| `true`
|
| serviceAccount.create
| bool
| `true`
|
| serviceAccount.name
| string
| `""`
|
| tolerations
| list
| `[]`
|
| volumeMounts
| list
| `[]`
|
| volumes
| list
| `[]`
|
|===
Autogenerated from chart metadata using https://github.com/norwoodj/helm-docs[helm-docs]

View file

@ -1,42 +1,12 @@
{ {
"__elements": [],
"__requires": [
{
"type": "panel",
"id": "gauge",
"name": "Gauge",
"version": ""
},
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "8.4.3"
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
},
{
"type": "panel",
"id": "stat",
"name": "Stat",
"version": ""
},
{
"type": "panel",
"id": "timeseries",
"name": "Time series",
"version": ""
}
],
"annotations": { "annotations": {
"list": [ "list": [
{ {
"builtIn": 1, "builtIn": 1,
"datasource": "-- Grafana --", "datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true, "enable": true,
"hide": true, "hide": true,
"iconColor": "rgba(0, 211, 255, 1)", "iconColor": "rgba(0, 211, 255, 1)",
@ -56,12 +26,14 @@
"fiscalYearStartMonth": 0, "fiscalYearStartMonth": 0,
"gnetId": 13665, "gnetId": 13665,
"graphTooltip": 0, "graphTooltip": 0,
"id": null,
"iteration": 1650287799671,
"links": [], "links": [],
"liveNow": false, "liveNow": false,
"panels": [ "panels": [
{ {
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "", "description": "",
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
@ -87,7 +59,7 @@
"mode": "absolute", "mode": "absolute",
"steps": [ "steps": [
{ {
"color": "green", "color": "yellow",
"value": null "value": null
}, },
{ {
@ -109,12 +81,13 @@
"x": 0, "x": 0,
"y": 0 "y": 0
}, },
"id": 16, "id": null,
"options": { "options": {
"colorMode": "background", "colorMode": "background",
"graphMode": "none", "graphMode": "area",
"justifyMode": "center", "justifyMode": "center",
"orientation": "auto", "orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": [
"lastNotNull" "lastNotNull"
@ -122,19 +95,24 @@
"fields": "", "fields": "",
"values": false "values": false
}, },
"textMode": "value" "showPercentChange": false,
"textMode": "value",
"wideLayout": true
}, },
"pluginVersion": "8.4.3", "pluginVersion": "11.1.0",
"targets": [ "targets": [
{ {
"datasource": { "datasource": {
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"exemplar": true, "editorMode": "code",
"expr": "speedtest_up{instance=\"$instance\", job=\"$job\"}", "exemplar": false,
"expr": "sum(speedtest_up{job=~\"$job\"}) without (instance,pod)",
"instant": false,
"interval": "", "interval": "",
"legendFormat": "", "legendFormat": "",
"range": true,
"refId": "A" "refId": "A"
} }
], ],
@ -142,6 +120,10 @@
"type": "stat" "type": "stat"
}, },
{ {
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "ServerID of the last test done", "description": "ServerID of the last test done",
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
@ -173,6 +155,7 @@
"graphMode": "none", "graphMode": "none",
"justifyMode": "center", "justifyMode": "center",
"orientation": "auto", "orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": [
"lastNotNull" "lastNotNull"
@ -180,19 +163,24 @@
"fields": "", "fields": "",
"values": false "values": false
}, },
"textMode": "value" "showPercentChange": false,
"textMode": "value",
"wideLayout": true
}, },
"pluginVersion": "8.4.3", "pluginVersion": "11.1.0",
"targets": [ "targets": [
{ {
"datasource": { "datasource": {
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"exemplar": true, "editorMode": "code",
"expr": "speedtest_server_id{instance=\"$instance\", job=\"$job\"}", "exemplar": false,
"expr": "sum(speedtest_server_id{job=~\"$job\"})",
"instant": false,
"interval": "", "interval": "",
"legendFormat": "", "legendFormat": "",
"range": true,
"refId": "A" "refId": "A"
} }
], ],
@ -201,6 +189,10 @@
}, },
{ {
"collapsed": false, "collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -209,10 +201,23 @@
}, },
"id": 8, "id": 8,
"panels": [], "panels": [],
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"refId": "A"
}
],
"title": "Gauges", "title": "Gauges",
"type": "row" "type": "row"
}, },
{ {
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
"color": { "color": {
@ -229,7 +234,7 @@
} }
] ]
}, },
"unit": "Mbits" "unit": "binbps"
}, },
"overrides": [] "overrides": []
}, },
@ -241,7 +246,11 @@
}, },
"id": 10, "id": 10,
"options": { "options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto", "orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": [
"lastNotNull" "lastNotNull"
@ -249,28 +258,34 @@
"fields": "", "fields": "",
"values": false "values": false
}, },
"showThresholdLabels": false, "showPercentChange": false,
"showThresholdMarkers": true, "textMode": "auto",
"text": {} "wideLayout": true
}, },
"pluginVersion": "8.4.3", "pluginVersion": "11.1.0",
"targets": [ "targets": [
{ {
"datasource": { "datasource": {
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"editorMode": "code",
"exemplar": true, "exemplar": true,
"expr": "speedtest_download_bits_per_second{instance=\"$instance\", job=\"$job\"}*10^-6", "expr": "sum(speedtest_download_bits_per_second{job=~\"$job\"}) without (instance,pod)",
"interval": "", "interval": "",
"legendFormat": "", "legendFormat": "",
"range": true,
"refId": "A" "refId": "A"
} }
], ],
"title": "Download Speed", "title": "Download Speed",
"type": "gauge" "type": "stat"
}, },
{ {
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
"color": { "color": {
@ -287,7 +302,7 @@
} }
] ]
}, },
"unit": "Mbits" "unit": "binbps"
}, },
"overrides": [] "overrides": []
}, },
@ -299,7 +314,11 @@
}, },
"id": 12, "id": 12,
"options": { "options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto", "orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": [
"lastNotNull" "lastNotNull"
@ -307,27 +326,34 @@
"fields": "", "fields": "",
"values": false "values": false
}, },
"showThresholdLabels": false, "showPercentChange": false,
"showThresholdMarkers": true "textMode": "auto",
"wideLayout": true
}, },
"pluginVersion": "8.4.3", "pluginVersion": "11.1.0",
"targets": [ "targets": [
{ {
"datasource": { "datasource": {
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"editorMode": "code",
"exemplar": true, "exemplar": true,
"expr": "speedtest_upload_bits_per_second{instance=\"$instance\", job=\"$job\"}*10^-6", "expr": "sum(speedtest_upload_bits_per_second{job=~\"$job\"}) without (instance,pod)",
"interval": "", "interval": "",
"legendFormat": "", "legendFormat": "",
"range": true,
"refId": "A" "refId": "A"
} }
], ],
"title": "Upload Speed", "title": "Upload Speed",
"type": "gauge" "type": "stat"
}, },
{ {
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
"color": { "color": {
@ -356,7 +382,11 @@
}, },
"id": 13, "id": 13,
"options": { "options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto", "orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": [
"lastNotNull" "lastNotNull"
@ -364,27 +394,35 @@
"fields": "", "fields": "",
"values": false "values": false
}, },
"showThresholdLabels": false, "showPercentChange": false,
"showThresholdMarkers": true "textMode": "auto",
"wideLayout": true
}, },
"pluginVersion": "8.4.3", "pluginVersion": "11.1.0",
"targets": [ "targets": [
{ {
"datasource": { "datasource": {
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"exemplar": true, "editorMode": "code",
"expr": "speedtest_ping_latency_milliseconds{instance=\"$instance\", job=\"$job\"}", "exemplar": false,
"expr": "avg(speedtest_ping_latency_milliseconds{job=~\"$job\"}) without (instance,pod)",
"instant": false,
"interval": "", "interval": "",
"legendFormat": "", "legendFormat": "",
"range": true,
"refId": "A" "refId": "A"
} }
], ],
"title": "Ping", "title": "Ping",
"type": "gauge" "type": "stat"
}, },
{ {
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
"color": { "color": {
@ -413,7 +451,11 @@
}, },
"id": 11, "id": 11,
"options": { "options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto", "orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": [
"lastNotNull" "lastNotNull"
@ -421,28 +463,36 @@
"fields": "", "fields": "",
"values": false "values": false
}, },
"showThresholdLabels": false, "showPercentChange": false,
"showThresholdMarkers": true "textMode": "auto",
"wideLayout": true
}, },
"pluginVersion": "8.4.3", "pluginVersion": "11.1.0",
"targets": [ "targets": [
{ {
"datasource": { "datasource": {
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"exemplar": true, "editorMode": "code",
"expr": "speedtest_jitter_latency_milliseconds{instance=\"$instance\", job=\"$job\"}", "exemplar": false,
"expr": "avg(speedtest_jitter_latency_milliseconds{job=~\"$job\"}) without (instance,pod)",
"instant": false,
"interval": "", "interval": "",
"legendFormat": "", "legendFormat": "",
"range": true,
"refId": "A" "refId": "A"
} }
], ],
"title": "Jitter", "title": "Jitter",
"type": "gauge" "type": "stat"
}, },
{ {
"collapsed": false, "collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -451,10 +501,23 @@
}, },
"id": 6, "id": 6,
"panels": [], "panels": [],
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"refId": "A"
}
],
"title": "Graphics", "title": "Graphics",
"type": "row" "type": "row"
}, },
{ {
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "", "description": "",
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
@ -462,17 +525,21 @@
"mode": "palette-classic" "mode": "palette-classic"
}, },
"custom": { "custom": {
"axisLabel": "Download Speed", "axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto", "axisPlacement": "auto",
"barAlignment": 0, "barAlignment": 0,
"drawStyle": "line", "drawStyle": "line",
"fillOpacity": 100, "fillOpacity": 50,
"gradientMode": "opacity", "gradientMode": "opacity",
"hideFrom": { "hideFrom": {
"legend": false, "legend": false,
"tooltip": false, "tooltip": false,
"viz": false "viz": false
}, },
"insertNulls": false,
"lineInterpolation": "linear", "lineInterpolation": "linear",
"lineWidth": 1, "lineWidth": 1,
"pointSize": 5, "pointSize": 5,
@ -503,9 +570,22 @@
} }
] ]
}, },
"unit": "Mbits" "unit": "binbps"
}, },
"overrides": [] "overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "/Upload: .*/"
},
"properties": [
{
"id": "custom.transform",
"value": "negative-Y"
}
]
}
]
}, },
"gridPos": { "gridPos": {
"h": 9, "h": 9,
@ -519,10 +599,11 @@
"calcs": [ "calcs": [
"mean", "mean",
"max", "max",
"min" "logmin"
], ],
"displayMode": "table", "displayMode": "table",
"placement": "bottom" "placement": "right",
"showLegend": true
}, },
"tooltip": { "tooltip": {
"mode": "multi", "mode": "multi",
@ -536,125 +617,57 @@
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"editorMode": "code",
"exemplar": true, "exemplar": true,
"expr": "speedtest_download_bits_per_second{instance=\"$instance\", job=\"$job\"}*10^-6", "expr": "sum(speedtest_download_bits_per_second{job=~\"$job\"}) without (instance,pod)",
"interval": "", "interval": "",
"legendFormat": "Download Speed (Mbits/s)", "legendFormat": "Download: {{ instance }}",
"range": true,
"refId": "A" "refId": "A"
}
],
"title": "Download Speed (Mbits/s)",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "Upload Speed",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 100,
"gradientMode": "opacity",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "Mbits"
}, },
"overrides": []
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 22
},
"id": 3,
"options": {
"legend": {
"calcs": [
"mean",
"max",
"min"
],
"displayMode": "table",
"placement": "bottom"
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "8.4.3",
"targets": [
{ {
"datasource": { "datasource": {
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"exemplar": true, "editorMode": "code",
"expr": "speedtest_upload_bits_per_second{instance=\"$instance\", job=\"$job\"}*10^-6", "expr": "sum(speedtest_upload_bits_per_second{job=~\"$job\"}) without (instance,pod)",
"interval": "", "hide": false,
"legendFormat": "Upload Speed (Mbits/s)", "instant": false,
"refId": "A" "legendFormat": "Upload: {{ instance }}",
"range": true,
"refId": "B"
} }
], ],
"title": "Upload Speed (Mbits/s)", "title": "Traffic Speed",
"type": "timeseries" "type": "timeseries"
}, },
{ {
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": { "fieldConfig": {
"defaults": { "defaults": {
"color": { "color": {
"mode": "palette-classic" "mode": "palette-classic"
}, },
"custom": { "custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "Time", "axisLabel": "Time",
"axisPlacement": "auto", "axisPlacement": "auto",
"barAlignment": 0, "barAlignment": 0,
"drawStyle": "line", "drawStyle": "line",
"fillOpacity": 100, "fillOpacity": 10,
"gradientMode": "opacity", "gradientMode": "opacity",
"hideFrom": { "hideFrom": {
"legend": false, "legend": false,
"tooltip": false, "tooltip": false,
"viz": false "viz": false
}, },
"insertNulls": false,
"lineInterpolation": "linear", "lineInterpolation": "linear",
"lineWidth": 1, "lineWidth": 1,
"pointSize": 5, "pointSize": 5,
@ -687,13 +700,26 @@
}, },
"unit": "ms" "unit": "ms"
}, },
"overrides": [] "overrides": [
{
"matcher": {
"id": "byName",
"options": "Jitter (ms)"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "right"
}
]
}
]
}, },
"gridPos": { "gridPos": {
"h": 9, "h": 9,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 31 "y": 22
}, },
"id": 4, "id": 4,
"options": { "options": {
@ -701,10 +727,11 @@
"calcs": [ "calcs": [
"mean", "mean",
"max", "max",
"min" "logmin"
], ],
"displayMode": "table", "displayMode": "table",
"placement": "bottom" "placement": "right",
"showLegend": true
}, },
"tooltip": { "tooltip": {
"mode": "multi", "mode": "multi",
@ -718,10 +745,12 @@
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"editorMode": "code",
"exemplar": true, "exemplar": true,
"expr": "speedtest_ping_latency_milliseconds{instance=\"$instance\", job=\"$job\"}", "expr": "avg(speedtest_ping_latency_milliseconds{job=~\"$job\"}) without (instance,pod)",
"interval": "", "interval": "",
"legendFormat": "Ping (ms)", "legendFormat": "Ping (ms)",
"range": true,
"refId": "A" "refId": "A"
}, },
{ {
@ -729,8 +758,9 @@
"type": "prometheus", "type": "prometheus",
"uid": "${DS_PROMETHEUS}" "uid": "${DS_PROMETHEUS}"
}, },
"editorMode": "code",
"exemplar": true, "exemplar": true,
"expr": "speedtest_jitter_latency_milliseconds{instance=\"$instance\", job=\"$job\"}", "expr": "avg(speedtest_jitter_latency_milliseconds{job=~\"$job\"}) without (instance,pod)",
"instant": false, "instant": false,
"interval": "", "interval": "",
"legendFormat": "Jitter (ms)", "legendFormat": "Jitter (ms)",
@ -742,38 +772,50 @@
} }
], ],
"refresh": "5m", "refresh": "5m",
"schemaVersion": 35, "schemaVersion": 39,
"style": "dark", "tags": [
"tags": [], "network"
],
"templating": { "templating": {
"list": [ "list": [
{ {
"current": {}, "current": {
"definition": "label_values(speedtest_up, instance)", "selected": false,
"text": "default",
"value": "default"
},
"hide": 0, "hide": 0,
"includeAll": false, "includeAll": false,
"label": "Instance", "label": "datasource",
"multi": false, "multi": false,
"name": "instance", "name": "DS_PROMETHEUS",
"options": [], "options": [],
"query": { "query": "prometheus",
"query": "label_values(speedtest_up, instance)", "queryValue": "",
"refId": "StandardVariableQuery"
},
"refresh": 1, "refresh": 1,
"regex": "", "regex": "",
"skipUrlSync": false, "skipUrlSync": false,
"sort": 0, "type": "datasource"
"type": "query",
"datasource": "${DS_PROMETHEUS}"
}, },
{ {
"current": {}, "allValue": ".*",
"current": {
"selected": true,
"text": [
"All"
],
"value": [
"$__all"
]
},
"datasource": {
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(speedtest_up, job)", "definition": "label_values(speedtest_up, job)",
"hide": 0, "hide": 0,
"includeAll": false, "includeAll": true,
"label": "Job", "label": "Job",
"multi": false, "multi": true,
"name": "job", "name": "job",
"options": [], "options": [],
"query": { "query": {
@ -784,19 +826,18 @@
"regex": "", "regex": "",
"skipUrlSync": false, "skipUrlSync": false,
"sort": 0, "sort": 0,
"type": "query", "type": "query"
"datasource": "${DS_PROMETHEUS}"
} }
] ]
}, },
"time": { "time": {
"from": "now-24h", "from": "now-2d",
"to": "now" "to": "now"
}, },
"timepicker": {}, "timepicker": {},
"timezone": "", "timezone": "",
"title": "Speedtest-Exporter Dashboard", "title": "Speedtest-Exporter Dashboard",
"uid": "-fs18ztMz", "uid": "-fs18ztMz",
"version": 10, "version": 1,
"weekStart": "" "weekStart": ""
} }