This utility provides an interactive script to install various SNMP extenders for LibreNMS on a Debian-based system. These extenders allow LibreNMS to monitor additional services and metrics like Docker, Proxmox, ZFS, and more.
The scripts provided here are designed to automate the setup process described in the official LibreNMS Applications Documentation. It is recommended to review the official documentation for a deeper understanding of how each extender works.
Available Extenders & Script Functions
The installation script is menu-driven and includes functions to install the following extenders:
- Chronyd: Installs an extender to monitor the Chrony NTP daemon.
- Docker: Installs a Python script to monitor Docker containers and stats.
- Entropy: Installs a script to monitor the available entropy on the system.
- MailCow: Installs an extender for MailCow Dockerized to monitor Postfix.
- NTP Server: Installs a generic script to monitor an NTP server.
- NUT: Installs a script to monitor a UPS via Network UPS Tools (NUT). The script will prompt for the UPS name.
- Nvidia: Installs a script to monitor Nvidia GPUs via
nvidia-smi dmon— utilisation, memory, temperature, and power draw per GPU. Requires the Nvidia driver (and thereforenvidia-smi) to be installed. - Postfix: Installs scripts for detailed Postfix queue and mail log monitoring.
- Proxmox: Installs a script to monitor Proxmox VE status, including VM states and resource usage.
- SMART: Installs a script to monitor disk health and SMART data using
smartctl. - ZFS: Adds ZFS monitoring capabilities to check pool health and usage.
The script also contains helper functions to:
- Install necessary dependencies for each extender (e.g., `cpanminus`, `pflogsumm`).
- Download the extender scripts from the official LibreNMS agent repository.
- Set correct file permissions.
- Configure `snmpd.conf` and `sudoers` where necessary.
- Restart the SNMP daemon to apply changes.
Automated Installation
To install, run the following command in your terminal. This will download and execute the installation script with sudo privileges, which will then present a menu of available extenders to install.
Using curl:
curl -sL https://random.clusterlabs.dev/scripts/librenms-extenders/install.sh | sudo bash
Using wget:
wget -qO- https://random.clusterlabs.dev/scripts/librenms-extenders/install.sh | sudo bash
Installation Script Content:
Automated Uninstallation
To remove any of the extenders, run the corresponding command below. This will download and execute the uninstallation script with sudo, providing a similar interactive menu for removal.
Using curl:
curl -sL https://random.clusterlabs.dev/scripts/librenms-extenders/uninstall.sh | sudo bash
Using wget:
wget -qO- https://random.clusterlabs.dev/scripts/librenms-extenders/uninstall.sh | sudo bash
Uninstallation Script Content: