ошибки netdata ipv4 UDP

ошибки netdata ipv4 UDP

Я недавно установилнетдатана экземпляре 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 вообще не сообщает об ошибках, но, возможно, он не настроен на это.

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

решение1

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

Связанный контент