diff --git a/lib/towerops/monitoring/device_monitor.ex b/lib/towerops/monitoring/device_monitor.ex index 0599eb13..d7e8f4a0 100644 --- a/lib/towerops/monitoring/device_monitor.ex +++ b/lib/towerops/monitoring/device_monitor.ex @@ -12,10 +12,9 @@ defmodule Towerops.Monitoring.DeviceMonitor do # Allow dependency injection for testing @ping_module Application.compile_env(:towerops, :ping_module, Towerops.Monitoring.Ping) - @poller_module Application.compile_env(:towerops, :poller_module, Towerops.Snmp.Poller) # Suppress warnings for Mox modules that are defined at runtime during tests - @compile {:no_warn_undefined, [Towerops.Monitoring.PingMock, Towerops.Snmp.PollerMock]} + @compile {:no_warn_undefined, Towerops.Monitoring.PingMock} # Client API @@ -73,14 +72,9 @@ defmodule Towerops.Monitoring.DeviceMonitor do defp perform_check(device_id) do device = Devices.get_device!(device_id) - # Use SNMP if enabled, otherwise fallback to ping - check_result = - if device.snmp_enabled do - client_opts = @poller_module.build_client_opts(device) - @poller_module.check_device(client_opts) - else - @ping_module.ping(device.ip_address) - end + # Always use ICMP ping for latency measurement + # SNMP polling is handled separately by the poller_worker + check_result = @ping_module.ping(device.ip_address) now = DateTime.truncate(DateTime.utc_now(), :second)