Most form fields ask users for a single value like a name, an email, or a date. But some need a list of values. A plain text input with comma-separated values can technically do the job, but it...
IPL: How to use the ipl-web TermInput
Most form fields ask users for a single value like a name, an email, or a date. But some need a list of values. A plain text input with comma-separated values can technically do the job, but it...
How to Create Your Own Plugins and Check Commands in Icinga 2
If you've been using Icinga 2 for a while, you probably know the built-in checks cover a lot of ground: disk space, CPU, memory, ping. But sooner or later you'll run into something specific to your setup that no existing plugin handles. That's where writing your own...
Tips and Tricks for Handling Secrets in Icinga 2
Today, we are going to look at a few things related to handling secrets. While Icinga 2 has no dedicated mechanisms for secret handling, there are a few tricks you can do with standard features. This is not meant as a step-by-step tutorial, but rather as an...
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...
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...
Drowning in Alert Fatigue? How to Regain Control of Your Monitoring
Introduction: Why Alert Fatigue Hits Sysadmins Sooner or Later If you’ve ever muted your phone during a maintenance window, only to miss a real outage an hour later, you’re not alone. Sysadmins on Reddit and beyond often describe feeling like they’re drowning in...
Ipl-html: Introducing new Form Element Decorators
A Fresh Take on Form Element Decorators Decorators have always been a powerful concept in Icinga Web’s form system — letting developers control how form elements are displayed without hardcoding markup everywhere. But until recently, the decorator system had its...
Using Icinga 2 on NixOS
I use NixOS by the way. And today I'm going to show you how to operate a simple Icinga setup using that operating system. I.e. a single node with checks and notifications. In contrast to Icinga Web 2 or Redis, NixOS provides an Icinga 2 package, but no module....
How to check CPU usage on Linux
When your Linux system feels sluggish, one of the first things to investigate is the CPU usage. The CPU (Central Processing Unit) is the brain of your machine, and if it’s overloaded, everything else slows down. In this guide, you’ll learn different ways to Linux...
Upgrade your monitoring lists with icon images
Recently I was importing an Icinga configuration for testing purposes. Working with this configuration, I found that there were icon images assigned to the objects. Sadly, those didn’t display, because I didn’t have the icon set installed. So I thought of creating my...
Targeting hosts and services in Icinga 2 API requests
Today, we are going to take a look at the Icinga 2 API and the various ways targets can be specified for different actions, such as querying information or scheduling downtimes. This post focuses on the API request payloads themselves and assumes some familiarity with...
Subscribe to our Newsletter
A monthly digest of the latest Icinga news, releases, articles and community topics.








