This is more an improvement than a feature request, and there is probably a reason why you guys didn’t implement this already.
As I see it, when using DNS hostnames for devices, polling and discovery process uses device’s hostname as a parameter for every snmp get and in worse case creates a DNS request for every snmp get.
You could introduce a new variable for DNS resolved IP address at the beginning of polling and discovery processes and perform snmp get calls with the IP address stored in the variable for the rest of process.
It came to me a little while ago, while I was debugging some devices. Maybe it already works as I suggested and the debug output is just misleading
We already have the IP if we can get it so switching to use it should be quite trivial.
I’ve just updated a work install to use it, will see what it looks like after a while. Initial indicator is that it drops a little load of the poller box but it’s nothing to shout home about. This poller is dealing with around 2k devices in 120 seconds. I’ve not seen that figure improve with this.
It might help users who don’t use a local dns resolver (we run one on each poller).
We didn’t install local dns resolvers on our pollers, so we noticed quite a difference between using IP addresses and hostnames when we started using LibreNMS two years ago. Two years later and this idea just came to mind
I guess that, in your case, the little drop in load is because it doesn’t query and wait for DNS responses that much, but your setup already has lowest DNS delay possible.
Thanks for considering the suggestion and for your hard work!