Provided by:
manpages-ja_0.5.0.0.20100315-1_all 
SELECTORS
selector フィールドはさらにピリオド(``.'')で区切られる facility と
priority の二つの部分で構成する。
どちらの部分も文字の大文字小文字は区別しない。また、数字を用いることも
可能であるが、これは使用しない方がよい。使用した時には警告がなされる。
facility と priority については syslog(3) に欺劼気譴討い襦0焚爾傍-
述する各種の名前は /usr/include/syslog.h における LOG_-values
の同じ名前のものに対応する。
facility は次のァ璽錙璽匹里い困譴である: auth、 authpriv、 cron、
daemon、 kern、 lpr、 mail、 mark、 news、 security (auth と同じ)、
syslog、 user、 uucp、 local0からlocal7。 このうち security
は今後は利用するべい任覆、また、 mark
は内部利用のためのものなので、アプリケーションレベルで用いるべ-
ではない。 ただし利用でい覆い錣韻任呂覆ぁ facility
はメッセージを生成するサブシステムを規定する、すなわち(例えば)全てのメ
イルプログラムは syslog を用いてログを杵燭垢訃豺腓 mail facility
(LOG_MAIL) を用いる。
priority は以下のァ璽錙璽匹里い困譴である(昇順): debug, info, notice,
warning, warn ( warning と同じ), err, error (err と同じ), crit, alert,
emerg, panic (emergと同じ). このうちァ璽錙璽 error、warn、panic
については、同等のものがあるので今後は利用するべい任覆ぁ priority
はメッセージの重要世鯆蟲舛垢襦
オリジナルの BSD システムの syslogd の動作は、指示された priority
とそれ よりも順位の高い全てのメッセージが与えられた action に沿って-
録される、 というものである。この syslogd(8)
もそれと同じ動作であるが、いくつかの拡張機能も佑垢襦
上述の名前に加え、 syslogd(8) は以下の拡張についても理解する:
アスタリスク(``*'')は、 それが用いられている場所
(すなわちピリオドの前か後ろか) に応じて、 全ての facility
かまたは全ての priority を表わす。 ァ璽錙璽 none は、それが与えられた
facility についてはどの priority も 指定しないことを意味する
(つまり除外される)。
コンマ(``,'')を用いて、同じ priority を示す一文のなかに複数の facility
を指定することが可能である。facility の個数に制限はない。ただしこのよ
うな欺劼可能なのは facility についてのみで、 priority についてのその
ような欺劼鰐技襪垢襪里巴躇佞垢襪海函
セミコロン(``;'')を区切りに用いて複数の selector について同一の action
を指定することがでい襦 selector フィールドの selector
は先行するものを上書い靴討靴泙Δ海箸肪躇佞垢襪
と。この動作を用いて特定の priority を除外することも可能である。
この syslogd(8) はオリジナルの BSD
のソースを拡張する構文を持っていて、より直観的な利
用を可能にしている。イコール宜(``='')を priority に接頭すると、その
priority のもののみを杵燭垢襪茲Δ砲垢襪海箸でい襦エクスクラメーショ
ンマーク(``!'')を接頭するとその priority とそれよりも高い priority の
もののすべてを無視させることがでい(イコール宜罎肇┘スクラメーショ
ンマークの両方を同時に指定することは可能である)。この拡張の両方を同時
に用いる場合、イコール宜罎料阿縫┘スクラメーションマークを置くことで
その priority のみ無視する。
ACTIONS
ルールの action フィールドには ``logfile'' を指示する。``logfile'' は
実存するファイルでなくてもかまわない。 syslogd(8)
は以下の動作を用意している。
ル
メッセージはそのファイルに杵燭気譴襦ファイル名は ``/'' で始まるフル
パスで指定すること。
マイナス宜 ``-'' を接頭すると、杵燭虜櫃離侫.ぅ襯轡好謄爛丱奪侫,
フラッシュ動作を抑制する。これを用いると、書すみ動作の直後にシステム
に障害が発生した場合、情報を失なう可能世あることに注意すること。しか
しながらこの機能は特に騒々しくロギングするプログラムを動作させる際のい
くらかの税讐善には役に立つ。
プ
この syslogd(8) は名前付ぅ僖ぅ(FIFO)への出力機能を備えている。
ファイル名の先頭にパイプ宜 (``|'') を書くと、
メッセージの出力先をその名前の FIFO にでい襦
これはデバッグ作業に役立つ。FIFO は syslogd(8) のスタートに先立ち、
mkfifo(1) コマンドにより生成される必要があることに注意すること。
ル
ファイルとして tty を指示した場合は、tty 用の処理がなされる。
/dev/console も同じ。
タ
この syslogd(8)
は完全なリモートロギング機能も提供する。すなわちメッセージを syslogd(8)
の動作するリモートのホストに送信することがでぁ△泙織螢癲璽箸離曠好箸
らのメッセージを受信することもでい襦リモートのホストはメッセージをそ
れ以上他のホストへ転送することはせず、その機械にローカルに-
録するはずだ。
他のホストへメッセージを送信するにはアットマーク(``@'')をそのホスト名
に接頭する。
この機能を用いると、他の全てのコンピュータにリモートに杵燭気擦襪海箸如
すべての syslog メッセージを一台のホストで制御することがでい襦これは
管理上の困難を解消する。
ト
通常、特に重要なメッセージはそのコンピュータの ``root'' にも宛てられる
ものである。login しているとい縫瓮奪察璽犬鮗けとるべぅ罅璽兇離螢好
を指示することがでい襦コンマ(``,'')で区切って複数のユーザを指定する
こともでい襦メイルで送ろうと思ってはいけない。それでは手遅れになって
しまうかもしれない。
も
システムになにか具合が阿い海箸発生することを通知するために、緊急のメッ
セージはしばしばその時オンラインになっている全てのユーザに通知される。
この wall(1)_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
一番目のルールにより、facility が kern のメッセージはファイル
/var/adm/kernel に杵燭気譴襦
二番目の文により、 priority が crit
かそれよりも高い全てのメッセージはリモートのホスト finlandia へ送信さ
れる。これは、ホストの障害が生じて保存されたメッセージを読みだすことが
でい覆なるような回復不能エラーがディスク装置に発生した際に邑である。
リモートのホストに残されたメッセージで障害の原因調査に取り掛ることもで
い襦
三番目のルールはそのコンピュータで作業している誰かがそのメッセージを得
ることがでい襪茲Δ法⊆尊櫃離灰鵐宗璽襪防充┐垢襦
四行目は、syslogd にpriorityが info から warning
のカーネルメッセージをファイル /var/adm/kernel-info
に保存するよう指示する。 err よりも高い priority
を持つものは除外される。
# 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
には、より柔軟で直観的にわかりやすい設定が可能となるように修飾子
``=''、 ``!''、``-''が追加されている。
オリジナルの BSD の syslogd では selector フィールドと action
フィールドの区切りの文字として空白文字を利用することはでい覆(TAB 文
字でなければならない)。
ル
/etc/syslog.conf
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) がいくつかのバグ フィックスと新しい機能の追加をした。