Snmp_extend.py - servcie checks using SNMP extend

This is perhaps more documentation focused.

I’ve found this script invaluable:

It has been very easy to augment a given host with service checks using this script placed on the librenms server. I don’t recall seeing anything like this documented.

The given nagios check script is called by SNMP.conf on the client hosts and accessed from the librenms server using the aforementioned script.

2 Likes

So whilst this works pretty well, a minor hassle with this approach is that each time an snmp_extend.py service is added you have to tell it the snmp community string for that host.

So it might be that this could be more closely integrated into Librenms, so that the community string is assumed.


An example of a configured snmp_extend.py (for clarity):

service: snmp_extend.py
description: megaraid
parameters: --snmp-version 2c --community COMM_STRING --extend-name megaraid

snmpd.conf:
extend megaraid /usr/local/sbin/megaclisas-status --nagios

1 Like

Now also using this method to do a check using SMcli to Dell MD storage

SMcli is run in band to over the SAS to the array on the server… then grabbing using above method

Therefore if your controllers aren’t networked this will work

Today just implemented this in conjunction with a nagios compatible multi service (systemd) check.

Nagios script is fed X number of systemd service names. Loops through bash array (of the args) and exits if any one of those has a problem.

Snmp_extend.py then allows that to be grabbed.

The use cases keep on coming.

Great exactly what I was looking for!

Is possible to do that on Windows hosts as well?