Eu tenho todos os tipos de logs que são centralizados com arquivos journald
. Muitos deles não são interessantes e eu poderia tentar filtrá-los na fonte, mas isso nem sempre é possível. Além disso, alguns são interessantes dentro de um determinado nível, enquanto outros não.
Existe uma maneira de filtrar, com journald
, os eventos que são registrados. Sou especialmente interessante em rejeitar padrões conhecidos, em vez de aceitar alguns.
Existe uma boa alternativa para essa abordagem, caso não seja possível? (Estava pensando em encaminhar os eventos para o logstash e descartar os menos interessantes)
journald
(na verdade,systemd-journald
) é o daemon responsável pelo log de eventos. AFAIK, não faz nenhuma filtragem por design, apenas aceita eventos e os armazena.A abordagem comum é filtrar ao exibir os logs, o que é feito com
journalctl
. journalctl permite filtrar de várias maneiras, por exemplo, por unidade systemd:A maioria desses filtros não permite a negação, portanto, eles selecionam as mensagens, em vez de excluí-las. Para excluir mensagens específicas, você pode usar a opção
--grep
, que corresponde a uma expressão regular, criando uma expressão regular que exclui o que você não deseja.Essa seria uma opção (embora possa ser um exagero apenas ler os logs). Você também pode ir até o fim e instalar um visualizador de log, como o Graylog .
Se você deseja uma solução simples e rápida, também pode despejar os logs em um arquivo com a opção
--output=...
e processá-lo com a ferramenta de sua escolha. Você pode despejar vários formatos de texto ou JSON. O JSON, em particular, permitirá um pós-processamento complexo, se você escrever um script rápido em Perl, Python ou qualquer outro que analise o JSON e o filtre.