Come indirizzare l'output journal di determinate unità su un determinato file?


12

Ho un sistema con diversi demoni in esecuzione (come unità systemd) che trasmettono informazioni di registro al diario in Arch Linux. Voglio indirizzare l'output del journal di alcuni di questi file di unità in un file di testo separato di cui specifico la posizione, creando essenzialmente un file di registro per un sottoinsieme di unità. Come posso fare per farlo?


Una domanda correlata è unix.stackexchange.com/questions/468444 .
JdeBP,

Risposte:


10

Sembra che ciò non sia possibile e indesiderato dall'upstream (reindirizzamento di stdout / stderr a singoli file), ad esempio http://lists.freedesktop.org/archives/systemd-devel/2012-March/004705.html - leggi l'intero thread per ulteriori informazioni informazioni di contesto come questo dovrebbe funzionare.

Quello che puoi fare è accedere a syslog e in questo modo scrivere su singoli file. O viceversa, se l'unità chiama un programma in grado di scrivere un registro stesso, quindi utilizzarlo per accedere a un file.

Puoi anche dare un'occhiata a Visualizza stdout / stderr del servizio systemd

Quello che puoi già fare con la tua configurazione attuale, è usare
journalctl -u yourunitname > yourlogfile_for_yourunitname
per dirigere l'intero output del journal per la tua unità "yourunitname" in un file.

Nell'ultima parte, dovresti anche dare un'occhiata ai suggerimenti di Lennart dal suddetto thread della mailing list:

Nelle recenti versioni di systemd qualcosa di simile systemd-journalctl -o cat _SYSTEMD_UNIT=postgresql.servicedovrebbe creare un output molto semplice che includa solo i messaggi effettivi e nient'altro. Puoi anche passare "-f" e renderlo attivo. "

EDIT: In realtà, per le nuove versioni di systemd il comando è solo journalctl e da quello che posso dire, il comando lungo sopra menzionato è lo stesso journalctl -u yourunitnamee puoi anche -flì per "seguire" l'output (come in tailf o tail -f).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.