Prometheus exporter for Huawei LTE routers
This repository has been archived on 2024-10-15. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
sebclem 5d17a75e7e
All checks were successful
ci / docker (push) Successful in 13s
Merge pull request '⬆️ Update python Docker tag to v3.12.5' (#5) from renovate/python-3.x into main
Reviewed-on: #5
2024-08-08 15:03:28 +02:00
.gitea/workflows ⬆️ Update docker/build-push-action action to v6 2024-06-18 01:10:55 +00:00
examples Updated dashboard for 3G signal information 2020-04-10 11:43:17 +01:00
.gitignore Initial commit 2020-04-06 21:27:29 +01:00
Dockerfile ⬆️ Update python Docker tag to v3.12.5 2024-08-08 01:04:11 +00:00
huwawei_lte_exporter Logout user 2024-03-28 11:00:54 +01:00
huwawei_lte_exporter.ini Update huwawei_lte_exporter.ini 2024-03-26 15:07:11 +01:00
README.md Fixing typo 2020-04-10 12:05:06 +01:00
renovate.json Add renovate.json 2024-04-02 12:24:58 +02:00
requirements.txt Initial commit 2020-04-06 21:27:29 +01:00

huawei_lte_exporter

A promethus exporter for the Huawei series of 4G LTE routers, exporting various LTE signal strength measures e.g. rssi, sinr etc ... It should be compatible with a range of Huawei routers including B310, B315, B525 and B535. A full range is listed at huawei-lte-api.

Example

Grafana Dashboard Screenshot

Data Availability

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 and view source.

Install

Follow the usual docker build and run flow.

Required environment variables:

  • ROUTER_ADDRESS - IP address of the Huawei router on your network (typically '192.168.8.1')
  • ROUTER_USER - Username to login to the router (typically 'admin')
  • ROUTER_PASS - Password to login to the router (typically 'admin')
  • PROM_PORT - Port to start the exporter on in the container
docker build -t huawei_lte_exporter .

export ROUTER_ADDRESS=192.168.8.1
export ROUTER_USER=admin
export ROUTER_PASS=admin
export PROM_PORT=8080

docker run -d -it -p $PROM_PORT:$PROM_PORT -e ROUTER_ADDRESS=$ROUTER_ADDRESS -e ROUTER_USER=$ROUTER_USER -e ROUTER_PASS=$ROUTER_PASS -e PROM_PORT=$PROM_PORT --name=hle huawei_lte_exporter
sleep 5
curl http://localhost:$PROM_PORT

#HELP band The signal band the LTE connection is using
#TYPE band gauge
band{deviceName="B535-232",iccid="8944200119514034161"} 20
#HELP rsrp The average power received from a single Reference signal in dBm
#TYPE rsrp gauge
rsrp{deviceName="B535-232",iccid="8944200119514034161"} -75
#HELP rsrq Indicates quality of the received signal in db
#TYPE rsrq gauge
rsrq{deviceName="B535-232",iccid="8944200119514034161"} -9.0
#HELP rssi Represents the entire received power including the wanted power from the serving cell as well as all co-channel power and other sources of noise in dBm
#TYPE rssi gauge
rssi{deviceName="B535-232",iccid="8944200119514034161"} -53
#HELP sinr The signal-to-noise ratio of the given signal in dB
#TYPE sinr gauge
sinr{deviceName="B535-232",iccid="8944200119514034161"} 18

Configure

Prometheus

  - job_name: '4g'
    scrape_interval: 1m
    static_configs:
    - targets:
      - server.home:8080

Grafana

Example dashboard config

Guage values taken from: https://wiki.teltonika-networks.com/view/Mobile_Signal_Strength_Recommendations

Todo