Estou tentando usar journalctl
a correspondência de padrões de SYSLOG_IDENTIFIERS
. Como exemplo, tenho uma tonelada de mensagem marcada sshd
:
$ journalctl -t sshd | wc -l
987
mas se eu tentar usar a correspondência de padrões para encontrá-los:
$ journalctl -t 'ssh*'
-- No Entries --
$ journalctl -t 'ssh.*'
-- No Entries --
A página de manual journalctl diz que os padrões devem funcionar, mas não consigo encontrar mais nada sobre como os padrões são usados / definidos no systemd.
$ man journalctl
....
-t, --identifier=SYSLOG_IDENTIFIER|PATTERN
Show messages for the specified syslog identifier SYSLOG_IDENTIFIER,
or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.
Estou executando o ArchLinux:
$ journalctl --version
systemd 225
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP
+GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD +IDN
systemd
arch-linux
journald
Mark Grimes
fonte
fonte
Respostas:
Este foi um bug de documento que foi fechado quando o erro de digitação na
man
página foi atualizado.O relatório de erros levou aos seguintes comentários no código :
Como solução alternativa, você poderá usar
grep
como sugerido nos comentários da sua pergunta. Algo assim:fonte
A pergunta original intitula "Como você usa os padrões journalctl do systemd ". Isso aponta para um recurso muito específico do journalctl chamado "MATCHES", em vez de uma filtragem de expressão regular genérica.
O recurso "MATCHES" é totalmente detalhado, juntamente com todos os outros recursos em sua amigável página de manual, que afirma no seu início:
O recurso "correspondências" destina-se a filtrar as entradas de log com base em vários filtros possíveis.
Para casos como o da pergunta original, é assim que eu faço (também executo o ArchLinux).
Primeiro, você precisa saber o nome do serviço em que está interessado. Geralmente faço isso:
Eu entendi isso:
Em seguida, você pode pedir
journalctl
para filtrar pelo "nome da unidade systemd" assim:É chamado "filtragem de correspondências". Seria isso.
Caso a pergunta original tenha sido escrita para significar " como aplicar
grep
à saída do journalctl ", você poderá aplicargrep
aos logs armazenados "até agora" comou observe as entradas de log atualmente recebidas com
e pressione CTRL-C para interromper o fluxo. Obviamente, você pode usar tubos mais complexos com padrões regulares de granulação mais fina ou vários
grep
comandos.fonte
ssh*
. Os documentos do journalctl declararam que isso era possível ao mesmo tempo. Os documentos estavam incorretos e foram atualizados.Você pode definir o arquivo da unidade ao executar
journalctl
.Vou mostrar apenas o diário de
sshd
fonte