feat: add observability logging for invalid MAC addresses
- Log when normalize_mac drops invalid MAC addresses from SNMP data - Helps diagnose data quality issues from network equipment
This commit is contained in:
parent
1a9a6e0ef6
commit
e1cfc4ece1
1 changed files with 10 additions and 4 deletions
|
|
@ -460,13 +460,19 @@ defmodule Towerops.Gaiia.SubscriberMatching do
|
||||||
defp normalize_mac(nil), do: nil
|
defp normalize_mac(nil), do: nil
|
||||||
|
|
||||||
defp normalize_mac(mac) do
|
defp normalize_mac(mac) do
|
||||||
mac
|
normalized =
|
||||||
|> String.downcase()
|
mac
|
||||||
|> String.replace(~r/[^0-9a-f]/, "")
|
|> String.downcase()
|
||||||
|> case do
|
|> String.replace(~r/[^0-9a-f]/, "")
|
||||||
|
|
||||||
|
case normalized do
|
||||||
<<a::binary-2, b::binary-2, c::binary-2, d::binary-2, e::binary-2, f::binary-2>> ->
|
<<a::binary-2, b::binary-2, c::binary-2, d::binary-2, e::binary-2, f::binary-2>> ->
|
||||||
"#{a}:#{b}:#{c}:#{d}:#{e}:#{f}"
|
"#{a}:#{b}:#{c}:#{d}:#{e}:#{f}"
|
||||||
|
|
||||||
|
invalid when invalid != "" ->
|
||||||
|
Logger.debug("Dropping invalid MAC address from SNMP data: #{inspect(mac)} (normalized: #{invalid})")
|
||||||
|
nil
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue