For decades, PHP has powered the web using a simple model: process a request, send a response, then shut down. This model, especially in the form of CGI and PHP-FPM, is easy to understand but...
Beyond PHP-FPM: Modern PHP Application Servers
For decades, PHP has powered the web using a simple model: process a request, send a response, then shut down. This model, especially in the form of CGI and PHP-FPM, is easy to understand but...
IPL: How to create lists with ipl-web
In my previous blog post, I explained how to build lists using ipl-web widgets. That method will soon be deprecated due to its complexity. With the recent ipl-web release, we have introduced a simpler and more flexible approach to building lists, using a lightweight...
Icinga 2 DSL – Variable Scopes
Ever wondered how Icinga 2 manages all those variables, and how it knows which one to use? In this blog post, we will explore all the different variable scopes in Icinga 2, and by the end, you will know what this mysterious error message means when you see it in your...
Let’s Encrypt Stops Expiration Emails – How to Ensure Your Certificates Stay Valid with SSL Certificate Monitoring
No More Expiration Emails – What Now SSL/TLS certificates are critical for secure communication, and keeping track of their expiration is essential. Until now, Let’s Encrypt has sent email notifications when certificates were about to expire. However, as of June 2025,...
Turns any command into a plugin: check_rungrep
Imagine you have one more special thing to monitor. While our Icinga 2 can observe infrastructure of almost any size, it still needs a plugin for each kind of check. Unfortunately not every command meets the monitoring plugin API: exit code 0-3 (ok, warning, critical,...
Managing Multiple Service Instances with a Systemd Generator
When working with systemd services in Linux, you might encounter situations where multiple instances of a service need to be managed dynamically. When I had to develop a solution to monitor multiple Kubernetes clusters with Icinga for Kubernetes, I ran into exactly...
How to do Agentless Monitoring with check_by_ssh
The fundamentals of Icinga 2 are check plugins. They are being executed and their return value is mapped to either Host or Service objects. Everything else follows on top. These check plugins can be either from the Monitoring Plugins or custom. While their origin does...
Releasing Icinga for Windows v1.13.0
Today we are happy to announce that we released Icinga for Windows v1.13.0 a couple of days ago. We have already talked about the changes coming to v1.13.0 with the beta blog-post last year in more depth, and will focus only on some core changes here. Improved...
Releasing Icinga 2 v2.14.5
Today, we are announcing the release of Icinga 2 v2.14.5. It fixes a regression that was introduced in v2.14.4 and caused the icinga2 node setup, icinga2 node wizard, and icinga2 pki request commands to fail if a certificate was requested from a node that has to...
Revising Icinga Exchange
Icinga is an open-source project, but it's only become the product we like to use thanks to co-development, brainstorming and suggestions from the community. That's why we created a platform in the past to facilitate the exchange of custom implementations like check...
Common cloud monitoring challenges we can overcome!
In today's fast-paced digital landscape, businesses are moving their operations to the cloud more than ever before. This shift brings incredible benefits like scalability, flexibility, and cost-efficiency. While it does introduce various common cloud monitoring...
Releasing Icinga 2 v2.14.4, 2.13.11
Icinga 2 version 2.14.4 and 2.13.11 have been released today. These releases address issues in both Icinga 2 itself and when used together with Icinga DB. They are available both as code - v2.14.4, v2.13.11 - and packaged. Changes in v2.14.4 This bugfix release is...
Subscribe to our Newsletter
A monthly digest of the latest Icinga news, releases, articles and community topics.