Eu li e entendi Você pode me ajudar com meu planejamento de capacidade? , mas não tenho certeza se entendi quais são minhas próximas etapas em um cenário de servidor DNS. Acho que minhas cargas de CPU estão altas ou que posso estar começando a descartar consultas, mas gostaria de entender melhor a carga do meu servidor antes de agir sobre ele. Isso é particularmente preocupante para mim porque é do conhecimento geral que dimensionar sua infraestrutura para cargas de DDoS é uma batalha perdida.
O que devo analisar para entender meu ambiente?
No Serverfault, geralmente informamos que não podemos ajudar com seu planejamento de capacidade. Isso é por um bom motivo: não conhecemos as especificidades do seu ambiente e as respostas sobre como medi-lo são praticamente as mesmas. Infelizmente, a medição da capacidade do DNS é um tópico mal compreendido e a maioria dos administradores presumirá que o alto uso da CPU significa que é hora de considerar a adição de capacidade. Esta é uma ideia muito, muito ruim, e escalar para um DNS DDoS inevitavelmente levará ao bloqueio de seus dispositivos de rede. (ou pior, pessoas entrando em contato com seu departamento jurÃdico)
Os logs do servidor e as capturas de pacotes são o que a maioria dos administradores tentará aproveitar primeiro, mas a verdade simples é que o SNMP pode dizer muito mais sobre o ambiente do que seus logs. Não ignore logs e capturas de pacotes, mas o SNMP geralmente pode ajudá-lo a detectar a existência de um problema mais rapidamente.
Além de rastrear as estatÃsticas padrão do sistema fornecidas por sua ferramenta de monitoramento SNMP (que deve incluir carga da CPU, taxa de transferência por interface e contadores de pacotes, E/S de disco, etc.), recomendo adicionar os seguintes OIDs:
udpInErrors
(cor vermelha raivosa altamente recomendada)udpInDatagrams
,udpOutDatagrams
udpNoPorts
tcpInSegs
,tcpOutSegs
Interpretando os gráficos
Esses gráficos podem ser agrupados em duas categorias: métricas que indicam um problema e métricas que ajudam a diagnosticá-lo.
Indicadores
udpInErrors
é o principal sinal de um problema de capacidade. Esse contador aumenta toda vez que o kernel descarta um datagrama UDP porque o aplicativo não está processando o tráfego rápido o suficiente. Isso significa que seu serviço DNS está sobrecarregado e não consegue acompanhar o tráfego de entrada.Se você não puder correlacionar aumentos nessas métricas a outros problemas de desempenho no sistema, parabéns: você está legitimamente próximo/acima da capacidade e é hora de adicionar servidores. Considere-me impressionado. :)
diagnosticando
Isso cobre apenas itens especÃficos de DNS. Use sua cabeça aqui e não espere que isso seja tudo incluÃdo. (exemplo: a saturação de E/S do disco não é um problema especÃfico do DNS)
Nota lateral:
udpNoPorts
não é realmente uma métrica de capacidade, mas é útil para identificar tentativas de envenenamento de cache. Esse contador é incrementado toda vez que um pacote UDP é visto em uma porta inesperada, e uma parede sustentada deles durante a operação normal pode sugerir que alguém está tentando forjar uma resposta. (ou isso, ou um de seus ouvintes não está funcionando: ligue isso de volta em foo'!)Com servidores DNS (na verdade, qualquer tipo de servidor), às vezes você precisa observar e analisar as solicitações que estão sendo feitas, caso uma configuração incorreta (possivelmente em outro lugar) esteja ampliando o volume de solicitações (consulte, por exemplo , servidores DNS do Windows solicitando registros repetidamente na zona quando recebem a resposta SERVFAIL ). Observe as proporções de consultas e respostas e tente encontrar um comparador para verificar a normalidade.