Reduzir a verbosidade do log SNMPd

37

O SNMPd nos meus sistemas CentOS está enviando mensagens de log para o syslog toda vez que recebe uma consulta das minhas ferramentas de monitoramento. Existe uma maneira de diminuir a verbosidade do SNMPd? Isso adiciona muita confusão aos logs.

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

Obrigado!

wjimenez5271
fonte

Respostas:

37

Verifique o comando que inicia snmpd(possivelmente em algum lugar /etc/rc.d/- no Ubuntu é /etc/defaults/snmpd) para as opções de log:

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

Ou encontre-o na ps aux | grep snmpdsaída.

A página do manual fornece as opções de log:

-Ls FACILITY

Registre mensagens via syslog, usando o recurso especificado ('d' para LOG_DAEMON, 'u' para LOG_USER ou '0' - '7' para LOG_LOCAL0 a LOG_LOCAL7). Também existem versões "maiúsculas" de cada uma dessas opções, que permitem que o mecanismo de registro correspondente seja restrito a determinadas prioridades da mensagem.

Para -LF e -LS, a especificação de prioridade vem antes do token do arquivo ou recurso. As prioridades reconhecidas são:

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. 

O padrão é bastante detalhado (apenas 2 níveis abaixo da depuração):

A saída normal é (ou será!) Registrada em um nível de prioridade de LOG_NOTICE

Se você estiver efetuando login no syslog via LOG_DAEMON (-Lsd), poderá reduzi-lo para, por exemplo, LOG_WARNING com -LSwd/ -LS4dou LOG_ERR com -LSed/ -LS3d.

(Editado para colocar as opções na ordem correta.)

Andrew
fonte
Eu lutei para encontrar o local correto no CentOS 6.5. Não é /etc/snmp/snmpd.optionsnem é, /etc/sysconfig/snmpd.optionsmas na verdade é /etc/sysconfig/snmpd. O ps aux | grep snmpdfoi realmente útil para ver se as mudanças foram trabalhar.
Eugene van der Merwe
11
Em Debian usando systemd que é ligado em /lib/systemd/system/snmpd.service, uso systemctl cat snmpde systemctl edit snmpdpara substituir [Service]ExecStart somente. ExecStartdeve ser digitada duas vezes, a primeira vez que esvaziar para limpar a velha (olhar para systemd override fornecedor configurações de recurso)
Alex
19

Para definir a prioridade mínima para LOG_WARNING, (que é o que eu costumo usar), basta alterar o argumento:

-Lsd

para

-LSwd

O que significa:

  • S : syslog, a prioridade vem a seguir
  • w : (ou 4 ) registra apenas avisos e mensagens mais relevantes
  • d : use o recurso LOG_DAEMON

Como afirmado no homem (mas na verdade falta um exemplo claro):

Para -LF e -LS, a especificação de prioridade vem antes do token do arquivo ou recurso

oxullo
fonte
Ops, perdi a ordem de prioridade / instalação.
Andrew
10

dontLogTCPWrappersConnects

Se o snmpd foi compilado com o suporte ao TCP Wrapper, ele registra todas as conexões feitas com o agente. Essa configuração desativa as mensagens de log para conexões aceitas. As conexões negadas ainda serão registradas.

Ou seja, adicione dontLogTCPWrappersConnects trueao snmpd.conf.

Estou confuso por que essa mensagem de log é considerada acima de LOG_DEBUG, para um serviço de monitoramento (e que suporta UDP) :-(. journalctl -o verboseMostra que a mensagem tem PRIORITY = 6 (INFO), que é igual às mensagens normais de inicialização do snmpd .

sourcejedi
fonte
Parece funcionar, além de alterar o nível de log de aviso para aviso, mas de uma maneira mais focada no log de conexão.
21136 jla
Isso funcionou melhor para remover o log para tentativas de conexão bem-sucedidas, em vez de restringir os critérios de log.
B Knight
5

Eu removo completamente a diretiva "-Lsd" do /etc/sysconfig/snmpd.optionsarquivo nas instalações do CentOS / Redhat, deixando um arquivo que diz:

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"
ewwhite
fonte
isso para completamente todos os logs snmpd ou volta ao log padrão?
Banjer
3

A inclusão da linha padrão (incluída no /etc/snmp/snmp.confarquivo padrão do CentOS 6.5) funcionou para mim para reduzir a verbosidade especificamente em relação ao log de conexão SNMP TCP / UDP:

dontLogTCPWrappersConnects yes

Aqui está um trecho mais "detalhado" do snmp.confarquivo padrão :

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

no raspberry pi / raspbian, o local do arquivo é

/lib/systemd/system/snmpd.service

então você deve fazer um daemon-reload antes de reiniciar o serviço snmpd.

systemctl daemon-reload

SkullKill
fonte