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...
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...
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...
Creating dashboards based on custom filters
In this blogpost, I explain how to create dashlets using custom filters. This way you can create dashlets of your own which you find is necessary. Having dashboards in fact improves monitoring. Dashlets are the different sections under the given dashboard, which are...
Icinga 2 Config Sync: DIY Edition
Two weeks ago, Icinga 2 Config Sync: Behind the Scenes explained how the config sync in Icinga 2 works and how you can look behind the scenes. Today, we will put our knowledge from that post to the test and try to manually replicate the config sync. The most important...
Icinga 2 Config Language (DSL): Advanced Apply Rules
As many users of Icinga don't know what the DSL has to offer, I'm going to show you how to use custom variables and apply for rules to make your life easier when writing configuration for your Icinga environment. Idea In this example we will use custom variables on a...
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...
Subscribe to our Newsletter
A monthly digest of the latest Icinga news, releases, articles and community topics.







