diff --git a/README.md b/README.md index 9599ed6..970b6f5 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,12 @@ A promethus exporter for the Huawei series of 4G LTE routers, exporting various ## Data Availability -Different operators appear to provide different signal information, so not all values will be available across all operators. A handy way to identify the available information is to login to your router and then view [device api](http://192.168.8.1/api/device/signal) and view source. +Different connection types expose different signal data: + +* 3G connections expose rssi, rscp and ec/io +* 4G connections expose rssi, rscp, rsrq and sinr + + A handy way to validate the available information is to login to your router and then visit [device api](http://192.168.8.1/api/device/signal) and view source. ## Install @@ -63,7 +68,7 @@ rsrq{deviceName="B535-232",iccid="111",band="3"} 11 ### Grafana -Example dashboard for Three (UK) [config](/examples/grafana.json) +Example dashboard [config](/examples/grafana.json) Guage values taken from: https://wiki.teltonika-networks.com/view/Mobile_Signal_Strength_Recommendations diff --git a/examples/grafana.json b/examples/grafana.json index 00babac..fc29239 100644 --- a/examples/grafana.json +++ b/examples/grafana.json @@ -1,4 +1,46 @@ { + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "Prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "panel", + "id": "gauge", + "name": "Gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "6.6.1" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + } + ], "annotations": { "list": [ { @@ -16,13 +58,13 @@ "editable": true, "gnetId": 11229, "graphTooltip": 0, - "id": 17, - "iteration": 1586270780414, + "id": null, + "iteration": 1586515073733, "links": [], "panels": [ { "collapsed": false, - "datasource": null, + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 1, "w": 24, @@ -31,11 +73,11 @@ }, "id": 36, "panels": [], - "title": "4G Interface", + "title": "4G", "type": "row" }, { - "datasource": null, + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 4, "w": 6, @@ -107,7 +149,7 @@ "type": "gauge" }, { - "datasource": null, + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 4, "w": 6, @@ -171,7 +213,7 @@ "type": "gauge" }, { - "datasource": null, + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 4, "w": 6, @@ -243,7 +285,7 @@ "type": "gauge" }, { - "datasource": null, + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 4, "w": 6, @@ -319,7 +361,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "${DS_PROMETHEUS}", "fill": 1, "fillGradient": 0, "gridPos": { @@ -411,7 +453,7 @@ "bars": false, "dashLength": 10, "dashes": false, - "datasource": null, + "datasource": "${DS_PROMETHEUS}", "fill": 1, "fillGradient": 0, "gridPos": { @@ -499,7 +541,7 @@ } }, { - "datasource": null, + "datasource": "${DS_PROMETHEUS}", "gridPos": { "h": 3, "w": 24, @@ -549,6 +591,236 @@ "timeShift": null, "title": "4G Band", "type": "stat" + }, + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 15 + }, + "id": 48, + "panels": [], + "title": "3G", + "type": "row" + }, + { + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 4, + "w": 6, + "x": 0, + "y": 16 + }, + "id": 50, + "options": { + "fieldOptions": { + "calcs": [ + "lastNotNull" + ], + "defaults": { + "mappings": [], + "max": -55, + "min": -95, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": -85 + }, + { + "color": "orange", + "value": -75 + }, + { + "color": "yellow", + "value": -75 + }, + { + "color": "yellow", + "value": -65 + }, + { + "color": "green", + "value": -65 + }, + { + "color": "green", + "value": -55 + } + ] + }, + "unit": "dB" + }, + "overrides": [], + "values": false + }, + "orientation": "auto", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "6.6.1", + "targets": [ + { + "expr": "rssi", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "rssi", + "type": "gauge" + }, + { + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 4, + "w": 6, + "x": 6, + "y": 16 + }, + "id": 52, + "options": { + "fieldOptions": { + "calcs": [ + "lastNotNull" + ], + "defaults": { + "mappings": [], + "max": 0, + "min": -124, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "red", + "value": -95 + }, + { + "color": "red", + "value": -85 + }, + { + "color": "orange", + "value": -85 + }, + { + "color": "orange", + "value": -75 + }, + { + "color": "#EAB839", + "value": -75 + }, + { + "color": "yellow", + "value": -60 + }, + { + "color": "green", + "value": -60 + }, + { + "color": "green", + "value": 0 + } + ] + }, + "unit": "dBm" + }, + "overrides": [], + "values": false + }, + "orientation": "auto", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "6.6.1", + "targets": [ + { + "expr": "rscp", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "rscp", + "type": "gauge" + }, + { + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 4, + "w": 6, + "x": 12, + "y": 16 + }, + "id": 53, + "options": { + "fieldOptions": { + "calcs": [ + "lastNotNull" + ], + "defaults": { + "mappings": [], + "max": 0, + "min": -20, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "red", + "value": -11 + }, + { + "color": "yellow", + "value": -10 + }, + { + "color": "yellow", + "value": -7 + }, + { + "color": "green", + "value": -6 + } + ] + }, + "unit": "dB" + }, + "overrides": [], + "values": false + }, + "orientation": "auto", + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "6.6.1", + "targets": [ + { + "expr": "ecio", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "ec/io", + "type": "gauge" } ], "refresh": false, @@ -606,7 +878,7 @@ ] }, "timezone": "browser", - "title": "Internet Router", + "title": "huawei_lte_exporter", "uid": "BuyqDpjWk", - "version": 1 -} + "version": 2 +} \ No newline at end of file