Уменьшить детализацию ведения журнала SNMPd

37

SNMPd в моих системах CentOS отправляет сообщения журнала в системный журнал каждый раз, когда получает запрос от моих инструментов мониторинга. Есть ли способ понизить многословие SNMPd? Это добавляет много беспорядка в журналы.

Sep 12 13:05:40 myhost snmpd[7073]: Received SNMP packet(s) from UDP: [ipaddr]:42874
Sep 12 13:05:40 myhost snmpd[7073]: Connection from UDP: [ipaddr]:49272

Благодарность!

wjimenez5271
источник

Ответы:

37

Проверьте команду, которая запускается snmpd(возможно, где-то /etc/rc.d/- в Ubuntu это /etc/defaults/snmpd) для параметров регистрации:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid -g root 0.0.0.0'

Или найти его в ps aux | grep snmpdвыводе.

Страница man предоставляет параметры регистрации:

-Ls ОБЪЕКТ

Регистрировать сообщения через системный журнал, используя указанное средство («d» для LOG_DAEMON, «u» для LOG_USER или «0» - «7» для LOG_LOCAL0 до LOG_LOCAL7). Существуют также «прописные» версии каждой из этих опций, которые позволяют ограничить соответствующий механизм ведения журнала определенными приоритетами сообщения.

Для -LF и -LS спецификация приоритета предшествует токену файла или объекта. Приоритеты признаются:

0 or ! for LOG_EMERG,
1 or a for LOG_ALERT,
2 or c for LOG_CRIT,
3 or e for LOG_ERR,
4 or w for LOG_WARNING,
5 or n for LOG_NOTICE,
6 or i for LOG_INFO, and
7 or d for LOG_DEBUG. 

Значение по умолчанию довольно многословно (только на 2 уровня ниже отладки):

Нормальный вывод (или будет!) Зарегистрирован на уровне приоритета LOG_NOTICE

Если вы входите в системный журнал через LOG_DAEMON (-Lsd), вы можете уменьшить его, например, до LOG_WARNING с -LSwd/ -LS4dили LOG_ERR с -LSed/ -LS3d.

(Отредактировано, чтобы расположить параметры в правильном порядке.)

Эндрю
источник
Я изо всех сил пытался найти правильное местоположение на CentOS 6.5. Это не /etc/snmp/snmpd.optionsтак, /etc/sysconfig/snmpd.optionsно на самом деле это так /etc/sysconfig/snmpd. Было ps aux | grep snmpdдействительно полезно увидеть, работают ли изменения.
Юджин ван дер Мерве
1
В Debian, использующем systemd, он подключен /lib/systemd/system/snmpd.service, используется systemctl cat snmpdи только systemctl edit snmpdдля переопределения [Service]ExecStart . ExecStartдолжен быть введен дважды, первый раз пустым, чтобы очистить старое (ищите функцию настройки поставщика системы переопределения )
Alex
19

Чтобы установить минимальный приоритет для LOG_WARNING, (который я обычно использую) просто измените argopt:

-ЛСД

в

-LSwd

Что означает:

  • S : системный журнал, приоритет идет дальше
  • w : (или 4 ) регистрировать только предупреждения и более релевантные сообщения
  • d : использовать средство LOG_DAEMON

Как сказано в человеке (но на самом деле отсутствует четкий пример):

Для -LF и -LS спецификация приоритета предшествует токену файла или объекта

oxullo
источник
К сожалению, я пропустил порядок приоритета / объекта.
Андрей
10

dontLogTCPWrappersConnects

Если snmpd был скомпилирован с поддержкой TCP Wrapper, он регистрирует каждое соединение с агентом. Этот параметр отключает сообщения журнала для принятых подключений. Запрещенные соединения все равно будут зарегистрированы.

Т.е. добавить dontLogTCPWrappersConnects trueв snmpd.conf.

Я озадачен, почему это сообщение журнала рассматривается выше LOG_DEBUG для службы мониторинга (и службы, поддерживающей UDP) :-(. journalctl -o verboseПоказывает, что сообщение имеет PRIORITY = 6 (INFO), что совпадает с обычными сообщениями запуска для snmpd ,

sourcejedi
источник
Похоже, работает, а также изменение уровня ведения журнала с уведомления на предупреждение, но таким образом, что больше внимания уделяется ведению журнала подключений.
января
Для меня это лучше всего удаляло журналирование для успешных попыток соединения, а не сужало критерии регистрации.
B Рыцарь
5

Я полностью удаляю директиву "-Lsd" из /etc/sysconfig/snmpd.optionsфайла в установках CentOS / Redhat, оставляя файл, который гласит:

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"
ewwhite
источник
это полностью останавливает все журналы snmpd или возвращается к журналу по умолчанию?
Banjer
3

Включение стандартной (включенной в /etc/snmp/snmp.confфайл по умолчанию для CentOS 6.5) строки помогло мне сократить многословность, особенно в отношении протоколирования соединений TCP / UDP SNMP:

dontLogTCPWrappersConnects yes

Вот более «подробный» отрывок из snmp.confфайла по умолчанию :

# We do not want annoying "Connection from UDP: " messages in syslog.
# If the following option is commented out, snmpd will print each incoming
# connection, which can be useful for debugging.

dontLogTCPWrappersConnects yes
Киндзмараули
источник
-1

на Raspberry Pi / Rasbian расположение файла

/lib/systemd/system/snmpd.service

затем вы должны выполнить daemon-reload перед перезапуском службы snmpd.

systemctl daemon-reload

SkullKill
источник