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.