Ogranicz gadatliwość rejestrowania SNMPd

37

SNMPd w moich systemach CentOS wysyła komunikaty dziennika do syslog za każdym razem, gdy otrzymuje zapytanie od moich narzędzi monitorowania. Czy istnieje sposób na obniżenie szczegółowości SNMPd? Dodaje dużo bałaganu do dzienników.

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

Dzięki!

wjimenez5271
źródło

Odpowiedzi:

37

Sprawdź polecenie, które się uruchamia snmpd(być może gdzieś /etc/rc.d/- w Ubuntu to /etc/defaults/snmpd), aby uzyskać opcje rejestrowania:

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

Lub znajdź to w danych ps aux | grep snmpdwyjściowych.

Strona człowiek daje opcje rejestrowania:

-LS UDOGODNIENIA

Rejestruj wiadomości za pomocą syslog, używając określonej funkcji („d” dla LOG_DAEMON, „u” dla LOG_USER lub „0” - „7” dla LOG_LOCAL0 do LOG_LOCAL7). Istnieją również wersje „wielkich liter” każdej z tych opcji, które umożliwiają ograniczenie odpowiedniego mechanizmu rejestrowania do określonych priorytetów wiadomości.

W przypadku opcji -LF i -LS specyfikacja priorytetu występuje przed plikiem lub tokonem obiektu. Uznane priorytety to:

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. 

Domyślnie jest dość szczegółowy (tylko 2 poziomy poniżej debugowania):

Normalne wyjście jest (lub będzie!) Rejestrowane na poziomie priorytetu LOG_NOTICE

Jeśli logujesz się do syslog poprzez LOG_DAEMON (-Lsd), możesz zredukować go do np. LOG_WARNING przy pomocy -LSwd/ -LS4dlub LOG_ERR przy pomocy -LSed/ -LS3d.

(Edytowane, aby ustawić opcje we właściwej kolejności).

Andrzej
źródło
Z trudem znalazłem poprawną lokalizację na CentOS 6.5. To nie /etc/snmp/snmpd.optionsjest ani nie jest, /etc/sysconfig/snmpd.optionsale tak naprawdę jest /etc/sysconfig/snmpd. ps aux | grep snmpdByło bardzo przydatne, aby zobaczyć, czy zmiany pracy.
Eugene van der Merwe
1
W Debianie korzystając Systemd jest okablowany /lib/systemd/system/snmpd.service, użytkowania systemctl cat snmpdi systemctl edit snmpdaby zastąpić [Service]ExecStart tylko. ExecStartnależy wprowadzić dwa razy, po raz pierwszy pusty, aby wyczyścić stary (poszukaj funkcji systemowego zastępowania ustawień dostawcy )
Alex
19

Aby ustawić minimalny priorytet na LOG_WARNING, (którego zwykle używam), po prostu zmień argopt:

-LSD

do

-LSwd

Co oznacza:

  • S : syslog, priorytet jest następny
  • w : (lub 4 ) rejestruj tylko ostrzeżenia i bardziej odpowiednie komunikaty
  • d : użyj funkcji LOG_DAEMON

Jak stwierdzono u mężczyzny (ale faktycznie brakuje wyraźnego przykładu):

W przypadku opcji -LF i -LS specyfikacja priorytetu występuje przed plikiem lub tokonem obiektu

oxullo
źródło
Ups, przegapiłem kolejność pierwszeństwa / ułatwienia.
Andrew
10

dontLogTCPWrappersConnects

Jeśli snmpd został skompilowany z obsługą TCP Wrapper, rejestruje każde połączenie wykonane z agentem. To ustawienie wyłącza komunikaty dziennika dla akceptowanych połączeń. Odmówione połączenia będą nadal rejestrowane.

Tj. Dodaj dontLogTCPWrappersConnects truedo snmpd.conf.

Zastanawiam się, dlaczego ten komunikat dziennika jest rozpatrywany powyżej LOG_DEBUG, dla usługi monitorowania (i obsługującej UDP) :-(. journalctl -o verbosePokazuje, że komunikat ma PRIORITY = 6 (INFO), co jest takie samo jak normalne komunikaty startowe dla snmpd .

sourcejedi
źródło
Wydaje się działać, a także zmienia poziom rejestrowania z powiadomienia na ostrzeżenie, ale w sposób bardziej skoncentrowany na rejestrowaniu połączenia.
jla
To działało najlepiej dla mnie, aby usunąć rejestrowanie udanych prób połączenia, zamiast zawężać kryteria dziennika.
B Knight
5

Całkowicie usuwam dyrektywę „-Lsd” z /etc/sysconfig/snmpd.optionspliku w instalacjach CentOS / Redhat, pozostawiając plik o treści:

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"
ewwhite
źródło
czy to całkowicie zatrzymuje wszystkie dzienniki snmpd, czy też wraca do domyślnego?
Banjer
3

Uwzględnienie standardowej (zawartej w domyślnym /etc/snmp/snmp.confpliku dla CentOS 6.5) linii działało dla mnie w celu zmniejszenia szczegółowości w odniesieniu do rejestrowania połączeń TCP / UDP SNMP:

dontLogTCPWrappersConnects yes

Oto bardziej „pełny” fragment domyślnego snmp.confpliku:

# 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
kindzmarauli
źródło
-1

na Raspberry Pi / Raspbian lokalizacja pliku to

/lib/systemd/system/snmpd.service

następnie musisz ponownie załadować demona przed zrestartowaniem usługi snmpd.

systemctl daemon-reload

SkullKill
źródło