LibreNMS for service monitoring and alerting

We have been using Sensu Core to monitor our infrastructure since 2018. LibreNMS has only been in place for trend analysis and graphing. Unfortunately, Sensu Core is now EOL, and has been replaced by Sensu Go - that steers users taking advantage of functionality in previous versions towards a commercial subscription. This is not something we were waiting for, and so we are now looking at options to replace our Sensu Core setup. For those that are not familiar with Sensu: it is an alternative to Nagios, Zabbix, Icinga 2, etc.

At the time, we picked Sensu because its flexibility is unprecedented compared to ‘legacy’ systems. However, with its EOL status, we are now obligated to move our monitoring infrastructure to an alternative product. I have trialed the most significant alternatives (to be specific: Nagios, Zabbix, Icinga 2, and Prometheus).

I have found these products to do either way too much or not exactly what I need. Basically, my use case is very, very simple: if a command exits with a status code other than 0, I need to be alerted.

Although it did not occur to me at first, LibreNMS does exactly this with Nagios plugins and SNMP: it has configurable alert transports, allows for configuring occurrences in case of SNMP (be alerted after n minutes/failures) and uses the well-known Nagios plugin API for service checks. Although LibreNMS does not seem really focussed on being the ‘primary’ monitoring solution in an organisation (please correct me if I’m wrong), this would make LibreNMS ideal for ‘actual monitoring’.

I have a few questions:

  • Setting up LibreNMS Nagios plugin checks seems to have to happen for each and every host. Am I missing something or does LibreNMS indeed not have a ‘subscription-like’ model? If not, does LibreNMS aim to provide this kind of functionality?
  • When adding a check to /usr/lib/nagios/plugins, it does not appear in the GUI dropdown for adding a service check. Is it possible to add custom checks?
  • Is anyone else using LibreNMS as their primary monitoring and alerting solution?

Of course, if LibreNMS does not aim to be such a monitoring solution, I will have to look at scripting some custom check and alerting mechanism. I would like to keep things as simple as possible, though, because my use case is very simple, and executing scripts and acting based on SNMP stats does everything I need.

For your 1st question, scripting or directly pushing the checks into the DB would be fairly easy. And of course, we accept all contribution, so you can indeed improve LibreNMS in that direction and submit a pull request to the github repository.
For the 2nd one, you need to follow the doc to define the path where LibreNMS is going to search for the plugins
For the last one, for sure my organisation. Primary, is a difficult concept. It is primary for the Network Monitoring, a few network oriented servers, with a VM running inside; and supervision of our provided services (WWW, mail , etc) from a VM running outside the organisation (which only does nagios plugin service checks).

But the IT team, for servers, use other tools inside the organisation.