Ridurre la verbosità della registrazione SNMPd


37

SNMPd sui miei sistemi CentOS invia messaggi di registro a syslog ogni volta che riceve una query dai miei strumenti di monitoraggio. C'è un modo per ridurre la verbosità di SNMPd? Aggiunge un sacco di disordine ai registri.

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

Grazie!

Risposte:


37

Controlla il comando che si avvia snmpd(possibilmente da qualche parte /etc/rc.d/- in Ubuntu è /etc/defaults/snmpd) per le opzioni di registrazione:

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

O trovalo ps aux | grep snmpdnell'output.

La pagina man offre le opzioni di registrazione:

-Ls FACILITY

Registra i messaggi tramite syslog, utilizzando la funzione specificata ('d' per LOG_DAEMON, 'u' per LOG_USER o '0' - '7' per LOG_LOCAL0 tramite LOG_LOCAL7). Esistono anche versioni "maiuscole" di ciascuna di queste opzioni, che consentono di limitare il meccanismo di registrazione corrispondente a determinate priorità del messaggio.

Per -LF e -LS la specifica di priorità precede il token del file o della funzione. Le priorità riconosciute sono:

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. 

L'impostazione predefinita è abbastanza dettagliata (solo 2 livelli sotto il debug):

L'output normale viene (o sarà!) Registrato a un livello di priorità di LOG_NOTICE

Se si accede a syslog tramite LOG_DAEMON (-Lsd), è possibile ridurlo ad es. LOG_WARNING con -LSwd/ -LS4do LOG_ERR con -LSed/ -LS3d.

(Modificato per mettere le opzioni nell'ordine giusto.)


Ho faticato a trovare la posizione corretta su CentOS 6.5. Non è /etc/snmp/snmpd.optionsné è, /etc/sysconfig/snmpd.optionsma in realtà lo è /etc/sysconfig/snmpd. È ps aux | grep snmpdstato davvero utile vedere se i cambiamenti stavano funzionando.
Eugene van der Merwe,

1
In Debian usando systemd è cablato /lib/systemd/system/snmpd.service, usa systemctl cat snmpde systemctl edit snmpdper sovrascrivere [Service]ExecStart solo. ExecStartdovrebbe essere inserito due volte, la prima volta vuoto per cancellare il vecchio (cercare systemd sovrascrivere la funzione delle impostazioni del fornitore )
Alex

19

Per impostare la priorità minima su LOG_WARNING, (che è quello che di solito uso) basta cambiare l'argopt:

-Lsd

a

-LSwd

Che sta per:

  • S : syslog, la priorità viene dopo
  • w : (o 4 ) registrare solo gli avvertimenti ei messaggi più rilevanti
  • d : utilizzare la funzione LOG_DAEMON

Come affermato nell'uomo (ma in realtà manca un chiaro esempio):

Per -LF e -LS la specifica di priorità precede il token del file o della funzione


Oops, ho perso l'ordine di priorità / struttura.
Andrew,

10

dontLogTCPWrappersConnects

Se lo snmpd è stato compilato con il supporto TCP Wrapper, registra tutte le connessioni effettuate all'agente. Questa impostazione disabilita i messaggi di registro per le connessioni accettate. Le connessioni negate verranno comunque registrate.

dontLogTCPWrappersConnects trueVale a dire aggiungere a snmpd.conf.

Sono perplesso sul perché questo messaggio di log sia considerato sopra LOG_DEBUG, per un servizio di monitoraggio (e uno che supporta UDP) :-(. journalctl -o verboseMostra che il messaggio ha PRIORITY = 6 (INFO), che è lo stesso dei normali messaggi di avvio per snmpd .


Sembra funzionare oltre a cambiare il livello di registrazione da avviso a avviso, ma in un modo più focalizzato sulla registrazione della connessione.
jla,

Questo ha funzionato meglio per me per rimuovere la registrazione per tentativi di connessione riusciti, piuttosto che restringere i criteri di registro.
B Knight,

5

Rimuovo completamente la direttiva "-Lsd" dal /etc/sysconfig/snmpd.optionsfile nelle installazioni CentOS / Redhat, lasciando un file che legge:

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

questo interrompe completamente tutti i registri snmpd o ricade sulla registrazione predefinita?
Banjer,

3

Includendo la linea standard (inclusa nel /etc/snmp/snmp.conffile predefinito per CentOS 6.5) ha funzionato per me per ridurre la verbosità specificamente rispetto alla registrazione della connessione SNMP TCP / UDP:

dontLogTCPWrappersConnects yes

Ecco un estratto più "dettagliato" dal snmp.conffile predefinito :

# 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

sul raspberry pi / raspbian, il percorso del file è

/lib/systemd/system/snmpd.service

quindi è necessario eseguire un ricaricamento del daemon prima di riavviare il servizio snmpd.

systemctl daemon-reload

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.