systemd-journald.socketを読む方法は?

systemd-journald.socketを読む方法は?

私が理解したのは、ロギングイベントが公開されるsystemd-journald2つのものです。sockets

# systemctl cat systemd-journald.socket | egrep -v '^ *#'

[Unit]
Description=Journal Socket
Documentation=man:systemd-journald.service(8) man:journald.conf(5)
DefaultDependencies=no
Before=sockets.target

IgnoreOnIsolate=yes

[Socket]
ListenStream=/run/systemd/journal/stdout
ListenDatagram=/run/systemd/journal/socket
SocketMode=0666
PassCredentials=yes
PassSecurity=yes
ReceiveBuffer=8M
Service=systemd-journald.service

それでは、これらのイベントをどのように読むことができますか?私は試した:

# netcat -U /run/systemd/journal/stdout
# echo $?
0
# netcat -uU /run/systemd/journal/socket

netcatすぐにstdoutexit statusきれいに)接続を切断します。netcatに接続するsocketがイベントを登録しない - 出力が空のjournalctl -f -n0間に何が起こっているかを示すコマンドでこれを確認できます。socket

ベストアンサー1

この場合、以下を使用できます。systemd-journal-remote:

systemd-journal-remote直列化されたログイベントを受信して​​ログファイルに保存するコマンド。入力ストリームは次の位置にあります。 ジャーナルのエクスポート形式、つまりjournalctl output=export。ネットワーク経由の送信の場合、このシリアル化ストリームは通常HTTPS接続を介して送信されます。

おすすめ記事