syslogd - システムメッセージのログ
/usr/sbin/syslogd [-d] [-f configfile] [-m markinterval] [-p path] [-t | -T]
syslogd はシステムメッセージを読み取り、メッセージの優先順位とそれを生成したシステム機能に応じて、適切なログファイルまたはユーザーに転送します。構成ファイル /etc/syslog.conf (syslog.conf(5) を参照) はメッセージの転送先を制御します。syslogd は markinterval 分 (デフォルト 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 を作成します。
If message ID generation is enabled (see log(4D)), each message will be preceded by an identifier in the following format: [ID msgid facility.priority]. msgid is the message's numeric identifier described in msgid(8). facility and priority are described in syslog.conf(5). [ID 123456 kern.notice] is an example of an identifier when message ID generation is enabled.
メッセージがロード可能カーネルモジュールまたはドライバで生成された場合、unix の代わりにカーネルモジュールの名前 (ufs など) が表示されます。メッセージ ID の生成が有効にされている場合と、有効にされていない場合の syslogd からのサンプル出力については、「使用例」を参照してください。
表示が乱雑にならないように、コンソールへ書き込む際にメッセージ ID は表示されません。メッセージ ID はログファイルにのみ書き込まれます。「使用例」を参照してください。
/etc/default/syslogd ファイルにはデフォルトのパラメータ設定が格納されます。これは –t オプションも –T オプションも選択されていない場合に有効になります。
The recommended way to allow or disallow message logging is through the use of the service management facility (smf(7)) instance svc:/system/system-log:default property:
config/log_from_remote
このプロパティーはリモートメッセージをログに記録するかどうかを指定します。log_from_remote=true は –t コマンド行オプションと同等で、false は –T コマンド行オプションと同等です。log_from_remote のデフォルト値は false です。「ノート」を参照してください。
リモートメッセージがログに記録されるかどうかを指定します。LOG_FROM_REMOTE=NO は –t コマンド行オプションと同等です。LOG_FROM_REMOTE のデフォルト値は YES です。
サポートしているオプションは、次のとおりです。
デバッグを有効にします。このオプションは、システムがマルチユーザーモードになったら、ルートシェルで対話形式でのみ使用してください。これを起動スクリプトで使用しないでください。syslogd が起動した時点で、システムがハングアップします。
代替構成ファイルを指定します。
メッセージをマークする間隔を分単位で指定します。
代替ログデバイス名を指定します。デフォルトは /dev/log です。
syslogd UDP ポートを有効にして、リモートメッセージのロギングを有効にします。これはデフォルトの動作です。
syslogd UDP ポートを無効にして、リモートメッセージのロギングを無効にします。
次の例に、メッセージ 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:default setprop \ config/log_from_remote=true # svcadm restart svc:/system/system-log
構成ファイル
プロセス ID
デフォルトの設定を格納しています。コマンド行オプションによって設定の一部をオーバーライドできます。
STREAMS ログドライバ
システムで使用可能なトランスポートプロバイダ
各トランスポートのネットワークホスト
各トランスポートのネットワークサービス
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
logger(1), svcs(1), syslog(3C), signal.h(3HEAD), log(4D), syslog.conf(5), attributes(7), smf(7), msgid(8), svcadm(8), svccfg(8)
mark メッセージはシステムタイムスタンプであるため、syslogd が実行しているシステムに対してのみ定義されます。ほかのシステムに転送できません。
syslogd は HUP 信号を受信すると、保留メッセージの出力を完了しようと試み、現在メッセージをロギングしているすべてのログファイルを閉じます。何らかの理由で、これらのファイルの 1 つ (または複数) が十分な猶予期間内に閉じない場合、syslogd は保留中のメッセージを破棄し、これらのファイルを強制的に閉じて、再構成を開始します。このシャットダウン手順が予期しないエラーで妨げられ、syslogd が再構成を完了できない場合、syslogd はシャットダウンし、終了することを示したメールメッセージを現在のシステムのスーパーユーザーに送ります。
syslogd によって転送されたメッセージを表示する各ウィンドウ (特にコンソールウィンドウ) がシステムのデフォルトロケール (これは syslogd のロケール) で実行していることを確認する場合は注意してください。このアドバイスに従わないと、syslog メッセージがそのウィンドウの端末設定を変更し、そのウィンドウからの任意のコマンドのリモート実行を許可する可能性もあります。
syslogd サービスは、次のサービス識別子で、サービス管理機能 smf(7) によって管理します。
svc:/system/system-log:default
再起動の有効化、無効化、要求などのこのサービスでの管理アクションは、svcadm(8) を使用して実行できます。サービスステータスを照会するには、svcs(1) コマンドを使用します。
When syslogd is started by means of svcadm(8), if a value is specified for LOG_FROM_REMOTE in the /etc/defaults/syslogd file, the SMF instance svc:/system/system-log:default property config/log_from_remote is set to correspond to the LOG_FROM_REMOTE value and the /etc/default/syslogd file is modified to replace the LOG_FROM_REMOTE specification with the following comment:
# LOG_FROM_REMOTE is now set using svccfg(8), see syslogd(8).
If neither LOG_FROM_REMOTE nor SMF instance svc:/system/system-log:default property config/log_from_remote are defined, the default is to log remote messages.
On installation, the initial value of SMF instance svc:/system/system-log:default property config/log_from_remote is false.