Using Thola for monitoring your network devices

by | Mar 5, 2021

This is a guest blogpost by Alexander Biehl from the Thola development team.

Once upon a time there was a small company in the south west of Germany that used an old check plugin for monitoring its network devices. But as their network got bigger and bigger over time, the plugin (written in Perl) became more greedy than ever before and swallowed all of the available resources. The CPUs were melting and the RAM was about to collapse. So a small team of creative software developers decided to take the fate of their company into their own hands. In their quest to save resources, amidst the jungle of endless programming languages, they encountered the holy Gopher, who revealed its unique power to them. With its help, they created a new tool that was more efficient and solved all of their problems. Thola was born!


Thola is a tool for monitoring and provisioning (coming soon) network devices written in Go. It features a check plugin mode, which allows direct integration with Icinga.


So what can Thola offer you?

  • reading, monitoring and configuring (coming soon) network devices from Cisco, Juniper, Brocade, Huawei, Nokia/ISAM and many more
  • support for different network device types like switches, routers, WDM, directional radio, UPS, DSLAM/OLT,… including type specific requests and checks
  • an easy way for adding support for additional devices by YAML configuration files
  • a check plugin mode compatible with Icinga
  • a REST API mode
  • low resource needs


The available checks include reading and monitoring of network interfaces, hardware health, CPU load, memory usage, UPSs, SBCs, DWDMs and many more. They can be directly executed by using Thola’s CLI, as it’s shown in the following examples:



Thola does also include an API mode, which allows scalability and improves performance even further. It can easily be started using the following command:


There are more optional flags available for configuring your API, like defining its port or SSL information.


Use Thola with Icinga

To make use of this feature with Icinga, there is a special lightweight ‘thola-client’ binary, which can be used to send requests to a running Thola API. It has the same command line interface as the normal ‘thola’ binary and additionally specifies the address of the API with the ‘–target-api’ flag:


For instance, you can run a Thola API on any of your Icinga Satellites, which are used for communicating with your devices, so it can be accessed using localhost like in the example above. We also have an official Docker Image for easy deployment of an API.


Have a closer look:

For further information on Thola, how to install it and use it with Icinga, have a look at our documentation or Github.

We are also planning to add Thola to the Icinga Template Library in the near future.


If you have any questions, do not hesitate to contact us!


This is a guest blogpost by Alexander Biehl from the Thola development team.

You May Also Like…

Native Binaries with PHP

Native Binaries with PHP

There is always a big debate about whether interpreted or compiled languages are more useful. I think it is important...

Icinga for your desktop

Icinga for your desktop

To be clear from the beginning, we won't make any desktop application things. But to compensate for that, we have...

Subscribe to our Newsletter

A monthly digest of the latest Icinga news, releases, articles and community topics.