Tenemos una placa personalizada basada en Beaglbone Black con chip Wifi.
Tenemos la siguiente entrada en elrsyslog.conf
# Redirect all kernel messages including dmesg to /var/log/dmesglog
kern.* :omfile:$dmesg_log_rotation
dmesglog está inundado de registros wifi que comienzan con mlan0
Así que cambié la regla de la siguiente manera:
# Redirect all kernel messages including dmesg to /var/log/dmesglog
kern.*, !contains, "mlan0" :omfile:$dmesg_log_rotation
Sin embargo, esos registros siguen inundando el dmesglog.
¿Alguien puede sugerirme qué hay de malo en ese registro?
¿Alguna otra sugerencia para gobernar? ¿algún consejo?
EDITAR:
Después de investigar un poco, descubrí que rsyslogd -N1
se puede usar para verificar el archivo rsyslog.conf
. Y esa verificación señaló un error. Estoy intentando corregir la regla de alguna manera.
EDITAR2
Cambié la regla de la siguiente manera, pero ahora no veo nada en el 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" )}
Respuesta1
Prueba esto:
# Redirect all kernel messages including dmesg to /var/log/dmesglog
:msg, contains, "mlan0" ~
kern.* :omfile:$dmesg_log_rotation
De acuerdo adocumentación rsyslogdprimero debes descartar los mensajes seleccionados.
Si desea colocar los mensajes filtrados en un archivo separado, puede escribir 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
Desafortunadamente, rsyslog no admite el filtrado exactamente por el nombre del módulo del kernel, pero puedes probar diferentes propiedades (mensajees solo uno de ellos), y puede especificar la regla de filtro con mayor precisión usando reglas "comienza con", "es igual" o "expresión regular". La lista completa de propiedades y reglas esaquí(mira abajo "Propiedades disponibles".
Entonces deberías intentar, por ejemplo:
:programname, startswith, "mlan" :omfile:/var/log/mlan.log
O:
:syslogtag, regex, "^mlan[0-9]" :omfile:/var/log/mlan.log
No sé si alguna propiedad contendría el modo kernel. De todos modos siempre puedes filtrar pormensajeconexpresión regular.
:msg, regex, "^write-regex-matching-your-module-log-output" :omfile:/var/log/mlan.log