Назад | Перейти на главную страницу

netdata ipv4 UDP ошибки

Я недавно установил netdata на имеющемся у меня экземпляре Amazon EC2 debian. Netdata - это довольно круто, красивые диаграммы / графики, безболезненно просты в установке (по сравнению с другими).

Несколько раз в день я получаю такое сообщение, как

1m ipv4 udp receive buffer errors = 9 errors
number of UDP receive buffer errors during the last minute

и через несколько минут сообщение о восстановлении. Вероятно, в течение дня с UDP / TCP выявляются сотни ошибок. Я также вижу похожую картину на сервере, который я запускаю дома.

Я использовал другие пакеты мониторинга на протяжении многих лет и никогда не видел ошибок такого типа. Я подозреваю, что некоторые ошибки, особенно по UDP, являются нормальным явлением, верно? Это ожидаемое поведение? Могу ли я отключить мониторинг этих сигналов тревоги?

Я переехал на вторую сетевую карту на машине дома без существенных изменений в поведении.

это Приемлемое количество ошибок Ethernet в среде среднего размера? предполагает, что у меня может быть серьезная проблема, и я определенно могу попробовать другие сетевые адаптеры дома. Но как я могу решить эту проблему на своем экземпляре EC2?

Также стоит отметить, что logwatch вообще не сообщает о проблемах, но тогда он может не быть настроен для этого.

Спасибо за руководство.

netdata использует statsd как система сбора метрик. Это протокол на основе UDP, который невероятно быстр и эффективен, но при высоких скоростях может переполнять recv_buffer входящего узла. Размер буфера приема по умолчанию составляет около 1 МБ, поэтому, если агент statsd не может использовать достаточно быстро, чтобы буфер не заполнялся, ядро ​​отбрасывает датаграммы.

Простое решение - увеличить буфер recv до большего размера, чтобы справиться с пиками - обычно это решает проблемы переполнения буфера UDP. Если вы по-прежнему постоянно видите журнал выше, вам нужно будет увеличить мощность ЦП машины или перейти к более производительной реализации statsd (нам пришлось перейти от стандартного клиента statsd на основе nodejs к клиенту на основе C ++).

Чтобы увеличить размер буфера, используйте следующие команды:

# echo "net.core.rmem_default=8388608" >> /etc/sysctl.conf
# echo "net.core.rmem_max=16777216" >> /etc/sysctl.conf
# sysctl -p

Вышеуказанные параметры очень агрессивны и увеличивают использование памяти стека ядра. Вы можете начать с меньших значений и увеличивать оттуда - традиционное соотношение max = default * 2.

Более подробная информация доступна здесь: https://www.ibm.com/support/knowledgecenter/en/SSQPD3_2.6.0/com.ibm.wllm.doc/UDPSocketBuffers.html