Introduction This article explains how to integrate metrics from Prometheus into Icinga checks using the check_prometheus plugin. There can be multiple reasons why this could be desired: Maybe you...
Integrating Prometheus Metrics into Icinga Using check_prometheus
Introduction This article explains how to integrate metrics from Prometheus into Icinga checks using the check_prometheus plugin. There can be multiple reasons why this could be desired: Maybe you...
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. When I first explored Icinga during my first year as an apprentice, it...
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...
IPL: How to use ipl-stdlib and ipl-i18n
In my previous blogpost, I explained how easy it is to validate forms with the ipl-validator. Today we will talk about the following two very useful libraries: Ipl-stdlib: All our libraries are based on this library. It provides many useful features like string...
Migrating to Icinga DB
Although Icinga DB has been around for some time and many customers and users are already using it, there may still be some who are wondering how to upgrade/migrate to Icinga DB. This post will briefly explain the components of the Icinga DB and how to install them in...
Mapping Hostnames to Locations with Icinga Director – A Step-by-Step Guide
Recently I came across the Maps module build and maintained by our community. The module displays host objects and annotations on openstreetmap using the JavaScript library leaflet.js. The module reads the coordinates for each host from custom variables and is able to...
How to resolve circular dependency in Icinga2
We recently announced the general availability of Icinga 2.14, which most of you might have noticed, and with that in mind, I'd like to show you how you can easily troubleshoot and eliminate some of the dependencies headaches known as the dependency cycle. What does...
CSS doesn’t need to be ugly
Ever looked at some CSS and your first instinct was to close the editor and never look at it again? I did. Though, I don't have the luxury to close the editor in such a case, as is probably often the case for others as well. Code grows with time and so do bad...
Icinga Kubernetes Helm Charts
Daniel Bodky and Markus Opolka from our partner NETWAYS developed the very first Icinga Kubernetes Helm Charts and released it in an alpha version. If you have ever wanted to deploy an entire Icinga stack in your Kubernetes cluster, now is your chance. I also want to...
IPL: How to use ipl-validator
In my last blogpost I explained how our ipl-html lib works and how to use it. With the help of ipl-html it is possible to add forms. Usually we want to validate the data of the form before submitting it and display messages if the validation fails. For this purpose,...
Leveraging component variants in Figma for UI Design
Being a Sketch user since it's early days, I found Figma looked really promising, when it finally appeared. While Sketch caught up on most of Figma's features, like collaboration, developer handoff and AutoLayout (at least to some degree), the small feature set...
The Tale of a Single Lock in Icinga 2
To speed up startup and reload times of Icinga 2, we have already put a lot of effort into improving the configuration load performance and still continue to do so for the next major release. In this blog post, I will share the story of one particular issue we found,...
Subscribe to our Newsletter
A monthly digest of the latest Icinga news, releases, articles and community topics.









