Manpages

名 前

syslog.conf − syslogd(8) の 設 定 フ ァ イ ル

説 明

syslog.conf は UNIX ラ イ ク な シ ス テ ム で そ の シ ス テ ム メ ッ セ ー ジ を 記 録 す る syslogd(8) の た め の 設 定 フ ァ イ ル で あ る 。 こ の フ ァ イ ル は 記 録 の ル ー ル を 規 定 す る 。 固 有 の 機 能 に つ い て は sysklogd(8) の man ペ ー ジ を 参 照 す る こ と 。 ル ー ル は selector フ ィ ー ル ド と action フ ィ ー ル ド の 二 つ の フ ィ ー ル ド で 構 成 す る 。 こ れ ら の 二 つ の フ ィ ー ル ド は 一 つ 以 上 の 空 白 文 字 か TAB 文 字 で 区 切 ら れ る 。 selector フ ィ ー ル ド は 指 定 さ れ た action を 適 用 す る facility と priority の パ タ ー ン を 規 定 す る 。 シ ャ ー プ 記 号 (’’#’’)で 始 ま る 行 と 空 行 は 無 視 す る 。 こ の バ ー ジ ョ ン の syslogd は 拡 張 さ れ た 文 法 を 認 識 す る こ と が で き る 。 行 の 末 尾 に バ ッ ク ス ラ ッ シ ュ (’’\’’)を 置 く こ と に よ っ て 、 ひ と つ の ル ー ル を 複 数 行 に 分 け る こ と が で き る 。

SELECTORS

selector フ ィ ー ル ド は さ ら に ピ リ オ ド (’’.’’)で 区 切 ら れ る facilitypriority の 二 つ の 部 分 で 構 成 す る 。 ど ち ら の 部 分 も 文 字 の 大 文 字 小 文 字 は 区 別 し な い 。 ま た 、 数 字 を 用 い る こ と も 可 能 で あ る が 、 こ れ は 使 用 し な い 方 が よ い 。 使 用 し た 時 に は 警 告 が な さ れ る 。 facility と priority に つ い て は syslog(3) に 記 述 さ れ て い る 。 以 下 に 記 述 す る 各 種 の 名 前 は /usr/include/syslog.h に お け る LOG_-values の 同 じ 名 前 の も の に 対 応 す る 。

facility は 次 の キ ー ワ ー ド の い ず れ か で あ る : authauthprivcrondaemonkernlprmailmarknewssecurity (auth と 同 じ )、 sysloguseruucplocal0か ら local7。 こ の う ち security は 今 後 は 利 用 す る べ き で な く 、 ま た 、 mark は 内 部 利 用 の た め の も の な の で 、 ア プ リ ケ ー シ ョ ン レ ベ ル で 用 い る べ き で は な い 。 た だ し 利 用 で き な い わ け で は な い 。 facility は メ ッ セ ー ジ を 生 成 す る サ ブ シ ス テ ム を 規 定 す る 、 す な わ ち (例 え ば )全 て の メ イ ル プ ロ グ ラ ム は syslog を 用 い て ロ グ を 記 録 す る 場 合 は mail facility (LOG_MAIL) を 用 い る 。

priority は 以 下 の キ ー ワ ー ド の い ず れ か で あ る (昇 順 ): debug, info, notice, warning, warn ( warning と 同 じ ), err, error (err と 同 じ ), crit, alert, emerg, panic (emergと 同 じ ). こ の う ち キ ー ワ ー ド errorwarnpanic に つ い て は 、 同 等 の も の が あ る の で 今 後 は 利 用 す る べ き で な い 。 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)的 機 能 を 利 用 す る た め に は ア ス タ リ ス ク (’’*’’)を 用 い る 。

こ こ に 実 在 す る 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 一 番 目 の ル ー ル に よ り 、 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.infonews.info の 両 方 の 全 て の メ ッ セ ー ジ を 抜 き 出 し 、 フ ァ イ ル /var/adm/info に 保 存 す る 。

# info と notice は /var/log/messages へ 記 録 す る 。
#
*.=info;*.=notice;\

mail.none /var/log/messages こ の 例 は syslogd

facility が mail で あ る の も の を 除 く 他 の 全 て infonotice の 両 方 の priority の 全 て の メ ッ セ ー ジ を フ ァ イ ル /var/log/messages に 保 存 す る よ う 指 示 す る 。

# info メ ッ セ ー ジ は /var/log/messages へ 記 録 す る 。
#
*.=info;\

mail,news.none /var/log/messages こ の 指 示 に よ り syslogd は priority info の 全 て の メ ッ セ ー ジ を フ ァ イ ル /var/log/messages に 記 録 す る 。 た だ し facility が mailnews の 両 方 の メ ッ セ ー ジ は 保 存 し な い 。

# 緊 急 メ ッ セ ー ジ を 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 [AT] wind.com) が BSD の ソ ー ス コ ー ド か ら Linux で 動 作 す る よ う に 移 植 し 、 Matin Schulze (joey [AT] linux.de) が い く つ か の バ グ フ ィ ッ ク ス と 新 し い 機 能 の 追 加 を し た 。