Temos uma placa personalizada baseada em Beaglbone Black com chip Wifi.
Temos a seguinte entrada norsyslog.conf
# Redirect all kernel messages including dmesg to /var/log/dmesglog
kern.* :omfile:$dmesg_log_rotation
dmesglog é inundado por logs wifi que começam com mlan0
Então mudei a regra da seguinte forma,
# Redirect all kernel messages including dmesg to /var/log/dmesglog
kern.*, !contains, "mlan0" :omfile:$dmesg_log_rotation
No entanto, esses logs ainda continuam a inundar o dmesglog.
Alguém pode me sugerir o que há de errado com esse log?
Alguma outra sugestão de regra? alguma indicação?
EDITAR:
Depois de algumas pesquisas, descobri que rsyslogd -N1
pode ser usado para verificar o arquivo rsyslog.conf
. E essa verificação apontou erro. Estou tentando corrigir a regra de alguma forma.
EDITAR2
Alterei a regra da seguinte forma, porém agora não vejo nada no dmesglog
# Redirect all kernel messages including dmesg to /var/log/dmesglog
if ( 'kern.*' contains "mlan0" ) then{ action( type="omfile" file="*" ) } else { action( type="omfile" file="$dmesg_log_rotation" )}
Responder1
Experimente isto:
# Redirect all kernel messages including dmesg to /var/log/dmesglog
:msg, contains, "mlan0" ~
kern.* :omfile:$dmesg_log_rotation
De acordo comdocumentação do rsyslogdvocê deve primeiro descartar as mensagens selecionadas.
Se desejar colocar as mensagens filtradas em um arquivo separado, você pode escrever algo como:
# Redirect all "mlan0" to /var/log/mlan.log
:msg, contains, "mlan0" :omfile:/var/log/mlan.log
:msg, contains, "mlan0" ~
# Redirect all kernel messages including dmesg to /var/log/dmesglog
kern.* :omfile:$dmesg_log_rotation
Infelizmente, o rsyslog não suporta a filtragem exatamente pelo nome do módulo do kernel, mas você pode tentar propriedades diferentes (mensagemé apenas um deles), e você pode especificar a regra de filtro com mais precisão usando regras "começa com","é igual" ou "expressão regular". A lista completa de propriedades e regras éaqui(olhe abaixo "Propriedades disponíveis".
Então você deve tentar, por exemplo:
:programname, startswith, "mlan" :omfile:/var/log/mlan.log
Ou:
:syslogtag, regex, "^mlan[0-9]" :omfile:/var/log/mlan.log
Não sei se alguma propriedade conteria o modo kernel. De qualquer forma, você sempre pode filtrar pormensagemcomexpressão regular.
:msg, regex, "^write-regex-matching-your-module-log-output" :omfile:/var/log/mlan.log