ConnectBox Exporter
![Codecov](https://codecov.io/gh/tetafro/connectbox-exporter/branch/master/graph/badge.svg)
A Prometheus exporter for ConnectBox routers used by Ziggo internet provider
in the Netherlands.
Client with full API: connectbox.
Mostly copied from compal_CH7465LG_py
and connectbox-prometheus.
Run
Use docker
Create a config file config.yml
(example).
docker run -d \
--volume /host-dir/config.yml:/etc/prometheus/connectbox-exporter.yml \
--publish 9119:9119 \
--name connectbox-exporter \
ghcr.io/tetafro/connectbox-exporter:latest
Download binary
Download and unpack latest release.
Create a config file config.yml
(example).
Run
./connectbox-exporter -config config.yml
Build from sources
Clone the repository
git clone git@github.com:tetafro/connectbox-exporter.git
cd connectbox-exporter
Copy and populate config
cp config.example.yml config.yml
Build and run
make build run
Get metrics
Get exporter internal metrics
curl 'http://localhost:9119/metrics'
Get ConnectBox metrics
curl 'http://localhost:9119/probe?target=192.168.178.1'
Metrics
Name |
Type |
Description |
connect_box_cm_docsis_mode |
gauge |
DocSis mode |
connect_box_cm_hardware_version |
gauge |
Hardware version |
connect_box_cm_mac_addr |
gauge |
MAC address |
connect_box_cm_network_access |
gauge |
Network access |
connect_box_cm_serial_number |
gauge |
Serial number |
connect_box_cm_system_uptime |
gauge |
System uptime |
connect_box_lan_client |
gauge |
LAN client |
connect_box_oper_state |
gauge |
Operational state |
connect_box_temperature |
gauge |
Temperature |
connect_box_tunner_temperature |
gauge |
Tunner temperature |
connect_box_wan_ipv4_addr |
gauge |
WAN IPv4 address |
connect_box_wan_ipv6_addr |
gauge |
WAN IPv6 address |
Prometheus config
Prometheus config with relabling to set the address of Connectbox instead of
the address of the Prometheus instance on collected metrics
scrape_configs:
- job_name: connectbox
metrics_path: /probe
static_configs:
- targets: [connectbox.domain] # connectbox host or ip
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: "prometheus.domain:9119" # prometheus host or ip