diff --git a/lib/towerops/snmp/discovery.ex b/lib/towerops/snmp/discovery.ex index 4b713333..b6a7d8fb 100644 --- a/lib/towerops/snmp/discovery.ex +++ b/lib/towerops/snmp/discovery.ex @@ -212,6 +212,7 @@ defmodule Towerops.Snmp.Discovery do {:ok, vlans} <- discover_vlans_with_timeout(client_opts, profile, timeouts), Logger.info("Discovering IP addresses...", device_id: device.id), {:ok, ip_addresses} <- discover_ip_addresses_with_timeout(client_opts, timeouts), + _ = log_ip_discovery_results(device, ip_addresses), Logger.info("Discovering processors...", device_id: device.id), {:ok, processors} <- discover_processors_with_timeout(client_opts, timeouts), Logger.info("Discovering storage...", device_id: device.id), @@ -869,7 +870,19 @@ defmodule Towerops.Snmp.Discovery do upsert_ip_address(ip_data, if_index_to_interface, existing_ip_addresses) end) - Logger.debug("Synced #{length(discovered_ip_addresses)} IP addresses for device") + if Application.get_env(:towerops, :env) == :dev do + ipv4_count = Enum.count(discovered_ip_addresses, &(&1.ip_type == "ipv4")) + ipv6_count = Enum.count(discovered_ip_addresses, &(&1.ip_type == "ipv6")) + removed_count = MapSet.size(removed_keys) + + Logger.info( + "Synced IP addresses: #{ipv4_count} IPv4, #{ipv6_count} IPv6, removed #{removed_count}", + device_id: device.device_id + ) + else + Logger.debug("Synced #{length(discovered_ip_addresses)} IP addresses for device") + end + :ok end @@ -1070,6 +1083,20 @@ defmodule Towerops.Snmp.Discovery do end end + defp log_ip_discovery_results(device, ip_addresses) do + if Application.get_env(:towerops, :env) == :dev do + ipv4_count = Enum.count(ip_addresses, &(&1.ip_type == "ipv4")) + ipv6_count = Enum.count(ip_addresses, &(&1.ip_type == "ipv6")) + + Logger.info( + "Discovered IP addresses: #{ipv4_count} IPv4, #{ipv6_count} IPv6 (total: #{length(ip_addresses)})", + device_id: device.id + ) + end + + :ok + end + defp log_discovery_event(device, discovered_device, is_rediscovery) do event_type = if is_rediscovery, do: "device_rediscovered", else: "device_discovered"