Reduzca la verbosidad del registro SNMPd

37

SNMPd en mis sistemas CentOS está enviando mensajes de registro a syslog cada vez que recibe una consulta de mis herramientas de monitoreo. ¿Hay alguna manera de reducir la verbosidad de SNMPd? Agrega mucho desorden a los registros.

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

¡Gracias!

wjimenez5271
fuente

Respuestas:

37

Verifique el comando que comienza snmpd(posiblemente en algún lugar /etc/rc.d/, en Ubuntu /etc/defaults/snmpd) para las opciones de registro:

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

O encuéntralo en la ps aux | grep snmpdsalida.

La página del manual ofrece las opciones de registro:

-S INSTALACIÓN

Registre mensajes a través de syslog, utilizando la función especificada ('d' para LOG_DAEMON, 'u' para LOG_USER o '0' - '7' para LOG_LOCAL0 a LOG_LOCAL7). También hay versiones "mayúsculas" de cada una de estas opciones, que permiten que el mecanismo de registro correspondiente se restrinja a ciertas prioridades de mensaje.

Para -LF y -LS, la especificación de prioridad viene antes que el token de archivo o instalación. Las prioridades reconocidas son:

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. 

El valor predeterminado es bastante detallado (solo 2 niveles por debajo de la depuración):

La salida normal se registra (o se registrará) en un nivel de prioridad de LOG_NOTICE

Si está iniciando sesión en syslog a través de LOG_DAEMON (-Lsd), puede reducirlo a, por ejemplo, LOG_WARNING con -LSwd/ -LS4do LOG_ERR con -LSed/ -LS3d.

(Editado para poner las opciones en el orden correcto).

Andrés
fuente
Me costó encontrar la ubicación correcta en CentOS 6.5. No es /etc/snmp/snmpd.optionsni es, /etc/sysconfig/snmpd.optionspero en realidad lo es /etc/sysconfig/snmpd. El ps aux | grep snmpdera realmente útil para ver si los cambios estaban trabajando.
Eugene van der Merwe
1
En Debian usando systemd está conectado /lib/systemd/system/snmpd.service, use systemctl cat snmpdy systemctl edit snmpdpara anular [Service]ExecStart solamente. ExecStartdebe ingresarse dos veces, la primera vez vacía para borrar la antigua (busque la función de configuración del proveedor de anulación de systemd )
Alex
19

Para establecer la prioridad mínima en LOG_WARNING, (que es lo que suelo usar) simplemente cambie el argopt:

-LSD

a

-LSwd

Lo que significa:

  • S : syslog, la prioridad viene después
  • w : (o 4 ) registra solo advertencias y mensajes más relevantes
  • d : use la instalación LOG_DAEMON

Como se indica en el hombre (pero en realidad falta un ejemplo claro):

Para -LF y -LS, la especificación de prioridad viene antes del archivo o token de facilidad

oxullo
fuente
Vaya, me perdí el orden de prioridad / instalación.
Andrew
10

dontLogTCPWrappersConnects

Si el snmpd se compiló con soporte TCP Wrapper, registra cada conexión realizada al agente. Esta configuración deshabilita los mensajes de registro para las conexiones aceptadas. Las conexiones denegadas aún se registrarán.

Es decir, agregar dontLogTCPWrappersConnects truea snmpd.conf.

Estoy desconcertado por qué este mensaje de registro se considera por encima de LOG_DEBUG, para un servicio de monitoreo (y uno que admite UDP) :-(. journalctl -o verboseMuestra que el mensaje tiene PRIORITY = 6 (INFO), que es lo mismo que los mensajes de inicio normales para snmpd .

sourcejedi
fuente
Parece funcionar tan bien como cambiar el nivel de registro de aviso a aviso, pero de una manera que se centra más en el registro de conexión.
jla
Esto funcionó mejor para mí para eliminar el registro de intentos de conexión exitosos, en lugar de limitar los criterios de registro.
B Knight
5

Elimino por completo la directiva "-Lsd" del /etc/sysconfig/snmpd.optionsarchivo en las instalaciones de CentOS / Redhat, dejando un archivo que dice:

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"
ewwhite
fuente
¿Esto detiene completamente todos los registros snmpd, o vuelve al registro predeterminado?
Banjer
3

La inclusión de la línea estándar (incluida en el /etc/snmp/snmp.confarchivo predeterminado para CentOS 6.5) funcionó para mí para reducir la verbosidad específicamente con respecto al registro de conexión TCP / UDP SNMP:

dontLogTCPWrappersConnects yes

Aquí hay un extracto más "detallado" del snmp.confarchivo predeterminado :

# 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
fuente
-1

en el raspberry pi / raspbian, la ubicación del archivo es

/lib/systemd/system/snmpd.service

entonces debe hacer una recarga de daemon antes de reiniciar el servicio snmpd.

systemctl daemon-reload

SkullKill
fuente