マニュアルページセク ション 1M: システム管理コマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

syslogd(1M)

名前

syslogd - システムメッセージのログ

形式

/usr/sbin/syslogd [-d] [-f configfile] [-m markinterval] 
     [-p path] [-t | -T]

説明

syslogd はシステムメッセージを読み取り、メッセージの優先順位とそれを生成したシステム機能に応じて、適切なログファイルまたはユーザーに転送します。構成ファイル /etc/syslog.conf (syslog.conf(4) を参照) はメッセージの転送先を制御します。syslogdmarkinterval 分 (デフォルト 20) ごとに、優先順位 LOG_INFO でマーク (タイムスタンプ) メッセージを syslog.conf ファイル内の mark と名前が付けられている機能に対して、記録します。

システムメッセージは 1 行のテキストで構成され、山括弧 (< >) で囲まれた優先順位コード番号が前に付けられることがあります。優先順位は <sys/syslog.h> に定義されます。

syslogd は STREAMS ログドライバ /dev/log、および /etc/netconfig/etc/net/transport/hosts/etc/net/transport/services に指定されているトランスポートプロバイダから読み取ります。

syslogd は、起動時および HUP 信号 (signal.h(3HEAD) を参照) を受信したときに再度、構成ファイルを読み取ります。さらに、そのときに、開いていたすべてのファイルを閉じ、その構成ファイルを再読み取りし、そのファイルに一覧表示されているログファイルのみを開きます。syslogd は TERM 信号を受信したときに終了します。

起動すると、syslogd は可能であればそのプロセス識別子 (PID) を格納するファイル /var/run/syslog.pid を作成します。

メッセージ ID の生成が有効にされている (log(7D) を参照) 場合、各メッセージの前に [ID msgid facility.priority] の形式の識別子が付けられます。msgidmsgid(1M) に説明されているメッセージの数値の識別子です。facility および priority については syslog.conf(4) で説明しています。[ID 123456 kern.notice] はメッセージ ID の生成が有効にされている場合の識別子の例です。

メッセージがロード可能カーネルモジュールまたはドライバで生成された場合、unix の代わりにカーネルモジュールの名前 (ufs など) が表示されます。メッセージ ID の生成が有効にされている場合と、有効にされていない場合の syslogd からのサンプル出力については、「使用例」を参照してください。

表示が乱雑にならないように、コンソールへ書き込む際にメッセージ ID は表示されません。メッセージ ID はログファイルにのみ書き込まれます。「使用例」を参照してください。

/etc/default/syslogd ファイルにはデフォルトのパラメータ設定が格納されます。これは –t オプションも –T オプションも選択されていない場合に有効になります。

メッセージのロギングを許可するか、許可しないかの推奨される方法は、サービス管理機能 (smf(5)) プロパティーを使用することです。

svc:/system/system-log/config/log_from_remote

このプロパティーはリモートメッセージをログに記録するかどうかを指定します。log_from_remote=true–t コマンド行オプションと同等で、false–T コマンド行オプションと同等です。–log_from_remote のデフォルト値は false です。下の「注意事項」を参照してください。

LOG_FROM_REMOTE

リモートメッセージがログに記録されるかどうかを指定します。LOG_FROM_REMOTE=NO–t コマンド行オプションと同等です。LOG_FROM_REMOTE のデフォルト値は YES です。

オプション

サポートしているオプションは、次のとおりです。

–d

デバッグを有効にします。このオプションは、システムがマルチユーザーモードになったら、ルートシェルで対話形式でのみ使用してください。これを起動スクリプトで使用しないでください。syslogd が起動した時点で、システムがハングアップします。

–f configfile

代替構成ファイルを指定します。

–m markinterval

メッセージをマークする間隔を分単位で指定します。

–p path

代替ログデバイス名を指定します。デフォルトは /dev/log です。

–T

syslogd UDP ポートを有効にして、リモートメッセージのロギングを有効にします。これはデフォルトの動作です。

–t

syslogd UDP ポートを無効にして、リモートメッセージのロギングを無効にします。

使用例 1 メッセージ ID の生成が有効にされていない場合の syslogd の出力

次の例に、メッセージ ID の生成が有効にされていない場合の syslogd からの出力を示します。


Sep 29 21:41:18 cathy unix: alloc /: file system full

使用例 2 ID の生成が有効にされている場合の syslogd の出力

次の例に、メッセージ ID の生成が有効にされている場合の syslogd からの出力を示します。メッセージ ID はログファイル /var/adm/messages への書き込み時に表示されます。


Sep 29 21:41:18 cathy ufs: [ID 845546 kern.notice] 
                                    alloc /: file system full

使用例 3 ID の生成が有効にされている場合の syslogd の出力

次の例に、コンソールへの書き込み時にメッセージ ID の生成が有効にされている場合の syslogd からの出力を示します。メッセージ ID が有効にされていても、メッセージ ID はコンソールに表示されません。


Sep 29 21:41:18 cathy ufs: alloc /: file system full

使用例 4 リモートシステムからの UDP メッセージの受け入れの有効化

次のコマンドは syslogd を有効にして、リモートシステムからのエントリを受け入れます。

# svccfg -s svc:/system/system-log setprop config/log_from_remote = true
# svcadm restart svc:/system/system-log

ファイル

/etc/syslog.conf

構成ファイル

/var/run/syslog.pid

プロセス ID

/etc/default/syslogd

デフォルトの設定を格納しています。コマンド行オプションによって設定の一部をオーバーライドできます。

/dev/log

STREAMS ログドライバ

/etc/netconfig

システムで使用可能なトランスポートプロバイダ

/etc/net/transport/hosts

各トランスポートのネットワークホスト

/etc/net/transport/services

各トランスポートのネットワークサービス

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

logger(1), svcs(1), msgid(1M), svcadm(1M), svccfg(1M), syslog(3C), syslog.conf(4), attributes(5), signal.h(3HEAD), smf(5), log(7D)

mark メッセージはシステムタイムスタンプであるため、syslogd が実行しているシステムに対してのみ定義されます。ほかのシステムに転送できません。

syslogdHUP 信号を受信すると、保留メッセージの出力を完了しようと試み、現在メッセージをロギングしているすべてのログファイルを閉じます。何らかの理由で、これらのファイルの 1 つ (または複数) が十分な猶予期間内に閉じない場合、syslogd は保留中のメッセージを破棄し、これらのファイルを強制的に閉じて、再構成を開始します。このシャットダウン手順が予期しないエラーで妨げられ、syslogd が再構成を完了できない場合、syslogd はシャットダウンし、終了することを示したメールメッセージを現在のシステムのスーパーユーザーに送ります。

syslogd によって転送されたメッセージを表示する各ウィンドウ (特にコンソールウィンドウ) がシステムのデフォルトロケール (これは syslogd のロケール) で実行していることを確認する場合は注意してください。このアドバイスに従わないと、syslog メッセージがそのウィンドウの端末設定を変更し、そのウィンドウからの任意のコマンドのリモート実行を許可する可能性もあります。

syslogd サービスは、次のサービス識別子で、サービス管理機能 smf(5) によって管理します。

svc:/system/system-log:default

有効化、無効化、または再起動要求など、このサービスに関する管理操作は、svcadm(1M) を使用して実行できます。サービスステータスを照会するには、svcs(1) コマンドを使用します。

syslogdsvcadm(1M) を使用して起動されると、/etc/defaults/syslogd ファイル内の LOG_FROM_REMOTE に値が指定されている場合に、SMF プロパティー svc:/system/system-log/config/log_from_remoteLOG_FROM_REMOTE 値に対応して設定され、/etc/default/syslogd ファイルが次のコメントで LOG_FROM_REMOTE 仕様を置き換えるように変更されます。

# LOG_FROM_REMOTE is now set using svccfg(1m), see syslogd(1m).

LOG_FROM_REMOTEsvc:/system/system-log/config/log_from_remote も定義されていない場合、デフォルトはリモートメッセージをログに記録することです。

インストール時に、svc:/system/system-log/config/log_from_remote の初期値は false です。