Saya mencoba menggunakan journalctl
pencocokan pola pada SYSLOG_IDENTIFIERS
. Sebagai contoh, saya memiliki banyak pesan yang ditandai sshd
:
$ journalctl -t sshd | wc -l
987
tetapi jika saya mencoba menggunakan pencocokan pola untuk menemukannya:
$ journalctl -t 'ssh*'
-- No Entries --
$ journalctl -t 'ssh.*'
-- No Entries --
Halaman manual journalctl mengatakan pola seharusnya bekerja, tetapi saya tidak dapat menemukan hal lain tentang bagaimana pola digunakan / didefinisikan dalam 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.
Saya menjalankan 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
sumber
sumber
Jawaban:
Ini adalah bug doc yang ditutup ketika kesalahan ketik pada
man
halaman diperbarui.Laporan bug mengarah ke komentar berikut dalam kode :
Sebagai solusinya, Anda mungkin dapat menggunakan
grep
seperti yang disarankan dalam komentar untuk pertanyaan Anda. Sesuatu seperti ini:sumber
Judul pertanyaan aslinya "Bagaimana Anda menggunakan pola jurnalctl systemd ". Ini menunjuk ke fitur yang sangat spesifik dari jurnalctl yang disebut "MATCHES" daripada penyaringan ekspresi reguler generik.
Fitur "MATCHES" dirinci sepenuhnya bersama dengan semua fitur lainnya di halaman manualnya yang menyatakan pada awalnya:
Fitur "cocok" dimaksudkan untuk menyaring entri log berdasarkan sejumlah kemungkinan filter.
Untuk kasus-kasus seperti yang ada di pertanyaan awal, ini adalah bagaimana saya melakukannya (saya juga menjalankan ArchLinux).
Pertama, Anda perlu tahu nama layanan yang Anda minati. Saya biasanya melakukan ini:
Saya mendapatkan ini:
Kemudian Anda dapat meminta
journalctl
untuk memfilter dengan "nama unit systemd" seperti ini:Ini disebut "pencocokan pencocokan". Itu saja.
Seandainya pertanyaan aslinya ditulis alih-alih berarti " bagaimana menerapkan
grep
ke jurnalctl output", maka Anda dapat menerapkangrep
ke log yang disimpan "sejauh ini" denganatau lihat entri log yang sedang masuk dengan
dan tekan CTRL-C untuk menghentikan aliran. Tentu saja, Anda dapat menggunakan pipa yang lebih kompleks dengan pola reguler berbutir halus atau banyak
grep
perintah.sumber
ssh*
. Dokumen jurnal menyatakan bahwa ini mungkin pada satu waktu. Dokumen tidak benar dan telah diperbarui.Anda dapat menentukan file unit saat Anda menjalankan
journalctl
.Saya hanya akan menunjukkan jurnal
sshd
sumber