How does Icinga monitor services?

Hello. I was curious as to how Icinga’s built in plugins actually monitor service states as they come as executables and I can’t find their source code. Currently my own custom plugins seem to involve parsing through log files, but I’d like to know how else its possible to monitor a service. Thanks for the help.

Source code for Windows plugins can be found at github. Other plugins are not part of icinga e.g. monitoring-plugins but icinga covers them in their ITL.

That depends on the service to be monitored e.g. web server can be monitored with check_http and check_procs or check_procs.exe to keep an eye on the corresponding services.

Are there any other examples you can give me of existing plugins and in what ways they check the state of a service, I’ve heard you can use systemd and proc files but I’m not sure exactly how it works.

Thanks for your reply.

Take a look at ITL to see a huge list of already supported plugins. If you need even more than take a look here and here.