ユーザ用ツール

サイト用ツール


debian:debiantips

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
debian:debiantips [2015-09-22 23:14]
tosihisa@netfort.gr.jp
debian:debiantips [2019-01-20 17:43] (現在)
tosihisa@netfort.gr.jp ↷ debiantips から debian:debiantips へページを移動しました。
行 25: 行 25:
  
 どれがどう切り分けられているのか,気になったので調べてみました. どれがどう切り分けられているのか,気になったので調べてみました.
 +
 +切り分けとして,まずは仕組みの切り分けから進めます.
 +
 +Linux の syslog(3) は,最終的には /dev/log のソケットに渡されますので,それが systemd-journald で握っているのか,それとも rsyslogd で握っているのかを確認します.
 +
 +さしあたり,rsyslogd のソースを確認してみます.
  
 rsyslog-8.4.2/plugins/imuxsock/imuxsock.c に,以下の記述があります. rsyslog-8.4.2/plugins/imuxsock/imuxsock.c に,以下の記述があります.
行 86: 行 92:
 "/run/systemd/system/" と言う名前のディレクトリがあるかどうかで決まります. "/run/systemd/system/" と言う名前のディレクトリがあるかどうかで決まります.
  
-要は,rsyslog は,自身で systemd が動いているかを "/run/systemd/system/" ディレクトリの有無で判定し,もしこのディレクトリが存在しているならば,"/run/systemd/journal/socket" をログのためのソケットとして使うようです.+要は,rsyslog は,自身で systemd が動いているかを "/run/systemd/system/" ディレクトリの有無で判定し, 
 +もしこのディレクトリが存在しているならば,"/run/systemd/journal/socket" をログのためのソケットとして使うようです. 
 + 
 +と言うことを踏まえると,以下のようになるかと思います. 
 + 
 +  syslog(3)==>[/dev/log]==>systemd-journald==>[/run/systemd/journal/socket]==>rsyslogd 
 + 
 +経路がわかったところで,Debian jessie での systemd-journald と rsyslogd の棲み分けですが, 
 +私がインストールした Debian jessie では, 
 +"/run/log/journal/" ディレクトリは存在しますが,"/var/log/journal" ディレクトリは存在しません. 
 +また,/etc/systemd/journald.conf には,特段の設定がないことから,systemd-journald の Storage=auto がデフォルトになっているはずです. 
 + 
 +Storage=auto は,"/var/log/journal" ディレクトリが無ければ作成せず,そのまま "/run/log/journal/" ディレクトリ側に記録するようです. 
 + 
 +http://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s15.html によれば,"/run" ディレクトリは,起動してからのシステム情報の可変データを格納する事が目的のディレクトリです. 
 + 
 +上記のことから,Debian jessie は,標準では systemd-journald は起動してからの内容を記録しており,永続的なログの記録は,systemd-journald 経由でこれまでどおり rsyslogd が行っていると言えます. 
 + 
 +もし,systemd-journald で永続的に記録させたいならば,"/var/log/journal" ディレクトリを作成し,アクセス権を適宜設定すれば良いと思います.
  
-標準で読み取るログのためのソケットは "/dev/log" から " 
debian/debiantips.1442931278.txt.gz · 最終更新: 2015-09-22 23:14 by tosihisa@netfort.gr.jp