Réduire la verbosité de la journalisation SNMPd

37

SNMPd sur mes systèmes CentOS envoie des messages de journal à syslog chaque fois qu'il reçoit une requête de mes outils de surveillance. Existe-t-il un moyen de réduire la verbosité de SNMPd? Cela ajoute beaucoup de fouillis aux journaux.

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

Merci!

wjimenez5271
la source

Réponses:

37

Vérifiez la commande qui démarre snmpd(éventuellement quelque part /etc/rc.d/- dans Ubuntu c'est /etc/defaults/snmpd) pour les options de journalisation:

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

Ou trouvez-le dans la ps aux | grep snmpdsortie.

La page de manuel donne les options de journalisation:

-Ls Facilité

Consignez les messages via syslog, en utilisant la fonction spécifiée ("d" pour LOG_DAEMON, "u" pour LOG_USER ou "0" - "7" pour LOG_LOCAL0 à LOG_LOCAL7). Il existe également des versions "majuscules" de chacune de ces options, qui permettent de limiter le mécanisme de journalisation correspondant à certaines priorités du message.

Pour -LF et -LS, la spécification de priorité précède le jeton de fichier ou de service. Les priorités reconnues sont:

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. 

La valeur par défaut est assez détaillée (seulement 2 niveaux sous debug):

La sortie normale est (ou sera!) Enregistrée à un niveau de priorité de LOG_NOTICE

Si vous vous connectez à syslog via LOG_DAEMON (-Lsd), vous pouvez le réduire à LOG_WARNING avec -LSwd/ -LS4dou à LOG_ERR avec -LSed/ -LS3d.

(Edité pour mettre les options dans le bon ordre.)

Andrew
la source
J'ai eu du mal à trouver le bon emplacement sur CentOS 6.5. Ce n'est pas /etc/snmp/snmpd.optionsnon plus, /etc/sysconfig/snmpd.optionsmais c'est en réalité ça /etc/sysconfig/snmpd. Le ps aux | grep snmpdétait vraiment utile de voir si les changements travaillaient.
Eugene van der Merwe,
1
Dans Debian, avec systemd, il n’est connecté qu’à des /lib/systemd/system/snmpd.servicefins d’utilisation systemctl cat snmpdet systemctl edit snmpdde substitution [Service]ExecStart . ExecStartdoit être entré deux fois, la première fois vide, pour effacer l'ancien (recherchez la fonction systemd pour remplacer les paramètres du fournisseur )
Alex
19

Afin de définir la priorité minimale sur LOG_WARNING (ce que j’utilise habituellement), il suffit de changer le paramètre argopt:

-LSD

à

-LSwd

Qui veut dire:

  • S : syslog, la priorité vient ensuite
  • w : (ou 4 ) enregistre uniquement les avertissements et les messages plus pertinents
  • d : utiliser la fonction LOG_DAEMON

Comme indiqué dans l' homme (mais manque en réalité d'un exemple clair):

Pour -LF et -LS, la spécification de priorité précède le jeton de fichier ou d'installation.

Oxullo
la source
Oups, j'ai raté l'ordre de priorité / installation.
Andrew
10

dontLogTCPWrappersConnects

Si le fichier snmpd a été compilé avec la prise en charge de TCP Wrapper, il enregistre toutes les connexions établies avec l'agent. Ce paramètre désactive les messages de journal pour les connexions acceptées. Les connexions refusées seront toujours enregistrées.

C'est-à-dire ajouter dontLogTCPWrappersConnects trueà snmpd.conf.

Je ne comprends pas pourquoi ce message de journal est considéré au-dessus de LOG_DEBUG, pour un service de surveillance (et un qui prend en charge le protocole UDP) :-(. Indique journalctl -o verboseque le message a PRIORITY = 6 (INFO), ce qui est identique aux messages de démarrage normaux de snmpd .

sourcejedi
la source
Cela semble fonctionner, tout en modifiant le niveau de consignation d'avertissement en avertissement, mais d'une manière davantage axée sur la consignation de la connexion.
Jla
Cela fonctionnait mieux pour moi de supprimer la journalisation des tentatives de connexion réussies, plutôt que de restreindre les critères de journalisation.
B Knight
5

Je supprime complètement la directive "-Lsd" du /etc/sysconfig/snmpd.optionsfichier dans les installations CentOS / Redhat, en laissant un fichier qui se lit comme suit:

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"
ewwhite
la source
cela arrête-t-il complètement tous les journaux snmpd, ou revient-il à la journalisation par défaut?
Banjer
3

L'inclusion de la ligne standard (incluse dans le /etc/snmp/snmp.conffichier par défaut pour CentOS 6.5) m'a permis de réduire le niveau de verbosité, en particulier en ce qui concerne la journalisation des connexions SNMP TCP / UDP:

dontLogTCPWrappersConnects yes

Voici un extrait plus "prolixe" du snmp.conffichier par défaut :

# 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
la source
-1

sur le framboise pi / raspbian, l’emplacement du fichier est

/lib/systemd/system/snmpd.service

alors vous devez faire un démon-reload avant de redémarrer le service snmpd.

Systemctl daemon-reload

SkullKill
la source