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:
Graham McIntire 2026-03-10 11:34:45 -05:00
parent 1a9a6e0ef6
commit e1cfc4ece1
No known key found for this signature in database

View file

@ -460,13 +460,19 @@ defmodule Towerops.Gaiia.SubscriberMatching do
defp normalize_mac(nil), do: nil
defp normalize_mac(mac) do
mac
|> String.downcase()
|> String.replace(~r/[^0-9a-f]/, "")
|> case do
normalized =
mac
|> String.downcase()
|> 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}:#{b}:#{c}:#{d}:#{e}:#{f}"
invalid when invalid != "" ->
Logger.debug("Dropping invalid MAC address from SNMP data: #{inspect(mac)} (normalized: #{invalid})")
nil
_ ->
nil
end