Why I cannot disable SNMP check?
I want to add device without SNMP
I have never seen being able to just disable SNMP only. There is an option in the device settings to disable ICMP or SNMP. But im not sure if you can disable SNMP only.
There is no such thing as a device without snmp in LibreNMS (at this time).
You can only skip the check when adding. After that it operates as normal.
I understand it. But I mean disable SNMP check for device
I want to check only âPingâ and I donât want see âDevice is Downâ in alert list.
Can you make it like on the picture, same like âDisable ICMP Testâ
Yeah, that is not possible right now. The inherited code base relies heavily on snmp through-out the code. I donât think it is a priority for any of the core developers right now. If someone were to contribute this feature, Iâm pretty sure it would be welcomed
It has been a commonly request feature. This might help:
Ok! It is sad. But thank you for information
What you could do is add a service ping check (nagios check) on the monitoring device in LibreNMS. Your device wouldnât show up in the device list though, only in the âServicesâ tabs on your monitoring device.
My workaround for this is to only alert for devices which are down from an ICMP check i.e.:
%macros.device_down = â1â && %devices.status_reason = âicmpâ
Devices still show as down in the LibreNMS UI if an SNMP check fails, but the alert (pick your transport) is only triggered when ICMP checks fail.
HTH
I did it. But I do not like when device is âdownâ in alert list (dashboard)
We are a pure snmp based system, that info in the dashboards is based on that and canât be changed.
@laf, @murrant - so, I hear there this is a lot of âtechnical debtâ to enable this feature. But what if we just disabled SNMP and all checks for a device altogether and just default it to being up. I.E. if I add an RDS database, there is no SNMP. I donât care about anything else related to SNMP either. I just want the host to exist so I can use it to associate a service check. So if we short circuit ALL snmp related functions, that should be easier than just disabling the up/down via snmp and leave everything else, or no?
This is quick and dirty, but it works - disabling SNMP, updating the mysql manually to mark the host as âupâ and then running a poll, host is still up.
This is only of use if you can enable snmp in the first place to detect the os. If the device doesnât support it then youâll get nothing more than a generic device with nothing.
An existing PR handles things in a better way: https://github.com/librenms/librenms/pull/7323
But, thatâs exactly what I want - a generic device with nothing. The point is, I have a âServiceâ, say Amazon RDS. You donât get a shell, you canât ping it, you canât get anything via SNMP. What I CAN do, it add it as a device, and attach service checks to it, and then alert on the service checks, and in the case of mysql and some other service checks, I can still graph it. But itâs not down, and I donât want a giant list of a bunch of downed devices just because it canât get snmp or ICMP from them. I service checks on the service itself will still alert me if the service goes down,and so I donât want to disable alerting on a device altogether.
Device is down due to SNMP:
Here, you can clearly see that the thing I care about, the database, is online and graphing just fine. I want the ability to do this, without messing up my dashboard with false âdownsâ.
As we utilize many AWS services, it may become a big blocker to have many downed devices throwing off our dashboard, and there is currently no better solutionâŚ
Iâm personally not a fan of this, itâs a hack to get something in and just isnât in the nature of what LibreNMS does.
The other PR will at least tidy up the web ui a little and if it goes the way I hope, will allow people to select the actual OS of the device to provide some sane information at least.
Thatâs fair criticism - my php skill is pretty non-existent so Iâm not defending it as some uber awesome solution, but Iâd like something rather than nothing. The ideal solution would be to somehow detect, or manually set, something like an AWS service, and then handle it accordingly, but thatâs a lot more work. As far as integrating cloudwatch into LibreNMS, youâd need to handle something like this anyway, because if I wanted to add an ELB ( Elastic Load Balancer) instance, or an RDS instance (Relational Database Service), you canât get ICMP or SNMP from any of them, but you could associate an AWS InstanceId
with a device, and then use that to pull cloudwatch metrics into LibreNMS
Sorry I donât mean the code is a hack I mean the concept. Just disabling icmp and snmp for a device is the hack part. We do need to support non-snmp based data collection at some stage but this isnât on the cards from anyone at present.
In the meantime the linked PR seems the best way forward to get non-snmp devices added but leaving the webui largely usable for that device.
@laf - I get ya. If that PR gets accepted while keeping non-snmp as a separate option (as opposed to tied only to the ping os
OS), it should then be relatively simple to add things like Amazon Relational Database Service
and Amazon Elastic Load Balancer
added as non-discoverable OSes that have ICMP and SNMP disabled by default. But, at the end of the day, for ANY devices that you want to use service checks for, even if you are adding 8.8.8.8
as a device so you can create an alert if you canât access it, it seems that making devices is the best way to do so.
I still donât see the point of having multiple âicmp onlyâ os. The only data we can retrieve from something we can ping is response time⌠everything else has to be user supplied, which is very much in opposition of one of the core principals of LibreNMS.
@murrant: well in this case, I want a device without ICMP OR SNMP. I associate service checks with them, which will alert me if the service goes down. I have a majority of devices that will eventually be auto-discovered, but Iâd like to consolidate EVERYTHING, which would include things like RDS and ELB. As above, I am using LibreNMS to monitor the Aurora instance that LibreNMS is using for itâs database, but it doesnât have ICMP or SNMP, so marking it as down for either of those is pointless, while having exist in LibreNMS is not.
Eventually I want to set it up so I take a device, associate an instance id with a device and then have a cloudwatch poller that will do an aws cloudwatch describe-metrics
and use the output combined with instance IDs to add cloudwatch data to LibreNMS for a device.