J'essaie d journalctl
' utiliser la correspondance de motifs de SYSLOG_IDENTIFIERS
. À titre d'exemple, j'ai une tonne de messages étiquetés sshd
:
$ journalctl -t sshd | wc -l
987
mais si j'essaie d'utiliser la correspondance de motifs pour les trouver:
$ journalctl -t 'ssh*'
-- No Entries --
$ journalctl -t 'ssh.*'
-- No Entries --
La page de manuel journalctl indique que les modèles devraient fonctionner, mais je ne trouve rien d'autre sur la façon dont les modèles sont utilisés / définis dans 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.
J'utilise 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
la source
la source
Réponses:
Il s'agissait d'un bogue de documentation qui a été fermé lorsque la faute de frappe dans la
man
page a été mise à jour.Le rapport de bogue a conduit aux commentaires suivants dans le code :
Comme solution de contournement, vous pourrez peut-être utiliser
grep
comme suggéré dans les commentaires à votre question. Quelque chose comme ça:la source
La question d'origine s'intitule "Comment utilisez-vous les modèles journalctl de systemd ". Cela pointe vers une fonctionnalité très spécifique du journalctl appelée "MATCHES" plutôt qu'un filtrage générique des expressions régulières.
La fonction "MATCHES" est entièrement détaillée avec toutes les autres fonctionnalités sur sa page de manuel conviviale qui déclare au tout début:
La fonction "correspond" est destinée à filtrer les entrées de journal en fonction d'un certain nombre de filtres possibles.
Pour des cas comme celui de la question d'origine, voici comment je fais (je lance aussi ArchLinux).
Tout d'abord, vous devez connaître le nom du service qui vous intéresse. Je fais généralement ceci:
J'ai compris:
Ensuite, vous pouvez demander
journalctl
de filtrer par le "nom de l'unité systemd" comme ceci:Cela s'appelle "le filtrage des correspondances". Ce serait tout.
Dans le cas où la question d'origine a été écrite à la place pour signifier " comment appliquer
grep
à la sortie journalctl ", alors vous pouvez soit appliquergrep
aux journaux stockés "jusqu'à présent" avecou regardez les entrées de journal actuellement entrantes avec
et appuyez sur CTRL-C pour arrêter le flux. Bien sûr, vous pouvez utiliser des tuyaux plus complexes avec des motifs réguliers à grain plus fin ou plusieurs
grep
commandes.la source
ssh*
. Les docs du journal ont déclaré que cela était possible à un moment donné. Les documents étaient incorrects et ont été mis à jour.Vous pouvez définir le fichier d'unité lorsque vous exécutez
journalctl
.Je ne montrerai que le journal de
sshd
la source