xdsl-exporter

command module
v0.0.0-...-a2fbf06 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

README

xDSL Exporter

A Prometheus Exporter for your xDSL Modem

ARTICLE: How to monitor an xDSL Modem using a Prometheus Exporter plugin and Grafana Agent on Grafana Cloud with Grafana OnCall

Overview

Overview

Prerequisites

  • Enable SSH or Telnet on your modem
  • Set idle Timeout set to 0 (infinite)

Installation

$ git clone git@github.com:Dentrax/xdsl-exporter.git
$ cd xdsl-exporter
$ go run . --target-client <VENDOR>
  • Please see the vendor list below for supported vendors.
  • Please read the Disclaimer section below before using this exporter.

Usage

Usage:
  xdsl-exporter [flags]

Flags:
  -h, --help                           help for xdsl-exporter
      --known-hosts-path string        Path to your known_hosts file. (default "~/.ssh/known_hosts")
      --listen-address string          Address on which to expose metrics and web interface. (default ":9090")
      --metrics-path string            Path under which to expose metrics. (default "/metrics")
      --target-client string           Broadcom (SSH),Broadcom (Telnet),DrayTek (Telnet),FRITZ!Box,Lantiq (SSH),Lantiq (Telnet),MediaTek (SSH),MediaTek (Telnet),Sagemcom,Speedport
      --target-host string             Hostname or IP address of the target xDSL Modem (default "192.168.1.1")
      --target-password string         Host password
      --target-port int                Port of the target xDSL Modem (default 22)
      --target-ssh-key-path string     Path to the SSH key to use for authentication
      --target-ssh-passphrase string   Passphrase to use for the SSH key
      --target-user string             Host user (default "admin")

Supported Vendors

  • Broadcom (SSH): broadcom_ssh
  • Broadcom (Telnet): broadcom_telnet
  • DrayTek (Telnet): draytek_telnet
  • FRITZ!Box: fritzbox
  • Lantiq (SSH): lantiq_ssh
  • Lantiq (Telnet): lantiq_telnet
  • MediaTek (SSH): mediatek_ssh
  • MediaTek (Telnet): mediatek_telnet
  • Sagemcom: sagemcom
  • Speedport: speedport

Known Issues

  • If SSH connection get closed by the target, the exporter will not reconnect automatically. You need to restart the exporter.
  • If modem is highly loaded (e.g. full bandwidth Steam downloads), the export process might take longer than the default scrape interval of 15 seconds. This will result in a timeout and the modem will not be scraped by Prometheus. You can increase both of the scrape interval and timeout to avoid this issue.

Special Thanks

Package Author License
go-dsl Jan Hoffmann Mozilla Public License 2.0
rtop RapidLoop MIT
  • Thanks to everyone who contributed these libraries and others that made this project possible.

Disclaimer

I accept no responsibility for any damage that may occur to your device during your installation, and such damages and exclusion of warranty is not by reason of my negligence. You are under this agreement. You use at your own risk.

License

cocert was created by Furkan 'Dentrax' Türkal

The base project code is licensed under Apache 2.0 unless otherwise specified. Please see the LICENSE file for more information.

Best Regards

Documentation

Overview

Copyright © 2022 NAME HERE <EMAIL ADDRESS>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
internal
dsl

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL