Add dev-only INFO logging for IP address discovery
Shows IP address discovery and sync results at INFO level in dev environment only to help diagnose discovery issues. Changes: - Add log_ip_discovery_results/2 helper to log discovered IPs - Enhanced sync_ip_addresses/2 to log IPv4/IPv6 counts and removals - Only logs at INFO level when env is :dev, uses DEBUG in prod Example output in dev: Discovered IP addresses: 5 IPv4, 2 IPv6 (total: 7) Synced IP addresses: 5 IPv4, 2 IPv6, removed 1 This helps diagnose why IP addresses tab isn't showing on device page.
This commit is contained in:
parent
d03ad72aec
commit
4db953bafa
1 changed files with 28 additions and 1 deletions
|
|
@ -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"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue