Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cfstras/hitron-exporter
Prometheus exporter for Hitron CGNV4-FX2
https://github.com/cfstras/hitron-exporter
hitron hitronhub prometheus prometheus-exporter prometheus-metrics
Last synced: about 1 month ago
JSON representation
Prometheus exporter for Hitron CGNV4-FX2
- Host: GitHub
- URL: https://github.com/cfstras/hitron-exporter
- Owner: cfstras
- License: mit
- Created: 2021-04-03T12:28:17.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-05-02T08:50:47.000Z (over 1 year ago)
- Last Synced: 2024-06-21T01:43:22.106Z (5 months ago)
- Topics: hitron, hitronhub, prometheus, prometheus-exporter, prometheus-metrics
- Language: Go
- Homepage:
- Size: 54.7 KB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# hitron-exporter
Metrics exporter for Hitron CGNV4-FX2 routers, which are (used to be?) distributed as part of Unitymedia/Vodafone Business cable internet.
## Running
```bash
docker run -it --rm -p 9101:80 ghcr.io/cfstras/hitron-exporter:latest --host --pass XYZ
```### docker-compose
```yaml
hitron_exporter:
image: ghcr.io/cfstras/hitron-exporter:latest
command:
- --pass=mySecretPassword
# - --user=admin
# - --host=http://192.168.0.1:80/
ports:
- 9101:80
restart: unless-stopped
```### Example output
```bash
➜ curl localhost/metrics
# HELP hitron_address Hardware and IP Addresses in labels
# TYPE hitron_address gauge
hitron_address{lan_ip="192.168.0.1/24",rf_mac="68:XX:YY:ZZ:AA:BB",wan_ip="1.2.3.4/21"} 1
# HELP hitron_cm_bpi_status DOCSIS Provisioning BPI Status
# TYPE hitron_cm_bpi_status gauge
hitron_cm_bpi_status{auth="authorized",tek="operational"} 1
# HELP hitron_cm_dhcp_lease_duration DOCSIS DHCP Lease duration
# TYPE hitron_cm_dhcp_lease_duration counter
hitron_cm_dhcp_lease_duration 259200
# HELP hitron_cm_dhcp_success DOCSIS Provisioning DHCP Status
# TYPE hitron_cm_dhcp_success gauge
hitron_cm_dhcp_success 1
# HELP hitron_cm_docsis_addr DOCSIS IP Addresses
# TYPE hitron_cm_docsis_addr gauge
hitron_cm_docsis_addr{gateway="10.40.XX.YY",ip="10.40.XX.YY",netmask="255.255.240.0"} 1
# HELP hitron_cm_download_config_success DOCSIS Provisioning Download CM Config File Status
# TYPE hitron_cm_download_config_success gauge
hitron_cm_download_config_success 1
# HELP hitron_cm_find_downstream_success DOCSIS Provisioning Lock Downstream Status
# TYPE hitron_cm_find_downstream_success gauge
hitron_cm_find_downstream_success 1
# HELP hitron_cm_hwinit_success DOCSIS Provisioning HWInit Status
# TYPE hitron_cm_hwinit_success gauge
hitron_cm_hwinit_success 1
# HELP hitron_cm_network_access_status DOCSIS Network Access Permission
# TYPE hitron_cm_network_access_status gauge
hitron_cm_network_access_status 1
# HELP hitron_cm_ranging_success DOCSIS Provisioning Ranging Status
# TYPE hitron_cm_ranging_success gauge
hitron_cm_ranging_success 1
# HELP hitron_cm_registration_success DOCSIS Provisioning Registration Status
# TYPE hitron_cm_registration_success gauge
hitron_cm_registration_success 1
# HELP hitron_info_uptime System uptime
# TYPE hitron_info_uptime counter
hitron_info_uptime 525245
# HELP hitron_lan_device LAN Device table
# TYPE hitron_lan_device gauge
hitron_lan_device{comnum="1",interface="Ethernet",ip="192.168.0.12",ip_type="static",ip_version="IPv4",mac="XX:YY:ZZ:AA:BB:CC"} 1
hitron_lan_device{comnum="1",interface="Ethernet",ip="192.168.0.2",ip_type="static",ip_version="IPv4",mac="XX:YY:ZZ:AA:BB:CC"} 1
hitron_lan_device{comnum="1",interface="Ethernet",ip="192.168.0.20",ip_type="dhcp",ip_version="IPv4",mac="XX:YY:ZZ:AA:BB:CC"} 1
hitron_lan_device{comnum="1",interface="Ethernet",ip="192.168.0.21",ip_type="dhcp",ip_version="IPv4",mac="XX:YY:ZZ:AA:BB:CC"} 1
hitron_lan_device{comnum="1",interface="Ethernet",ip="192.168.0.22",ip_type="dhcp",ip_version="IPv4",mac="XX:YY:ZZ:AA:BB:CC"} 1
hitron_lan_device{comnum="1",interface="Ethernet",ip="192.168.0.26",ip_type="dhcp",ip_version="IPv4",mac="XX:YY:ZZ:AA:BB:CC"} 0
# HELP hitron_login_success_bool 1 if the login was successful
# TYPE hitron_login_success_bool gauge
hitron_login_success_bool 1
# HELP hitron_scrape_time Time the scrape run took
# TYPE hitron_scrape_time gauge
hitron_scrape_time{component="CMDocsisWAN"} 0.281379708
hitron_scrape_time{component="CMInit"} 0.372671959
hitron_scrape_time{component="ConnectInfo"} 1.81596975
hitron_scrape_time{component="DownstreamInfo"} 0.24948125
hitron_scrape_time{component="Info"} 0.610619958
hitron_scrape_time{component="UpstreamInfo"} 0.127571375
hitron_scrape_time{component="all"} 4.880440167
hitron_scrape_time{component="login"} 0.898155542
# HELP hitron_traffic Basic traffic counters. if=wan/lan, dir=send/recv.
# TYPE hitron_traffic counter
hitron_traffic{dir="recv",if="lan"} 1.04112062464e+09
hitron_traffic{dir="recv",if="wan"} 9.5321849856e+08
hitron_traffic{dir="send",if="lan"} 1.83609851904e+09
hitron_traffic{dir="send",if="wan"} 6.4627933184e+08
# HELP hitron_version Versions in labels
# TYPE hitron_version gauge
hitron_version{hw_version="1A",serial="VCA123456",sw_version="4.1.2.3-SNIP"} 1
```
## LicenseSee [LICENSE.md](LICENSE.md)
Heavily inspired by and structure stolen from [fluepke's vodafone-station-exporter](https://github.com/Fluepke/vodafone-station-exporter).