Monitoring as code means defining hosts, checks, thresholds and notification rules in version-controlled files, and deploying them through review and automated validation, the same way...
Monitoring as Code with Icinga: Approaches, Tools and Trade-offs
Monitoring as code means defining hosts, checks, thresholds and notification rules in version-controlled files, and deploying them through review and automated validation, the same way...
Icinga Web Filter Syntax: Operators, Wildcards and Custom Variables
An Icinga Web filter is a chain of conditions, each one a column, an operator, and a value, combined with & and |. You type it into the search bar of Icinga DB Web, but the same syntax shows up in URLs, dashboards, role restrictions, and the event rules of Icinga...
How to Make Claude Your UI Design Companion
When I first tried Claude Design, shortly after it was released, I wasn't impressed. As an every day Figma user, I missed the option to manipulate elements directly, especially for fine tuning details. What I overlooked at that point was the fact that it is really...
Icinga 2 Meets OpenTelemetry: Native Metrics Export in v2.16
The OTLPMetricsWriter is a new Icinga 2 feature available since v2.16 that exports check plugin performance data as OpenTelemetry-compliant metrics via the OTLP HTTP protocol. With a single configuration object, it connects Icinga 2 to any OTLP-compatible backend like...
Mirroring Icinga Packages in Air-Gapped and Restricted Environments
When hosting in a secure or corporate environment, Internet access is often restricted or blocked completely. While this makes sense from a security point of view, this introduces some challenges. For one, getting software packages. There are usually two approaches to...
How to Use Git Bisect to Pinpoint Bugs Precisely
A feature that used to work suddenly broke. The problem? There were 300 commits since the last time I knew it worked. Checking each commit manually would take forever. Fortunately, Git has a tool designed exactly for this situation: git bisect. What is Git Bisect? The...
Syncing LDAP Users & Groups with the Icinga Notifications Web API
If you're running Icinga in a mid-to-large organization, chances are your users and teams are already defined in LDAP or Active Directory. Manually re-creating contacts and contact groups in Icinga Notifications Web is tedious and error-prone, but thankfully, it...
How to undo Git reset hard?
You just finished a long interactive rebase. You hit enter. Your commit history looks… wrong. There is a bunch of things that could go wrong: messed up an interactive rebase accidentally ran git reset --hard merged the wrong branch rebased onto the wrong base You...
Understanding Namespaces in Icinga 2 DSL
Last time, we explored the concept of variable scopes in Icinga 2, which help you manage and organize your DSL configurations effectively. As promised, today we'll dive into another, how shall I say, advanced topic: Namespaces in Icinga 2. What are Namespaces?...
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 have different teams with their own monitoring systems, and you need to...
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...
Subscribe to our Newsletter
A monthly digest of the latest Icinga news, releases, articles and community topics.









