Understanding more how Icinga works

Hello, my name is Felipe, I’ve been a syadmin for 5 years and, all thoose years I’m still using a custom xymon (yeah, there’s still someone using xymon), but I’ve fear for the problems cause by the death of the community.
So I’m looking for a new monitoring system. Nowadays we monitor 50 companies with diferent sizes, diferente operacional systems and diferente focus os monitoring, some of thoose we monitor only the OS, some we made some script to monitor a internal system, or DB ect. We done this because the xymon is very simple to operate, if he can make a script, we can monitoring that thing and just put it in a HTML format and send it with the correct bin.

I wanna know if I can do this on Icinga2:

Can I create a script to monitor something and send to the server with no problems?
Can I choose how it’ll be shown on server, like order information by table?
And about the web, can I separate the server by groups and the group just see their servers ?

OBS: All my clients don’t have a local communication with my server, just WAN communication.

Hi Felipe,

Welcome to the community!

I have good news for you.

  • You can use your own scripts (in fact every executable can be used) as long as it keeps to the Monitoring Plugin Development Guidelines (which are easy to follow). I’ll link them below
  • You can sort the objects you’re monitoring. But Icinga will just show the output of your script like it comes from the script itself (with some formatting done in the webinterface). You can, however, send performance data which will be show pretty formatted and can be forwarded to time series databases like Graphite or InfluxDB
  • Icinga 2 is ok with all directions of communication. You can have central systems connect monitored objects or vice versa. You can even configure it to use both directions and the different instances will chose themselves what works best


1 Like

Thanks for your reply.

I’m glad that Icinga do this, I appreciated this monitoring system.

But, just to put it in black and white, I can run whatever code I want, to my client process, por example, if I want to monitor something on Windows with powershell, and my Linux with bash with no problem as long they keep on the guide ?

And one last question, I can make custom triggers on my server?
For example, if the client XYZ got an alert on his webserver at 06 pm, the server can call a external script. Again, for example, we have today a script to call a person on dutty when something bad happens on certain clients at non commercial time.

1 Like

Yes, you can build your own plugins. It doesn’t matter if they are written in bash, PowerShell, C++, Fortran or Ook. As long as they stick to the guidelines. In fact there are many, many plugins out there in the wild and normally you won’t have to create your won. We see a lot users (especially those coming from other monitoring systems) to build their own plugins even if they don’t have to.

Yes, you can build your own, but do yourself the favor and use the ones proven and tested. If you want something to be changed, contribute to the project. It’s Open Source after all. :wink:

And yes, you can have different ways of notifying your users dependent on timeperiods. Notifications are sent by using other scripts. They follow slightly different rules than monitoring plugins but are nonetheless easy to build. Icinga 2 ships with two scripts for notification by e-mail (one for hosts, one for services). But there are many other notification scripts for e.g. using SMS, Telegram, Slack, whathaveyou.