Existe um tipo de incidente que o NOC demora a enxergar e o atendimento enxerga primeiro: a ONU está online, a potência está boa, o PPPoE está autenticado — e o cliente liga dizendo que "a internet não funciona". Em boa parte dessas vezes, o culpado é o DNS recursivo do provedor: travado, lento ou respondendo errado. Pra quem está do outro lado, não existe diferença entre "DNS fora" e "internet fora".
O que medir
Monitorar o serviço de DNS como "porta 53 aberta" não basta — o processo pode estar de pé e não resolver nada. O que importa é o que o assinante sente:
- Resolve ou não resolve um nome conhecido.
- Quanto tempo leva pra resolver.
- Responde certo (sem SERVFAIL em domínio que deveria existir).
- De onde — o mesmo recursivo pode estar bem pra uma região e ruim pra outra.
Itens nativos do Zabbix
O Zabbix agent tem três itens prontos pra isso, executados a partir do host onde o agent roda:
net.dns[<ip>,<nome>,<tipo>,<timeout>,<tentativas>]— retorna 1 se resolveu, 0 se não. Ex.:net.dns[10.0.0.53,google.com,A,2,2].net.dns.perf[...]— mesmos parâmetros, retorna o tempo de resposta em segundos (0 se falhou).net.dns.record[...]— retorna a resposta em texto, útil pra conferir se o registro está certo.
Algumas recomendações práticas:
- Teste mais de um nome, de domínios diferentes (um nacional, um internacional, um do próprio provedor). Falha só em um aponta problema externo; falha em todos aponta o seu recursivo.
- Rode a partir de onde o cliente está: um agent (ou proxy com agent) em cada POP mede o DNS pela mesma rota do assinante, e não da rede do datacenter.
- Alerte por tendência, não só por queda: tempo de resposta subindo de 5 ms pra 200 ms é sinal de recursivo sobrecarregado — muitas vezes por ataque ou por cliente infectado gerando consulta em massa.
- Monitore os dois recursivos que o cliente recebe via PPPoE/DHCP. Se o secundário está fora há semanas, você só vai descobrir quando o primário cair.
Além do Zabbix agent
Se você usa Unbound, BIND ou PowerDNS, vale complementar com as estatísticas do próprio software (consultas por segundo, cache hit, SERVFAIL) — coletadas por UserParameter ou HTTP agent. A combinação "teste de fora" (o que o cliente sente) + "métrica de dentro" (por que está acontecendo) é o que dá diagnóstico rápido.
DNS lento por região é exatamente o tipo de problema que fica óbvio num mapa e invisível numa lista. Veja como o NOC Geomap mostra isso.