Estoy tratando de usar journalctl
la coincidencia de patrones en SYSLOG_IDENTIFIERS
. Como ejemplo, tengo un montón de mensajes etiquetados sshd
:
$ journalctl -t sshd | wc -l
987
pero si trato de usar la coincidencia de patrones para encontrarlos:
$ journalctl -t 'ssh*'
-- No Entries --
$ journalctl -t 'ssh.*'
-- No Entries --
La página de manual de journalctl dice que los patrones deberían funcionar, pero no puedo encontrar nada más sobre cómo se usan / definen los patrones en 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.
Estoy ejecutando 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
fuente
fuente
Respuestas:
Este fue un error de documentación que se cerró cuando
man
se actualizó el error tipográfico en la página.El informe de error condujo a los siguientes comentarios en el código :
Como solución alternativa, puede usar
grep
como se sugiere en los comentarios a su pregunta. Algo como esto:fuente
La pregunta original se titula "¿Cómo se usan los patrones de journalctl de systemd ? ". Esto apunta a una característica muy específica del journalctl llamada "MATCHES" en lugar de un filtro genérico de expresión regular.
La función "COINCIDENTES" se detalla completamente junto con todas las demás funciones en su página de manual amigable que dice desde el principio:
La función "coincide" está diseñada para filtrar las entradas de registro en función de una serie de posibles filtros.
Para casos como el de la pregunta original, así es como lo hago (también ejecuto ArchLinux).
Primero, necesita saber el nombre del servicio que le interesa. Usualmente hago esto:
Entiendo esto:
Luego puede pedir
journalctl
que se filtre por el "nombre de la unidad systemd" de esta manera:Se llama "el filtrado de coincidencias". Eso sería todo.
En caso de que la pregunta original se haya escrito en el sentido de " cómo aplicar
grep
a la salida de journalctl ", puede aplicargrep
a los registros almacenados "hasta ahora" cono mira las entradas de registro entrantes actualmente con
y presione CTRL-C para detener el flujo. Por supuesto, puede usar tuberías más complejas con patrones regulares de grano fino o múltiples
grep
comandos.fuente
ssh*
. Los documentos de journalctl declararon que esto era posible al mismo tiempo. Los documentos eran incorrectos y se han actualizado.Puede definir el archivo de unidad cuando ejecuta
journalctl
.Solo mostraré el diario de
sshd
fuente