If you want to get started with Icinga but don’t have a data center lying around, no worries. Icinga is a lightweight monitoring tool that works for both large infrastructures and small home labs....
Testing Icinga in a Homelab Setup With Nextcloud
If you want to get started with Icinga but don’t have a data center lying around, no worries. Icinga is a lightweight monitoring tool that works for both large infrastructures and small home labs....
Exploring C++20 Coroutines: A Practical Look at Stackless Coroutines vs Boost.Coroutine2
Introduction Icinga 2 makes heavy use of Boost.Coroutine2 in our network code, which are stackful coroutines that are designed to work well with the IO operations from Boost.Asio. This has proven to be a challenge whenever we wanted to asynchronously await things...
Monitor One Icinga 2 Cluster From Another
Icinga is designed to be a highly dynamic monitoring software that can monitor your setup, regardless of its architecture. While most setups are hierarchical and fit well into the master, satellites, and agents scheme with different zones, it is sometimes impractical...
Icinga 2 Config Sync: Behind the Scenes
Today's blog post dives into the internals of Icinga 2 and will give you an overview how the config synchronization works internally. We will take a small cluster as an example and follow the configuration files through the synchronization mechanism. We assume some...
Managing the Icinga Director with Ansible
This is a guest blogpost from Sebastian Gumprich from T-Systems Multimedia Solutions GmbH --- Our company is using Icinga for quite some time now to monitor our whole infrastructure and its customers infrastructure. We deploy many Icinga instances for different teams...
Docker: Secure, but comfortable images.
While developing Docker images for Icinga 2, Icinga Web 2 and Icinga DB we stumbled over OpenShift which doesn’t allow images to run as root by default. One has to enable that explicitly. Also admins of K8s environments being more permissive by default may decide not...
Build your own Icinga Module
Building your own Icinga Module sounds like a big challenge, but is it really that hard? A look behind the scenes reveals that it's actually not as complicated as it sounds. But first things first: Why would you even want to create your own Module? It's fairly easy to...
Icinga DSL: A couple of (unconventional) examples
Today I will show you a couple of out of field useful functions from the Icinga DSL I use when creating some testing configurations for Icinga 2. Using the Icinga DSL is easy, quick and a good way of testing and validating your Icinga setup. Icinga 2 console...
Rule based monitoring with Icinga apply rules
Apply rules simplifies creation of objects like Service, Notification, Dependency, ScheduleDowntime which require object relation. In this blog post we will understand rule based monitoring with Icinga apply rules with examples. Requirement: Icinga 2 and Icinga Web 2...
Setting up Graphite from Scratch on Icinga Web 2
Introduction In this post, I will show you how easy you can integrate Graphite with Icinga Web 2. I assume you have a Icinga 2 ready with Icinga Web 2 Server running, and you have an additional Linux Server where you will install Graphite. It's recommended to have...
How to set up High-Availability Masters
When getting started with Icinga 2, a single master instance is often sufficient. However, if your monitoring is business-critical, you’ll need to set up High-Availability Masters to ensure redundancy and stability. This post will guide you through the process of...
Exporting Data from Icinga Web 2
Today we will talk about exporting data (such as hosts and services) from Icinga Web 2 into various formats. Exporting From the UI You have probably already seen the drop-down in the upper left corner of a list? If you hover there with your mouse or focus it by...
Subscribe to our Newsletter
A monthly digest of the latest Icinga news, releases, articles and community topics.






