|
HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > s > syslog.conf - ファイルのフォーマットと規約の説明 syslog.conf - ファイルのフォーマットと規約の説明 - Linux コマンド集 一覧表名前syslog.conf - syslogd(8) の設定ファイル 説明
syslog.conf
は UNIX ライクなシステムでそのシステムメッセージを記録する
syslogd
(8) のための設定ファイルである。このファイルは記録のルールを規定する。固有の
機能については
sysklogd
(8) の man ページを参照すること。
SELECTORS
selector フィールドはさらにピリオド(``.'')で区切られる
facility
と
priority
の二つの部分で構成する。
どちらの部分も文字の大文字小文字は区別しない。また、数字を用いることも
可能であるが、これは使用しない方がよい。使用した時には警告がなされる。
facility と priority については
syslog
(3) に記述されている。以下に記述する各種の名前は
/usr/include/syslog.h
における
LOG_
-valuesの同じ名前のものに対応する。
ACTIONS
ルールの action フィールドには ``logfile'' を指示する。``logfile'' は
実存するファイルでなくてもかまわない。
syslogd
(8) は以下の動作を用意している。
通常のファイル
メッセージはそのファイルに記録される。ファイル名は ``/'' で始まるフル
パスで指定すること。
名前付きパイプ
この
syslogd
(8)
は名前付きパイプ(FIFO)への出力機能を備えている。
ファイル名の先頭にパイプ記号 (``|'') を書くと、
メッセージの出力先をその名前の FIFO にできる。
これはデバッグ作業に役立つ。FIFO は
syslogd
(8) のスタートに先立ち、
mkfifo
(1) コマンドにより生成される必要があることに注意すること。
ターミナルとコンソール
ファイルとして tty を指示した場合は、tty 用の処理がなされる。
/dev/console
も同じ。
リモートコンピュータ
この
syslogd
(8) は完全なリモートロギング機能も提供する。すなわちメッセージを
syslogd
(8) の動作するリモートのホストに送信することができ、またリモートのホストか
らのメッセージを受信することもできる。リモートのホストはメッセージをそ
れ以上他のホストへ転送することはせず、その機械にローカルに記録するはずだ。
他のホストへメッセージを送信するにはアットマーク(``@'')をそのホスト名
に接頭する。
ユーザ名のリスト
通常、特に重要なメッセージはそのコンピュータの ``root'' にも宛てられる
ものである。login しているときにメッセージを受けとるべきユーザのリスト
を指示することができる。コンマ(``,'')で区切って複数のユーザを指定する
こともできる。メイルで送ろうと思ってはいけない。それでは手遅れになって
しまうかもしれない。
ログインしている誰でも
システムになにか具合が悪いことが発生することを通知するために、緊急のメッ
セージはしばしばその時オンラインになっている全てのユーザに通知される。
この
wall
(1)
的機能
を利用するためにはアスタリスク(``*'')を用いる。
例
ここに実在する site の実際の設定例の一部を用いたいくつかの設定例を挙げ
る。うまくいけば、たぶん、これで設定上の疑問はすべて解消できると思うが、
なにかあったら筆者( Joey )宛てに連絡いただきたい。
# 危機的状況を /var/adm/critical に保存する。 # *.=crit;kern.none /var/adm/critical priority が
crit
の、カーネルメッセージを除くすべてのメッセージをファイル
/var/adm/critical
に保存する。
# カーネルメッセージは /var/adm/kernel に # 保存し、さらに critical 以上の重要度の # メッセージは他のホストへ配信しコンソー # ルにも表示する。 # kern.* /var/adm/kernel kern.crit @finlandia kern.crit /dev/console kern.info;kern.!err /var/adm/kernel-info
# tcp wrapper は mail.info でロギングする、 # すべての接続を tty12 に表示する。 # mail.=info /dev/tty12 この例は
mail.info
(ソースコード上では
LOG_MAIL
|
LOG_INFO
)を用いる全てのメッセージを
第 12 コンソール
/dev/tty12
に表示する。例えば tcpwrapper
tcpd
(8) はこの設定を既定値として用いている。
# メイル関係は一つのファイルへ保存する。 # mail.*;mail.!=info /var/adm/mail このパターンは facility が
mail
の全てのメッセージから priority が
info
であるものを除くことを示す。これらのメッセージはファイル
/var/adm/mail
に記録する。
# mail.info と news.info を /var/adm/info ヘ記録する。 # mail,news.=info /var/adm/info この例は
mail.info
と
news.info
の両方の全てのメッセージを抜き出し、ファイル
/var/adm/info
に保存する。
# info と notice は /var/log/messages へ記録する。 # *.=info;*.=notice;\ mail.none /var/log/messages この例は
syslogd
に
facility が
mail
であるのものを除く他の
全て
info
と
notice
の両方の priority の全てのメッセージをファイル
/var/log/messages
に保存するよう指示する。
# info メッセージは /var/log/messages へ記録する。 # *.=info;\ mail,news.none /var/log/messages この指示により
syslogd
は priority
info
の全てのメッセージをファイル
/var/log/messages
に記録する。ただし facility が
mail
と
news
の両方のメッセージは保存しない。
# 緊急メッセージを wall で表示する。 # *.=emerg * このルールは
syslogd
に全ての緊急のメッセージをその時ログインしている全てのユーザに伝えるよ
う指示する。これが wall action である。
# priority が alert のメッセージは管理担当へ # 送る。 *.alert root,joey このルールは priority が
alert
かそれよりも高い全てのメッセージを操作者、すなわちユーザ名 ``root'' と
``joey'' がログインしていればその端末に表示する。
*.* @finlandia このルールは全てのメッセージを finlandia と呼ばれるリモートのホストに
転送する。これは特に一群のコンピュータの全ての syslog メッセージを一台
のコンピュータに保存するのに役に立つ。
設定ファイル文法の相違点
syslogd
の設定は オリジナルの BSD ソースによるものとは少し異なる文法を使用する。
元々は、指示された priority とそれよりも高い priority の全てのメッセージが
ログファイルに記録されていた。この
syslogd
には、より柔軟で直観的にわかりやすい設定が可能となるように修飾子 ``=''、
``!''、``-''が追加されている。
ファイル
バグ
複数の selector を指示するとしばしば直観的でなくなる。例えば、
``mail.crit,*.err'' は facility が ``mail'' のメッセージのうち ``crit'' より
高い priority 、ではなくて``err'' よりも高い priority を指示していることに
なる。
関連項目
sysklogd
(8),
klogd
(8),
logger
(1),
syslog
(2),
syslog
(3)
著者
syslogd
は Greg Wettstein (greg@wind.enjellic.com) が BSD のソースコードから Linux
で動作するように移植し、Matin Schulze (joey@linux.de) がいくつかのバグ
フィックスと新しい機能の追加をした。
|
|