Próbuję użyć journalctl
dopasowania wzorca SYSLOG_IDENTIFIERS
. Na przykład mam mnóstwo wiadomości otagowanych sshd
:
$ journalctl -t sshd | wc -l
987
ale jeśli spróbuję użyć dopasowania wzorca, aby je znaleźć:
$ journalctl -t 'ssh*'
-- No Entries --
$ journalctl -t 'ssh.*'
-- No Entries --
Strona man Journalctl mówi, że wzorce powinny działać, ale nie mogę znaleźć nic innego na temat tego, jak wzorce są używane / definiowane w 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.
Korzystam z 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
źródło
źródło
Odpowiedzi:
To był błąd dokumentu, który został zamknięty, gdy literówka na
man
stronie została zaktualizowana.Raport o błędzie doprowadził do następujących komentarzy w kodzie :
Aby obejść ten
grep
problem , możesz skorzystać z sugestii zawartych w komentarzach do pytania. Coś takiego:źródło
Oryginalne pytanie zatytułowane jest „Jak korzystać z wzorców dzienników systemd ”. Wskazuje to na bardzo specyficzną funkcję dziennika o nazwie „MATCHES”, a nie ogólne filtrowanie wyrażeń regularnych.
Funkcja „MATCHES” jest w pełni szczegółowa wraz ze wszystkimi innymi funkcjami na przyjaznej stronie man, która na samym początku stwierdza:
Funkcja „dopasowania” ma na celu odfiltrowanie wpisów w dzienniku na podstawie wielu możliwych filtrów.
W przypadkach takich jak ten z pierwotnego pytania, tak właśnie robię (uruchamiam ArchLinux).
Najpierw musisz znać nazwę usługi, którą Cię interesuje. Zazwyczaj robię to:
Rozumiem:
Następnie możesz poprosić
journalctl
o filtrowanie według „nazwy jednostki systemowej” w następujący sposób:Nazywa się to „filtrowaniem dopasowań”. To by było na tyle.
Jeśli zamiast tego zostało napisane oryginalne pytanie, które oznacza „ jak zastosować
grep
do wyniku dziennika ”, możesz albo zastosowaćgrep
do dzienników przechowywanych „jak dotąd” za pomocąlub spójrz na aktualnie przychodzące wpisy dziennika za pomocą
i naciśnij CTRL-C, aby zatrzymać przepływ. Oczywiście można używać bardziej złożonych rur z bardziej regularnymi wzorami o drobniejszych ziarnach lub wieloma
grep
poleceniami.źródło
ssh*
. Doktorzy Journalctl stwierdzili, że było to możliwe jednocześnie. Dokumenty były niepoprawne i zostały zaktualizowane.Możesz zdefiniować plik jednostki podczas uruchamiania
journalctl
.Pokażę tylko dziennik
sshd
źródło