私が理解したのは、ロギングイベントが公開されるsystemd-journald
2つのものです。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
すぐにstdout
(exit status
きれいに)接続を切断します。netcat
に接続するsocket
がイベントを登録しない - 出力が空のjournalctl -f -n0
間に何が起こっているかを示すコマンドでこれを確認できます。socket
ベストアンサー1
この場合、以下を使用できます。systemd-journal-remote
:
systemd-journal-remote
直列化されたログイベントを受信してログファイルに保存するコマンド。入力ストリームは次の位置にあります。 ジャーナルのエクスポート形式、つまりjournalctl output=export
。ネットワーク経由の送信の場合、このシリアル化ストリームは通常HTTPS接続を介して送信されます。