Зменшити багатослівність ведення протоколу SNMPd


37

SNMPd в моїх системах CentOS надсилає повідомлення журналу в syslog кожен раз, коли він отримує запит від моїх інструментів моніторингу. Чи є спосіб знизити багатослів’я 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

Спасибі!

Відповіді:


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" надає параметри ведення журналу:

-ЛІСЬКИЙ ОБ'ЄДНІСТЬ

Реєструйте повідомлення через syslog, використовуючи вказаний інструмент ('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

Якщо ви входите в syslog через 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, (що я зазвичай використовую) просто змініть аргопт:

-Lsd

до

-LSwd

Що означає:

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

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

Для -LF та -LS специфікація пріоритету надходить до файлу або маркера об'єкта


На жаль, я пропустив порядок пріоритетності / об'єкта.
Андрій

10

dontLogTCPWrappersConnects

Якщо snmpd був скомпільований з підтримкою TCP Wrapper, він записує все з'єднання, зроблені до агента. Цей параметр вимикає повідомлення журналу для прийнятих з'єднань. Заборонені з’єднання все ще будуть реєструватися.

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

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


Здається, працює так само, як і зміна рівня журналу від сповіщення до попередження, але таким чином, який більш орієнтований на ведення журналу з'єднання.
jla

Це найкраще працювало для того, щоб видалити журнал для успішних спроб з'єднання, а не звужувати критерії журналу.
B Лицар

5

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

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"

це повністю зупиняє всі журнали snmpd, чи повертається до журналу за замовчуванням?
Банджер

3

У тому числі стандартний (включений у /etc/snmp/snmp.confфайл за замовчуванням для CentOS 6.5) рядок працював для мене, щоб зменшити багатослів’я, зокрема щодо протоколу протоколу SNMP-з'єднання TCP / UDP:

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

на малиновому пі / розп'яні розташування файлу є

/lib/systemd/system/snmpd.service

тоді вам доведеться виконати перезавантаження демона перед перезапуском служби snmpd.

systemctl перезавантаження демонів

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.