1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414
|
.\" syslog.conf - syslogd(8) configuration file
.\" Copyright (c) 1995 Martin Schulze <Martin.Schulze@Linux.DE>
.\"
.\" This file is part of the sysklogd package, a kernel and system log daemon.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
.\"
.\"
.\" Japanese Version Copyright (c) 1998 MAEHARA Kohichi
.\" all rights reserved.
.\" Translated Tue Feb 10 00:00:00 JST 1998
.\" by MAEHARA Kohichi <maeharak@kw.netlaputa.ne.jp>
.\" Updated Wed Nov 11 22:00:00 JST 1998
.\" by MAEHARA Kohichi <maeharak@kw.netlaputa.ne.jp>
.\" Updated Wed Aug 9 10:09:14 JST 2000
.\" by Kentaro Shirakata <argrath@ub32.org>
.\"
.TH SYSLOG.CONF 5 "1 January 1998" "Version 1.3" "Linux System Administration"
.SH 名前
syslog.conf \- syslogd(8) の設定ファイル
.SH 説明
.I syslog.conf
は UNIX ライクなシステムでそのシステムメッセージを記録する
.BR syslogd (8)
のための設定ファイルである。このファイルは記録のルールを規定する。固有の
機能については
.BR sysklogd (8)
の man ページを参照すること。
ルールは
.I selector
フィールドと
.I action
フィールドの二つのフィールドで構成する。これらの二つのフィールドは
一つ以上の空白文字か TAB 文字で区切られる。selector フィールドは指定さ
れた action を適用する facility と priority のパターンを規定する。
シャープ記号(``#'')で始まる行と空行は無視する。
このバージョンの
.B syslogd
は拡張された文法を認識することができる。
行の末尾にバックスラッシュ(``\\'')を置くことによって、
ひとつのルールを複数行に分けることができる。
.SH SELECTORS
selector フィールドはさらにピリオド(``.'')で区切られる
.I facility
と
.I priority
の二つの部分で構成する。
どちらの部分も文字の大文字小文字は区別しない。また、数字を用いることも
可能であるが、これは使用しない方がよい。使用した時には警告がなされる。
facility と priority については
.BR syslog (3)
に記述されている。以下に記述する各種の名前は
.IR /usr/include/syslog.h
における
.BR LOG_ -values
の同じ名前のものに対応する。
.I facility
は次のキーワードのいずれかである:
.BR auth "、 " authpriv "、 " cron "、 " daemon "、 " kern "、 " lpr "、 "
.BR mail "、 " mark "、 " news "、 " security " (" auth " と同じ)、 "
.BR syslog "、 " user "、 " uucp "、 " local0 "から" local7 "。"
このうち
.B security
は今後は利用するべきでなく、また、
.B mark
は内部利用のためのものなので、アプリケーションレベルで用いるべきではない。
ただし利用できないわけではない。
.I facility
はメッセージを生成するサブシステムを規定する、すなわち(例えば)全てのメ
イルプログラムは syslog を用いてログを記録する場合は mail facility
.BR "" ( LOG_MAIL )
を用いる。
.I priority
は以下のキーワードのいずれかである(昇順):
.BR debug ", " info ", " notice ", " warning ", " warn " ("
.BR warning " と同じ), " err ", " error " (" err " と同じ), " crit ", "
.BR alert ", " emerg ", " panic " (" emerg "と同じ)".
このうちキーワード
.BR error "、" warn "、" panic
については、同等のものがあるので今後は利用するべきでない。
.I priority
はメッセージの重要性を定義する。
オリジナルの BSD システムの syslogd の動作は、指示された priority とそれ
よりも順位の高い全てのメッセージが与えられた action に沿って記録される、
というものである。この
.BR syslogd (8)
もそれと同じ動作であるが、いくつかの拡張機能も有する。
上述の名前に加え、
.BR syslogd (8)
は以下の拡張についても理解する:
アスタリスク(``*'')は、
それが用いられている場所 (すなわちピリオドの前か後ろか) に応じて、
全ての facility かまたは全ての priority を表わす。
キーワード
.B none
は、それが与えられた facility についてはどの priority も
指定しないことを意味する (つまり除外される)。
コンマ(``,'')を用いて、同じ priority を示す一文のなかに複数の facility
を指定することが可能である。facility の個数に制限はない。ただしこのよ
うな記述が可能なのは facility についてのみで、 priority についてのその
ような記述は無視するので注意すること。
セミコロン(``;'')を区切りに用いて複数の selector について同一の
.I action
を指定することができる。
.I selector
フィールドの selector は先行するものを上書きしてしまうことに注意するこ
と。この動作を用いて特定の priority を除外することも可能である。
この
.BR syslogd (8)
はオリジナルの BSD のソースを拡張する構文を持っていて、より直観的な利
用を可能にしている。イコール記号(``='')を priority に接頭すると、その
priority のもののみを記録するようにすることができる。エクスクラメーショ
ンマーク(``!'')を接頭するとその priority とそれよりも高い priority の
もののすべてを無視させることができる(イコール記号とエクスクラメーショ
ンマークの両方を同時に指定することは可能である)。この拡張の両方を同時
に用いる場合、イコール記号の前にエクスクラメーションマークを置くことで
その priority のみ無視する。
.SH ACTIONS
ルールの action フィールドには ``logfile'' を指示する。``logfile'' は
実存するファイルでなくてもかまわない。
.BR syslogd (8)
は以下の動作を用意している。
.SS 通常のファイル
メッセージはそのファイルに記録される。ファイル名は ``/'' で始まるフル
パスで指定すること。
マイナス記号 ``-'' を接頭すると、記録の際のファイルシステムバッファの
フラッシュ動作を抑制する。これを用いると、書き込み動作の直後にシステム
に障害が発生した場合、情報を失なう可能性があることに注意すること。しか
しながらこの機能は特に騒々しくロギングするプログラムを動作させる際のい
くらかの性能改善には役に立つ。
.SS 名前付きパイプ
この
.BR syslogd (8)
は名前付きパイプ(FIFO)への出力機能を備えている。
ファイル名の先頭にパイプ記号 (``|'') を書くと、
メッセージの出力先をその名前の FIFO にできる。
これはデバッグ作業に役立つ。FIFO は
.BR syslogd (8)
のスタートに先立ち、
.BR mkfifo (1)
コマンドにより生成される必要があることに注意すること。
.SS ターミナルとコンソール
ファイルとして tty を指示した場合は、tty 用の処理がなされる。
.IR /dev/console
も同じ。
.SS リモートコンピュータ
この
.BR syslogd (8)
は完全なリモートロギング機能も提供する。すなわちメッセージを
.BR syslogd (8)
の動作するリモートのホストに送信することができ、またリモートのホストか
らのメッセージを受信することもできる。リモートのホストはメッセージをそ
れ以上他のホストへ転送することはせず、その機械にローカルに記録するはずだ。
他のホストへメッセージを送信するにはアットマーク(``@'')をそのホスト名
に接頭する。
この機能を用いると、他の全てのコンピュータにリモートに記録させることで、
すべての syslog メッセージを一台のホストで制御することができる。これは
管理上の困難を解消する。
.SS ユーザ名のリスト
通常、特に重要なメッセージはそのコンピュータの ``root'' にも宛てられる
ものである。login しているときにメッセージを受けとるべきユーザのリスト
を指示することができる。コンマ(``,'')で区切って複数のユーザを指定する
こともできる。メイルで送ろうと思ってはいけない。それでは手遅れになって
しまうかもしれない。
.SS ログインしている誰でも
システムになにか具合が悪いことが発生することを通知するために、緊急のメッ
セージはしばしばその時オンラインになっている全てのユーザに通知される。
この
.IR wall (1) 的機能
を利用するためにはアスタリスク(``*'')を用いる。
.SH 例
ここに実在する site の実際の設定例の一部を用いたいくつかの設定例を挙げ
る。うまくいけば、たぶん、これで設定上の疑問はすべて解消できると思うが、
なにかあったら筆者( Joey )宛てに連絡いただきたい。
.IP
.nf
# 危機的状況を /var/adm/critical に保存する。
#
*.=crit;kern.none /var/adm/critical
.fi
.LP
priority が
.B crit
の、カーネルメッセージを除くすべてのメッセージをファイル
.I /var/adm/critical
に保存する。
.IP
.nf
# カーネルメッセージは /var/adm/kernel に
# 保存し、さらに critical 以上の重要度の
# メッセージは他のホストへ配信しコンソー
# ルにも表示する。
#
kern.* /var/adm/kernel
kern.crit @finlandia
kern.crit /dev/console
kern.info;kern.!err /var/adm/kernel-info
.fi
.LP
一番目のルールにより、facility が kern のメッセージはファイル
.I /var/adm/kernel
に記録される。
二番目の文により、 priority が
.B crit
かそれよりも高い全てのメッセージはリモートのホスト finlandia へ送信さ
れる。これは、ホストの障害が生じて保存されたメッセージを読みだすことが
できなくなるような回復不能エラーがディスク装置に発生した際に有効である。
リモートのホストに残されたメッセージで障害の原因調査に取り掛ることもで
きる。
三番目のルールはそのコンピュータで作業している誰かがそのメッセージを得
ることができるように、実際のコンソールに表示する。
四行目は、syslogd にpriorityが
.BR info " から " warning
のカーネルメッセージをファイル
.I /var/adm/kernel-info
に保存するよう指示する。
.I err
よりも高い priority を持つものは除外される。
.IP
.nf
# tcp wrapper は mail.info でロギングする、
# すべての接続を tty12 に表示する。
#
mail.=info /dev/tty12
.fi
.LP
この例は
.BR mail.info " (ソースコード上では " LOG_MAIL " | " LOG_INFO )
を用いる全てのメッセージを
第 12 コンソール
.I /dev/tty12
に表示する。例えば tcpwrapper
.BR tcpd (8)
はこの設定を既定値として用いている。
.IP
.nf
# メイル関係は一つのファイルへ保存する。
#
mail.*;mail.!=info /var/adm/mail
.fi
.LP
このパターンは facility が
.B mail
の全てのメッセージから priority が
.B info
であるものを除くことを示す。これらのメッセージはファイル
.I /var/adm/mail
に記録する。
.IP
.nf
# mail.info と news.info を /var/adm/info ヘ記録する。
#
mail,news.=info /var/adm/info
.fi
.LP
この例は
.BR mail.info " と " news.info
の両方の全てのメッセージを抜き出し、ファイル
.IR /var/adm/info
に保存する。
.IP
.nf
# info と notice は /var/log/messages へ記録する。
#
*.=info;*.=notice;\\
mail.none /var/log/messages
.fi
.LP
この例は
.B syslogd
に
facility が
.B mail
であるのものを除く他の
全て
.BR info " と " notice
の両方の priority の全てのメッセージをファイル
.I /var/log/messages
に保存するよう指示する。
.IP
.nf
# info メッセージは /var/log/messages へ記録する。
#
*.=info;\\
mail,news.none /var/log/messages
.fi
.LP
この指示により
.B syslogd
は priority
.B info
の全てのメッセージをファイル
.I /var/log/messages
に記録する。ただし facility が
.BR mail " と " news
の両方のメッセージは保存しない。
.IP
.nf
# 緊急メッセージを wall で表示する。
#
*.=emerg *
.fi
.LP
このルールは
.B syslogd
に全ての緊急のメッセージをその時ログインしている全てのユーザに伝えるよ
う指示する。これが wall action である。
.IP
.nf
# priority が alert のメッセージは管理担当へ
# 送る。
*.alert root,joey
.fi
.LP
このルールは priority が
.B alert
かそれよりも高い全てのメッセージを操作者、すなわちユーザ名 ``root'' と
``joey'' がログインしていればその端末に表示する。
.IP
.nf
*.* @finlandia
.fi
.LP
このルールは全てのメッセージを finlandia と呼ばれるリモートのホストに
転送する。これは特に一群のコンピュータの全ての syslog メッセージを一台
のコンピュータに保存するのに役に立つ。
.SH 設定ファイル文法の相違点
.B syslogd
の設定は オリジナルの BSD ソースによるものとは少し異なる文法を使用する。
元々は、指示された priority とそれよりも高い priority の全てのメッセージが
ログファイルに記録されていた。この
.B syslogd
には、より柔軟で直観的にわかりやすい設定が可能となるように修飾子 ``=''、
``!''、``-''が追加されている。
オリジナルの BSD の syslogd では selector フィールドと action
フィールドの区切りの文字として空白文字を利用することはできない(TAB 文
字でなければならない)。
.SH ファイル
.PD 0
.TP
.I /etc/syslog.conf
.B syslogd
の設定ファイル
.SH バグ
複数の selector を指示するとしばしば直観的でなくなる。例えば、
``mail.crit,*.err'' は facility が ``mail'' のメッセージのうち ``crit'' より
高い priority 、ではなくて``err'' よりも高い priority を指示していることに
なる。
.SH 関連項目
.BR sysklogd (8),
.BR klogd (8),
.BR logger (1),
.BR syslog (2),
.BR syslog (3)
.SH 著者
.B syslogd
は Greg Wettstein (greg@wind.enjellic.com) が BSD のソースコードから Linux
で動作するように移植し、Matin Schulze (joey@linux.de) がいくつかのバグ
フィックスと新しい機能の追加をした。
|