Documentation of Thola

Documentation of Thola


Go Report Card GitHub code style GitHub license GitHub branch checks state GoDoc doc


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 interfaces outputs the interfaces with several values like error counters and statistics.
    • read count-interfaces counts the interfaces.
    • read cpu-load returns the current cpu load of all CPUs.
    • read memory-usage reads out the current memory usage.
    • read disk reads storage utilizations.
    • read server outputs server specific information like users and process count.
    • read ups outputs the special values of a UPS device.
    • read sbc reads out SBC specific information.
  • check performs checks that can be used in monitoring systems. Output is by default in check plugin format.
    • check identify compares the device properties with given expectations.
    • check snmp checks SNMP reachability.
    • check interface-metrics outputs performance data for the interfaces, including special values based on the interface type (e.g. Radio Interface).
    • 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 memory-usage checks the current memory usage against given thresholds.
    • 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 disk checks the free space of storages.
    • check server checks server specific information.
    • check thola-server checks reachability of a Thola API.
    • check sbc checks an SBC device and outputs metrics for each realm and agent as performance data.

More features are coming soon:

  • Read out additional information
    • Inventory data
    • Sensors and Status Flags like temperatures, frequencies, alarms, etc.
    • Device specific data (e.g. DSLAMs)
  • More checks
    • Hardware health
    • Device specific checks

Supported Devices

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.

Supported Protocols

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.