Я прочитал и понял Можете ли вы помочь мне с планированием моей мощности?, но я не уверен, что понимаю, каковы мои следующие шаги в сценарии DNS-сервера. я считать у меня высокая загрузка ЦП или что я, возможно, начинаю отбрасывать запросы, но я хотел бы лучше понять загрузку моего сервера, прежде чем принимать меры. Меня это особенно беспокоит, потому что общеизвестно, что масштабирование вашей инфраструктуры под нагрузку DDoS проигрывает.
Что мне нужно анализировать, чтобы понять мою среду?
На Serverfault мы обычно сообщаем вам, что не можем помочь с планированием вашей мощности. На это есть веская причина: мы не знаем особенностей вашей среды, и ответы о том, как ее измерить, практически одинаковы. К сожалению, измерение емкости DNS - это плохо изученная тема, и большинство администраторов полагают, что высокая загрузка ЦП означает, что пора подумать о добавлении емкости. Это действительно очень плохая идея, и масштабирование до DNS DDoS неизбежно приведет к зависанию ваших сетевых устройств. (или того хуже, люди, обращающиеся в ваш юридический отдел)
Журналы сервера и захват пакетов - это то, что большинство администраторов попытается использовать в первую очередь, но простая правда в том, что SNMP может рассказать вам гораздо больше о среде, чем то, что делают ваши журналы. Не надо игнорировать журналы и захват пакетов, но обычно протокол SNMP помогает быстрее обнаружить проблему.
В дополнение к отслеживанию системной статистики по умолчанию, предоставляемой вашим инструментом мониторинга SNMP (которая должна включать загрузку ЦП, пропускную способность интерфейса и счетчики пакетов, дисковый ввод-вывод и т. Д.), Я рекомендую добавить следующие OID:
udpInErrors
(настоятельно рекомендуется красный цвет)udpInDatagrams
, udpOutDatagrams
udpNoPorts
tcpInSegs
, tcpOutSegs
Эти графики можно разделить на две категории: метрики, указывающие на проблему, и метрики, которые помогают ее диагностировать.
Индикаторы
udpInErrors
- ваш главный признак проблемы с мощностью. Этот счетчик увеличивается каждый раз, когда ядро отбрасывает дейтаграмму UDP, поскольку приложение недостаточно быстро обрабатывает трафик. Это означает, что ваш DNS-сервис перегружен и не может справиться с входящим трафиком. Если вы не можете соотнести увеличение этих показателей с другими проблемами производительности в системе, примите наши поздравления: вы законно приближаетесь к мощности или превышаете ее, и пора добавить серверы. Считайте меня впечатленным. :)
Диагностика
Это касается только элементов, относящихся к DNS. Думайте об этом и не ожидайте, что это будет все включено. (пример: насыщение дискового ввода-вывода не является проблемой, специфичной для DNS)
Примечание: udpNoPorts
не действительно метрика емкости, но она полезна для выявления попыток отравления кеша. Этот счетчик увеличивается каждый раз, когда UDP-пакет обнаруживается на неожиданном порте, и их постоянная стена во время нормальной работы может указывать на то, что кто-то пытается подделать ответ. (либо это, либо один из ваших слушателей не работает: снова включите foo '!)
С DNS-серверами (на самом деле, с любым типом серверов) иногда вам нужно просматривать и анализировать запросы, которые к ним поступают, на случай, если неправильная конфигурация (возможно, в другом месте) увеличивает объем запросов (см. DNS-серверы Windows неоднократно запрашивают записи в зоне при получении ответа SERVFAIL). Посмотрите на пропорции запросов и ответов, а затем попробуйте найти компаратор для проверки нормальности.