apiVersion: v1 kind: ConfigMap metadata: name: telemt-dashboard labels: grafana_dashboard: "1" data: telemt.json: |- { "annotations": { "list": [] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, "id": null, "links": [], "liveNow": false, "panels": [ { "title": "Nodes Overview", "type": "table", "gridPos": { "h": 8, "w": 24, "x": 0, "y": 0 }, "id": 1, "fieldConfig": { "defaults": { "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Uptime" }, "properties": [ { "id": "unit", "value": "dtdurations" }, { "id": "custom.width", "value": 140 } ] }, { "matcher": { "id": "byName", "options": "Bad Conn" }, "properties": [ { "id": "thresholds", "value": { "mode": "absolute", "steps": [{ "color": "green", "value": null }, { "color": "yellow", "value": 10 }, { "color": "red", "value": 100 }] } }, { "id": "custom.cellOptions", "value": { "type": "color-background", "mode": "basic" } } ] }, { "matcher": { "id": "byName", "options": "Writers" }, "properties": [ { "id": "thresholds", "value": { "mode": "absolute", "steps": [{ "color": "red", "value": null }, { "color": "green", "value": 1 }] } }, { "id": "custom.cellOptions", "value": { "type": "color-background", "mode": "basic" } } ] } ] }, "options": { "showHeader": true, "sortBy": [{ "displayName": "Node", "desc": false }], "frameIndex": 0, "footer": { "show": false } }, "transformations": [ { "id": "joinByField", "options": { "byField": "node", "mode": "outer" } }, { "id": "organize", "options": { "excludeByName": { "Time": true, "Time 1": true, "Time 2": true, "Time 3": true, "Time 4": true, "Time 5": true, "Time 6": true }, "renameByName": { "node": "Node", "Value #uptime": "Uptime", "Value #writers": "Writers", "Value #buffers": "Buffers In Use", "Value #connections": "Connections", "Value #bad": "Bad Conn", "Value #hs_timeout": "HS Timeouts" } } } ], "targets": [ { "expr": "telemt_uptime_seconds{node=~\"$node\"}", "legendFormat": "", "refId": "uptime", "format": "table", "instant": true }, { "expr": "telemt_me_writers_active_current{node=~\"$node\"}", "legendFormat": "", "refId": "writers", "format": "table", "instant": true }, { "expr": "telemt_buffer_pool_buffers_total{node=~\"$node\", kind=\"in_use\"}", "legendFormat": "", "refId": "buffers", "format": "table", "instant": true }, { "expr": "telemt_connections_total{node=~\"$node\"}", "legendFormat": "", "refId": "connections", "format": "table", "instant": true }, { "expr": "telemt_connections_bad_total{node=~\"$node\"}", "legendFormat": "", "refId": "bad", "format": "table", "instant": true }, { "expr": "telemt_handshake_timeouts_total{node=~\"$node\"}", "legendFormat": "", "refId": "hs_timeout", "format": "table", "instant": true } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "Connections Rate", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 }, "id": 10, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "unit": "cps", "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "rate(telemt_connections_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} accepted", "refId": "A" }, { "expr": "rate(telemt_connections_bad_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} bad", "refId": "B" }, { "expr": "rate(telemt_handshake_timeouts_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} hs timeout", "refId": "C" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "Upstream Connect", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 }, "id": 11, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "unit": "cps", "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "rate(telemt_upstream_connect_success_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} success", "refId": "A" }, { "expr": "rate(telemt_upstream_connect_fail_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} fail", "refId": "B" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "Upstream Connect Duration (success)", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 16 }, "id": 12, "fieldConfig": { "defaults": { "custom": { "drawStyle": "bars", "fillOpacity": 50, "stacking": { "mode": "normal" } }, "unit": "short", "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "increase(telemt_upstream_connect_duration_success_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} {{bucket}}", "refId": "A" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "ME Writers & Pool", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 16 }, "id": 13, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "telemt_me_writers_active_current{node=~\"$node\"}", "legendFormat": "{{node}} active", "refId": "A" }, { "expr": "telemt_me_writers_warm_current{node=~\"$node\"}", "legendFormat": "{{node}} warm", "refId": "B" }, { "expr": "telemt_pool_drain_active{node=~\"$node\"}", "legendFormat": "{{node}} draining", "refId": "C" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "Per-User Active Connections", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 24 }, "id": 20, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "telemt_user_connections_current{node=~\"$node\"}", "legendFormat": "{{node}} {{user}}", "refId": "A" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "Per-User Traffic", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 24 }, "id": 21, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "unit": "Bps", "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "rate(telemt_user_octets_from_client{node=~\"$node\"}[5m])", "legendFormat": "{{node}} {{user}} rx", "refId": "A" }, { "expr": "rate(telemt_user_octets_to_client{node=~\"$node\"}[5m])", "legendFormat": "{{node}} {{user}} tx", "refId": "B" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "DC->Client Payload", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 32 }, "id": 30, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "unit": "Bps", "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "rate(telemt_me_d2c_payload_bytes_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} payload", "refId": "A" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "ME Errors & Anomalies", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 32 }, "id": 31, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "unit": "cps", "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "rate(telemt_me_reconnect_attempts_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} reconnect", "refId": "A" }, { "expr": "rate(telemt_me_handshake_reject_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} hs reject", "refId": "B" }, { "expr": "rate(telemt_me_crc_mismatch_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} crc mismatch", "refId": "C" }, { "expr": "rate(telemt_desync_total{node=~\"$node\"}[5m])", "legendFormat": "{{node}} desync", "refId": "D" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "Per-User Unique IPs", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 40 }, "id": 40, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "telemt_user_unique_ips_current{node=~\"$node\"}", "legendFormat": "{{node}} {{user}} active", "refId": "A" }, { "expr": "telemt_user_unique_ips_recent_window{node=~\"$node\"}", "legendFormat": "{{node}} {{user}} recent", "refId": "B" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } }, { "title": "Conntrack", "type": "timeseries", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 40 }, "id": 41, "fieldConfig": { "defaults": { "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "fillOpacity": 15, "pointSize": 5, "showPoints": "auto" }, "unit": "cps", "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "list", "placement": "bottom" } }, "targets": [ { "expr": "rate(telemt_conntrack_delete_total{node=~\"$node\", result=\"attempt\"}[5m])", "legendFormat": "{{node}} delete attempt", "refId": "A" }, { "expr": "rate(telemt_conntrack_delete_total{node=~\"$node\", result=\"error\"}[5m])", "legendFormat": "{{node}} delete error", "refId": "B" }, { "expr": "telemt_conntrack_event_queue_depth{node=~\"$node\"}", "legendFormat": "{{node}} queue depth", "refId": "C" } ], "datasource": { "type": "prometheus", "uid": "${datasource}" } } ], "refresh": "30s", "schemaVersion": 39, "tags": ["telemt", "mtproxy", "telegram"], "templating": { "list": [ { "current": {}, "hide": 0, "includeAll": false, "label": "Datasource", "multi": false, "name": "datasource", "options": [], "query": "prometheus", "refresh": 1, "regex": "", "skipUrlSync": false, "type": "datasource" }, { "current": {}, "datasource": { "type": "prometheus", "uid": "${datasource}" }, "definition": "label_values(telemt_uptime_seconds, node)", "hide": 0, "includeAll": true, "label": "Node", "multi": true, "name": "node", "query": "label_values(telemt_uptime_seconds, node)", "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 1, "type": "query" } ] }, "time": { "from": "now-6h", "to": "now" }, "title": "Telemt MTProxy", "uid": "telemt-mtproxy" }