From 77b41e0b24000072a44ec01c7b6c648c641950ef Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Tue, 6 Jan 2026 13:05:22 -0600 Subject: [PATCH] Fix poller worker to use debug level for missing SNMP OIDs The poller was re-logging SNMP errors from Client.get as warnings, even though the client now logs them at debug level. Updated the poller to also use debug level for expected errors like :no_such_object. This completes the fix to reduce SNMP logging noise for devices that don't support certain MIB objects. --- lib/towerops/snmp/poller_worker.ex | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/towerops/snmp/poller_worker.ex b/lib/towerops/snmp/poller_worker.ex index f4419ead..dec0f64c 100644 --- a/lib/towerops/snmp/poller_worker.ex +++ b/lib/towerops/snmp/poller_worker.ex @@ -191,7 +191,20 @@ defmodule Towerops.Snmp.PollerWorker do }) {:error, reason} -> - Logger.warning("Failed to poll sensor #{sensor.sensor_descr}: #{inspect(reason)}") + # Only log warnings for actual communication errors, not missing OIDs + case reason do + :no_such_object -> + Logger.debug("Sensor #{sensor.sensor_descr} OID not found on device") + + :no_such_instance -> + Logger.debug("Sensor #{sensor.sensor_descr} instance not found on device") + + :end_of_mib_view -> + Logger.debug("Sensor #{sensor.sensor_descr} end of MIB view") + + _ -> + Logger.warning("Failed to poll sensor #{sensor.sensor_descr}: #{inspect(reason)}") + end Snmp.create_sensor_reading(%{ sensor_id: sensor.id,