fix(speedtest-exporter): improve dashboard
This commit is contained in:
parent
581addb559
commit
b7910666e9
4 changed files with 533 additions and 194 deletions
|
@ -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]
|
||||||
|
|
1
docs/modules/charts/pages/speedtest-exporter.adoc
Symbolic link
1
docs/modules/charts/pages/speedtest-exporter.adoc
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../../speedtest-exporter/README.adoc
|
296
speedtest-exporter/README.adoc
Normal file
296
speedtest-exporter/README.adoc
Normal 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]
|
|
@ -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": ""
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue