Icinga2 Agent for MacOS or Alternatives?

I work for an MSP that has modeled much of the support offering around Nagios monitoring. We are actively trying to migrate to Icinga2 after the Nagios cluster was left without maintenance for far too long. We’ve been able to port just about everything from Nagios into our Icinga2, IcingaWeb2, and Director environment.

The problem we’ve ran into is there does not appear to be a supported MacOS package. We have recently taken on a mostly mac client and need to monitor their devices. Is there a supported MacOS package on the way or a third-party alternative that can integrate with Icinga2? I saw in another thread DNSmichi suggested using SSH instead. This was over 3.5 years ago.

I’m hoping someone has an alternative. My coworker tried following the Development Build Document but could never get it to work in a stable test on current MacOS.

check by ssh is still a good solution if you have access to via ssh to the macs.
the icinga-masternode will open the ssh connection and execute the check command.

but the next problem you will run into is the monitoring part itself.
try to check first if one of these plugins solutions works on mac

you could also look into passive check results. that would mean you schedule the checks on the mac and submit the results via icinga2 api or icingaweb2 api to your icinga instance. but that requires that you have some check results from icinga/nagios compatible checks.

please report back if any of these plugin solutions work for you.

2 Likes

If no Icinga2 Agent is available for macOS, I would try to use the Icingaweb2 Director to automatically create the host and service objects via imports from a CMDB or a directory.

Then I would define a set of checks to run on the clients - probably starting with the Linuxfabrik’s monitoring plugins as they are available for commercial support and open to implement changes (the windows stuff was my request).

Then I would leverage the macOS service manager (launchd) to periodically run a python script (to be written) to execute the checks, collect the results and push them to Icinga2 via API.

The files and settings on the macOS side I would manage with Ansible.

1 Like

I’ll give the linuxfabrik one a try, hopefully in the next few days, and let you know how it goes. I loive how specialized the Jedda project is… It just looks like the project was abandoned, it hasn’t been updated in 8 years :frowning:

I don’t have access to ansible unfortunately. I like the idea of a passive generation of service monitoring data via the api though… My thought was to put scripts on my satellite for checking the Mac devices. Then using SSH, I could just execute scripts against each individual host. If I made the checks run locally, I could leave SSH off and just have data posted to the satellite’s web API.

Thanks! you gave me something to think about.

Ansible is free as long as you don’t need the web UI, delegation and other enterprise features.
You can install it on any Linux with a current python version but again, you would need to have access to the targets via SSH.