タグ

journaldに関するwushiのブックマーク (3)

  • journaldを経由せずにrsyslogから/dev/logを使う

    CentOS 7 で、とあるサーバを構築し、負荷試験を実施したところ systemd-journald がCPU100%使い切っており、来のパフォーマンスが発揮されないことが判明しました。 レガシーの syslog() で秒間数万行以上の大量のログを出力しており、systemd-journald プロセスの処理が追いつかず /dev/log ソケットでメッセージが詰まってしまったことが原因でした。 根的な原因は syslog() で大量のログを出力していることにあるのですが、systemd-journald も結局は rsyslog に転送してログファイルに書き出しているだけなので、ボトルネックになってほしくはありません。

  • CentOSのログ出力の仕組み (journaldとrsyslog) | 電算星組

    CentOSのログ出力について今まで雰囲気で乗り切っていましたが、いい加減に仕組みを覚えようと思い立ち、手を動かしながら調べてみました。 CentOSのログ出力の概要 CentOSのログ出力は以下の概要図の通りです。journaldとrsyslogが連携して動作しています。 journaldとrsyslogは、システム内に常駐するデーモンプログラムです。サービス名は、systemd-journald.serviceとrsyslog.serviceです。 # systemctl list-unit-files | grep -E "(systemd-journald|rsyslog)\.service" rsyslog.service enabled systemd-journald.service static journaldの役割 journaldは、各ソースからログを受信し、メモリ上

    wushi
    wushi 2020/09/23
    journald→rsyslogdのログの受け渡しは/run/log/journal配下のジャーナルファイルからの読取りではなくUNIXドメインソケット/run/log/journal/socket経由っぽい。514/udpの待受けは多分ここの説明が正解
  • rsyslogとjournaldのこと

    デーモンは、図中の中上のユーザプロセスにあたり、syslog(3)を呼んで/dev/logにメッセージを送る。syslogdはこれを経由してメッセージを受け取り、facilityとlevelに応じてファイルに書くとかなんとかするわけだ。ではjournald導入で何が変わったのだろうか? journaldは元々syslogdのいた位置を占め、いったんすべてのメッセージを受け取る。またjournaldはこれ以外にも、たとえば systemd経由で起動したデーモンのSTDERRも受け取るようにできている。またjournaldは、syslogdが集めなかったメタ情報も集める。非常に細かな大量の情報を集めて、受け取ったメッセージと共にジャーナルとして保管する。このジャーナルは、デフォルトでは一時的な保管場所 /run/log/journal に保管される。この保管場所は小さいので時間が経つとすぐに消

    rsyslogとjournaldのこと
    wushi
    wushi 2020/09/23
    514/udpをjournaldが待ち受けるというのは情報が見つからなかった。詳解UNIXプログラミングの図はsyslogdのみ。実際は→のようにrsyslogdで待ち受けているっぽい https://densan-hoshigumi.com/server/centos-logging
  • 1