Thola

A tool for monitoring network devices written in Go. It features a check mode which complies with the monitoring plugins development guidelines and is therefore compatible with Nagios, Icinga, Zabbix, Checkmk, etc.
Thola currently has three main modes of operation with various subcommands:
identify
automatically identifies the device and outputs its vendor, model and other properties.read
reads out values and statistics of the device.read available-components
returns the available components for the device.read count-interfaces
counts the interfaces.read cpu-load
returns the current cpu load of all CPUs.read disk
reads storage utilization.read hardware-health
reads hardware health information like temperatures and fans.read interfaces
outputs the interfaces with several values like error counters and statistics.read sbc
reads out SBC specific information.read memory-usage
reads out the current memory usage.read server
outputs server specific information like users and process count.read ups
outputs the special values of a UPS device.
check
performs checks that can be used in monitoring systems. Output is by default in check plugin format.check cpu-load
checks the average CPU load of all CPUs against given thresholds and outputs the current load of all CPUs as performance data.check disk
checks the free space of storages.check hardware-health
checks the hardware-health of a device.check identify
compares the device properties with given expectations.check interface-metrics
outputs performance data for the interfaces, including special values based on the interface type (e.g. Radio Interface).check memory-usage
checks the current memory usage against given thresholds.check sbc
checks an SBC device and outputs metrics for each realm and agent as performance data.check server
checks server specific information.check snmp
checks SNMP reachability.check ups
checks if a UPS device has its main voltage applied and outputs additional performance data like battery capacity or current load, and compares them to optionally given thresholds.check thola-server
checks reachability of a Thola API.
We support a lot of different devices and hope for your contributions to grow our device collection. Some examples are:
- Cisco
- Juniper
- Huawei
- Nokia/ISAM
- Ceragon
- Brocade
- Edgecore
- …
Basic interface readout is supported for every device.
Currently we mostly work with SNMP, but already provide basic features for HTTP(S). We plan to support more protocols like telnet, SSH and more.