Como omitir/filtrar mensagens inúteis no log (rsyslogd)
Dica publicada em Linux / Kernel
Como omitir/filtrar mensagens inúteis no log (rsyslogd)
O rsyslogd é responsável pela gestão de logs dos principais serviços do Linux. Nesta dica veremos como omitir, através de filtros, mensagens inúteis que possam estar "floodando" seus arquivos de log.
Nada melhor que um exemplo na prática para entendermos a dica. No meu caso, o kdeconnect está floodando meu /var/log/syslog com mensagens desse tipo:
Jun 17 12:10:10 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:10:16 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:10:19 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:12:56 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:13:09 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:13:13 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:14:23 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Vamos criar um arquivo de filtro no diretório /etc/rsyslog.d. Nomeie-o a gosto:
sudo vim /etc/rsyslog.d/kdeconnect.conf
Com base no padrão de mensagem acima, criei o filtro abaixo:
Onde:
Agora basta reiniciar o rsyslogd e bingo, não teremos mais flood nos logs:
sudo service rsyslog restart
Maiores informações: https://www.rsyslog.com/doc/v8-stable/configuration/filters.html
Até a próxima!
Nada melhor que um exemplo na prática para entendermos a dica. No meu caso, o kdeconnect está floodando meu /var/log/syslog com mensagens desse tipo:
Jun 17 12:10:10 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:10:16 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:10:19 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:12:56 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:13:09 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:13:13 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Jun 17 12:14:23 bitcoin org.kde.kdeconnect[1161]: kdeconnect.plugin.notification: Not found noti by internal Id: "0|com.whatsapp|1|null|10210"
Vamos criar um arquivo de filtro no diretório /etc/rsyslog.d. Nomeie-o a gosto:
sudo vim /etc/rsyslog.d/kdeconnect.conf
Com base no padrão de mensagem acima, criei o filtro abaixo:
:msg, contains, "kdeconnect.plugin.notification" ~
Onde:
- :msg = filtro baseado na mensagem de log
- contains = mensagem "contém"
- "kdeconnect.plugin.notification" = o padrão desejado, pode ser qualquer coisa
- ~ = descartar
Agora basta reiniciar o rsyslogd e bingo, não teremos mais flood nos logs:
sudo service rsyslog restart
Maiores informações: https://www.rsyslog.com/doc/v8-stable/configuration/filters.html
Até a próxima!
Olha, eu não sei se estou fazendo um coisa horrorosa, mas no Slackware eu mando o rsyslog pras cucuia. Agora vou traduzir, desativo ele.
___________________________________
Conhecimento não se Leva para o Túmulo.