{"id":26824276,"url":"https://github.com/tomy2e/livebox-exporter","last_synced_at":"2025-04-28T11:46:05.864Z","repository":{"id":65198074,"uuid":"427450482","full_name":"Tomy2e/livebox-exporter","owner":"Tomy2e","description":"A prometheus exporter for Livebox","archived":false,"fork":false,"pushed_at":"2024-09-04T19:48:05.000Z","size":69,"stargazers_count":10,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T08:04:47.103Z","etag":null,"topics":["exporter","go","livebox","monitoring","prometheus"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tomy2e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-12T17:54:32.000Z","updated_at":"2025-01-31T19:13:37.000Z","dependencies_parsed_at":"2024-06-12T11:50:51.753Z","dependency_job_id":"c8f88d79-231b-41d7-be74-684ebde9fe7d","html_url":"https://github.com/Tomy2e/livebox-exporter","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomy2e%2Flivebox-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomy2e%2Flivebox-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomy2e%2Flivebox-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomy2e%2Flivebox-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tomy2e","download_url":"https://codeload.github.com/Tomy2e/livebox-exporter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251309031,"owners_count":21568733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exporter","go","livebox","monitoring","prometheus"],"created_at":"2025-03-30T09:19:28.739Z","updated_at":"2025-04-28T11:46:05.846Z","avatar_url":"https://github.com/Tomy2e.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# livebox-exporter\n\nA prometheus exporter for Livebox. This exporter was tested with a Livebox 5 and\nFTTH subscription.\n\n## Metrics\n\nThis exporter currently exposes the following metrics:\n\n| Name                                      | Type  | Description                                       | Labels                  | Experimental |\n| ----------------------------------------- | ----- | ------------------------------------------------- | ----------------------- | ------------ |\n| livebox_interface_rx_mbits                | gauge | Received Mbits per second                         | interface               | No           |\n| livebox_interface_tx_mbits                | gauge | Transmitted Mbits per second                      | interface               | No           |\n| livebox_device_active                     | gauge | Status of the device                              | name, type, mac         | No           |\n| livebox_device_rx_mbits                   | gauge | Received Mbits per second by device               | name, type, mac, source | No           |\n| livebox_device_tx_mbits                   | gauge | Transmitted Mbits per second by device            | name, type, mac, source | No           |\n| livebox_deviceinfo_reboots_total          | gauge | Number of Livebox reboots                         |                         | No           |\n| livebox_deviceinfo_uptime_seconds_total   | gauge | Livebox current uptime                            |                         | No           |\n| livebox_deviceinfo_memory_total_bytes     | gauge | Livebox system total memory                       |                         | No           |\n| livebox_deviceinfo_memory_usage_bytes     | gauge | Livebox system used memory                        |                         | No           |\n| livebox_ont_temperature_celsius           | gauge | Current ONT temperature                           |                         | No           |\n| livebox_ont_downstream_current_rate_bytes | gauge | Current ONT downstream rate                       |                         | No           |\n| livebox_ont_upstream_current_rate_bytes   | gauge | Current ONT upstream rate                         |                         | No           |\n| livebox_interface_homelan_rx_mbits        | gauge | Received Mbits per second                         | interface               | Yes          |\n| livebox_interface_homelan_tx_mbits        | gauge | Transmitted Mbits per second                      | interface               | Yes          |\n| livebox_interface_netdev_rx_mbits         | gauge | Received Mbits per second                         | interface               | Yes          |\n| livebox_interface_netdev_tx_mbits         | gauge | Transmitted Mbits per second                      | interface               | Yes          |\n| livebox_wan_rx_mbits                      | gauge | Received Mbits per second on the WAN interface    |                         | Yes          |\n| livebox_wan_tx_mbits                      | gauge | Transmitted Mbits per second on the WAN interface |                         | Yes          |\n\nExperimental metrics are not enabled by default, use the `-experimental`\ncommand-line option to enable them.\n\n### Limitations\n\nThis section describes some known issues and how to solve them.\n\n#### `livebox_interface_*` capped to 1 Gb/s for WAN interfaces\n\nYou should use one of the following experimental metrics if you want to monitor WAN interfaces:\n\n- `livebox_interface_homelan_*`\n- `livebox_interface_netdev_*`\n- `livebox_wan_*`\n\n#### Some metrics are no longer accurate after a few days of Livebox uptime\n\nThe following metrics are no longer accurate after a few days of Livebox uptime:\n\n- `livebox_interface`: only for `WAN_*` interfaces\n- `livebox_device_*_mbits`: only for metrics with `source=events` label\n- `livebox_interface_homelan_*`: only for WAN interfaces\n- `livebox_interface_netdev_*`: only for WAN interfaces\n- `livebox_wan_`\n\nIf you really want to monitor these metrics, you need to setup a CronJob to reboot your Livebox on a regular basis.\n\n## Grafana\n\nYou can find an example of Grafana dashboard here: \u003chttps://grafana.com/grafana/dashboards/21577-livebox/\u003e\n\n## Prometheus configuration\n\nThe exporter can sometimes answer slowly (due to livebox API being slow),\nI highly recommend setting a `scrape_timeout` of at least 15s:\n\n```yaml\n- job_name: livebox-exporter\n  scrape_timeout: 15s\n  static_configs:\n    - targets: [\"localhost:8080\"]\n```\n\n## Usage\n\n### Options\n\nThe exporter accepts the following command-line options:\n\n| Name               | Description                                                                                                                                | Default value |\n| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------- |\n| -polling-frequency | Polling frequency                                                                                                                          | 30            |\n| -listen            | Listening address                                                                                                                          | :8080         |\n| -experimental      | Comma separated list of experimental metrics to enable (available metrics: livebox_interface_homelan,livebox_interface_netdev,livebox_wan) |               |\n\nThe exporter reads the following environment variables:\n\n| Name            | Description                                                                                               | Default value        |\n| --------------- | --------------------------------------------------------------------------------------------------------- | -------------------- |\n| ADMIN_PASSWORD  | Password of the Livebox \"admin\" user. The exporter will exit if this environment variable is not defined. |                      |\n| LIVEBOX_ADDRESS | Address of the Livebox.                                                                                   | `http://192.168.1.1` |\n| LIVEBOX_CACERT  | Optional path to a PEM-encoded CA certificate file on the local disk.                                     |                      |\n\n### Docker\n\nUse the following commands to run the exporter in Docker:\n\n```console\ndocker build -t livebox-exporter .\ndocker run -p 8080:8080 -e ADMIN_PASSWORD=\u003cchangeme\u003e livebox-exporter\n```\n\nAn already built Docker image is also available at: `ghcr.io/tomy2e/livebox-exporter:latest`.\n\n### Helm\n\nYou can install the livebox-exporter in your Kubernetes cluster using Helm:\n\n```console\nhelm upgrade livebox-exporter oci://ghcr.io/tomy2e/livebox-exporter/charts/livebox-exporter \\\n    --install \\\n    --version 0.6.0 \\\n    --set livebox.adminPassword.value=YOUR_LIVEBOX_ADMIN_PASSWORD\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomy2e%2Flivebox-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomy2e%2Flivebox-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomy2e%2Flivebox-exporter/lists"}