{ "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Graph ICMP metrics from the blackbox exporter, Smokeping-style", "editable": true, "gnetId": 12412, "graphTooltip": 0, "iteration": 1603722601260, "links": [], "panels": [ { "cards": { "cardPadding": null, "cardRound": null }, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", "colorScheme": "interpolateRdYlGn", "exponent": 0.5, "min": 0, "mode": "spectrum" }, "dataFormat": "tsbuckets", "datasource": "prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 0 }, "heatmap": {}, "hideZeroBuckets": false, "highlightCards": true, "id": 7, "legend": { "show": true }, "reverseYBuckets": true, "targets": [ { "expr": "sum(probe_http_duration_seconds) by (instance)", "interval": "", "legendFormat": "{{instance}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "ICMP RTT", "tooltip": { "show": true, "showHistogram": true }, "type": "heatmap", "xAxis": { "show": true }, "xBucketNumber": null, "xBucketSize": null, "yAxis": { "decimals": null, "format": "s", "logBase": 1, "max": null, "min": null, "show": true, "splitFactor": null }, "yBucketBound": "middle", "yBucketNumber": null, "yBucketSize": null }, { "cards": { "cardPadding": null, "cardRound": null }, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", "colorScheme": "interpolateRdYlGn", "exponent": 0.5, "mode": "spectrum" }, "dataFormat": "tsbuckets", "datasource": "prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 8 }, "heatmap": {}, "hideZeroBuckets": false, "highlightCards": true, "id": 8, "legend": { "show": true }, "reverseYBuckets": true, "targets": [ { "expr": "1-avg_over_time(probe_success{instance=~\"$instance\"}[$__interval])", "format": "time_series", "hide": false, "legendFormat": "{{instance}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "ICMP packet loss", "tooltip": { "show": true, "showHistogram": true }, "type": "heatmap", "xAxis": { "show": true }, "xBucketNumber": null, "xBucketSize": null, "yAxis": { "decimals": null, "format": "percentunit", "logBase": 1, "max": null, "min": null, "show": true, "splitFactor": null }, "yBucketBound": "middle", "yBucketNumber": null, "yBucketSize": null }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "prometheus", "decimals": null, "description": "This uses the blackbox exporter, which does not expose packet loss, for example. It could be improved with https://github.com/SuperQ/smokeping_prober because it also keeps track of lost samples (https://github.com/SuperQ/smokeping_prober/issues/24). Unfortunately, that still won't make graphs as nice as smokeping, because each probe only keeps one sample, instead of doing multiple like smokeping does (https://github.com/SuperQ/smokeping_prober/issues/36).", "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 0, "fillGradient": 0, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 16 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": true, "current": true, "hideEmpty": false, "hideZero": false, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "connected", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 0.5, "points": false, "renderer": "flot", "repeat": "instance", "repeatDirection": "v", "scopedVars": { "instance": { "selected": false, "text": "github.com", "value": "github.com" } }, "seriesOverrides": [ { "alias": "packet loss", "color": "#C4162A", "lines": false, "pointradius": 1, "points": true, "yaxis": 2 } ], "spaceLength": 10, "stack": false, "steppedLine": true, "targets": [ { "expr": "sum(probe_http_duration_seconds{instance=~\"$instance\"}) by (instance) > 0", "instant": false, "interval": "", "legendFormat": "RTT", "refId": "A" }, { "expr": "1-avg_over_time(probe_success{instance=~\"$instance\"}[$__interval])", "format": "time_series", "legendFormat": "packet loss", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "ICMP round trip time ($instance)", "tooltip": { "shared": true, "sort": 1, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "decimals": null, "format": "dtdurations", "label": "RTT", "logBase": 1, "max": null, "min": "0", "show": true }, { "format": "percentunit", "label": "packet loss", "logBase": 1, "max": "1", "min": "0.0001", "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "prometheus", "decimals": null, "description": "This uses the blackbox exporter, which does not expose packet loss, for example. It could be improved with https://github.com/SuperQ/smokeping_prober because it also keeps track of lost samples (https://github.com/SuperQ/smokeping_prober/issues/24). Unfortunately, that still won't make graphs as nice as smokeping, because each probe only keeps one sample, instead of doing multiple like smokeping does (https://github.com/SuperQ/smokeping_prober/issues/36).", "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 0, "fillGradient": 0, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 23 }, "hiddenSeries": false, "id": 9, "legend": { "alignAsTable": true, "avg": true, "current": true, "hideEmpty": false, "hideZero": false, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "connected", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 0.5, "points": false, "renderer": "flot", "repeatDirection": "v", "repeatIteration": 1603722601260, "repeatPanelId": 2, "scopedVars": { "instance": { "selected": false, "text": "google.com", "value": "google.com" } }, "seriesOverrides": [ { "alias": "packet loss", "color": "#C4162A", "lines": false, "pointradius": 1, "points": true, "yaxis": 2 } ], "spaceLength": 10, "stack": false, "steppedLine": true, "targets": [ { "expr": "sum(probe_http_duration_seconds{instance=~\"$instance\"}) by (instance) > 0", "instant": false, "interval": "", "legendFormat": "RTT", "refId": "A" }, { "expr": "1-avg_over_time(probe_success{instance=~\"$instance\"}[$__interval])", "format": "time_series", "legendFormat": "packet loss", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "ICMP round trip time ($instance)", "tooltip": { "shared": true, "sort": 1, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "decimals": null, "format": "dtdurations", "label": "RTT", "logBase": 1, "max": null, "min": "0", "show": true }, { "format": "percentunit", "label": "packet loss", "logBase": 1, "max": "1", "min": "0.0001", "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "prometheus", "decimals": null, "description": "This uses the blackbox exporter, which does not expose packet loss, for example. It could be improved with https://github.com/SuperQ/smokeping_prober because it also keeps track of lost samples (https://github.com/SuperQ/smokeping_prober/issues/24). Unfortunately, that still won't make graphs as nice as smokeping, because each probe only keeps one sample, instead of doing multiple like smokeping does (https://github.com/SuperQ/smokeping_prober/issues/36).", "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 0, "fillGradient": 0, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 30 }, "hiddenSeries": false, "id": 10, "legend": { "alignAsTable": true, "avg": true, "current": true, "hideEmpty": false, "hideZero": false, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "connected", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 0.5, "points": false, "renderer": "flot", "repeatDirection": "v", "repeatIteration": 1603722601260, "repeatPanelId": 2, "scopedVars": { "instance": { "selected": false, "text": "https://192.168.1.1:8443", "value": "https://192.168.1.1:8443" } }, "seriesOverrides": [ { "alias": "packet loss", "color": "#C4162A", "lines": false, "pointradius": 1, "points": true, "yaxis": 2 } ], "spaceLength": 10, "stack": false, "steppedLine": true, "targets": [ { "expr": "sum(probe_http_duration_seconds{instance=~\"$instance\"}) by (instance) > 0", "instant": false, "interval": "", "legendFormat": "RTT", "refId": "A" }, { "expr": "1-avg_over_time(probe_success{instance=~\"$instance\"}[$__interval])", "format": "time_series", "legendFormat": "packet loss", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "ICMP round trip time ($instance)", "tooltip": { "shared": true, "sort": 1, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "decimals": null, "format": "dtdurations", "label": "RTT", "logBase": 1, "max": null, "min": "0", "show": true }, { "format": "percentunit", "label": "packet loss", "logBase": 1, "max": "1", "min": "0.0001", "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "10s", "schemaVersion": 26, "style": "dark", "tags": [], "templating": { "list": [ { "allValue": null, "current": { "selected": true, "text": [ "All" ], "value": [ "$__all" ] }, "datasource": "prometheus", "definition": "label_values(probe_success, instance)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "instance", "options": [], "query": "label_values(probe_success, instance)", "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 5, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "Blackbox probe", "uid": "oe-msimGz", "version": 1 }