systemd-journal:dev-logとsyslogの関係は何ですか?

systemd-journal:dev-logとsyslogの関係は何ですか?

二人の関係を調べようとしています。

/run/systemd/journal/dev-log
/run/systemd/journal/syslog

十分に明確な文書が見つかりません。ある意味本質的に同じですか?なぜなら、syslog-ngの「unix-dgram()」に2つのうちの1つを含めると、ほぼ同じ出力が得られるからです。違いはありますか?とにかく二つの間にどんな関係があるのでしょうか?

説明していただきありがとうございます。

ベストアンサー1

方法を知るのは簡単です:)

$ systemctl list-sockets 
LISTEN                          UNIT                            ACTIVATES
...
/run/systemd/journal/dev-log    systemd-journald-dev-log.socket systemd-journald.service
/run/systemd/journal/socket     systemd-journald.socket         systemd-journald.service
/run/systemd/journal/stdout     systemd-journald.socket         systemd-journald.service
...

25 sockets listed.
Pass --all to see loaded but inactive sockets, too.

まあ、私は嘘をつきやすいと言った。 syslogデーモンはありません。これは、syslog.socketが有効になっていないことを意味します。しかし、これが私が文書を見つけた場所です。

$ systemctl cat syslog.socket
# /usr/lib/systemd/system/syslog.socket
...
Documentation=man:systemd.special(7)
Documentation=http://www.freedesktop.org/wiki/Software/systemd/syslog
...
# The default syslog implementation should make syslog.service a
# symlink to itself, so that this socket activates the right actual
# syslog service.
#
# Examples:
#
# /etc/systemd/system/syslog.service -> /lib/systemd/system/rsyslog.service
# /etc/systemd/system/syslog.service -> /lib/systemd/system/syslog-ng.service
#
# Best way to achieve that is by adding this to your unit file
# (i.e. to rsyslog.service or syslog-ng.service):
#
# [Install]
# Alias=syslog.service
#
# See http://www.freedesktop.org/wiki/Software/systemd/syslog for details.

https://www.freedesktop.org/wiki/Software/systemd/syslog/説明する:

今、私たちはBSD syslogデーモンを直接受け取るのではなく、/dev/logのログを受け取っています。ログデーモンがすべてのログデータにアクセスする場合は、systemdに付属のsyslog.socketユニットファイルを通過するのではなく、/run/systemd/journal/syslogを受信する必要があります。 systemd システムでは、/dev/log を直接受け取ることができなくなり、デーモン自体が /run/systemd/journal/syslog ソケットにバインドできない場合があります。これにより、STDOUT / STDERRサービスへのロギングが失われます(何よりも)。

したがって、あなたの質問に対する答えは、これらのパスをunix-dgram().systemdからsyslogデーモンとして実行するために特定のsystemdサポートが必要であることです。

別の構成では、へのバインディングを削除できるように聞こえます/run/systemd/journal/syslog。 a)誰がそれを所有しているかについてのジャーナルとの戦いを避け、/dev/logb)ジャーナルがサービスのSTDOUT /決して書かれていないSTDERRメッセージ/dev/log。それを考慮して現れる業務上の文書に明らかな欠点は記載されていません。明らかな欠点は、「syslog.target最初のブートメッセージが完全に失われた後に人々がデバイスを注文することを推奨しない」という警告もあります。 「多くのサービスがsyslog実装にログインできませんでした。」これが正しいと思います。 /はリスニングにのみ使用できます/dev/log

おすすめ記事