Go to main content

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

印刷ビューの終了

更新: 2022年7月27日
 
 

syslogd(8)

名前

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

形式

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

説明

syslogd はシステムメッセージを読み取り、メッセージの優先順位とそれを生成したシステム機能に応じて、適切なログファイルまたはユーザーに転送します。構成ファイル /etc/syslog.conf (syslog.conf(5) を参照) はメッセージの転送先を制御します。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 を作成します。

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

リモートメッセージがログに記録されるかどうかを指定します。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:default 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(7) を参照してください。

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

関連項目

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 が実行しているシステムに対してのみ定義されます。ほかのシステムに転送できません。

syslogdHUP 信号を受信すると、保留メッセージの出力を完了しようと試み、現在メッセージをロギングしているすべてのログファイルを閉じます。何らかの理由で、これらのファイルの 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.