lsaudrec コマンド

目的

監査ログのレコードをリストします。

構文

lsaudrec [-l] [-a-n node_name1[,node_name2]...] [-S subsystem_name]
[-s selection_string] [-x] [-h] [ field_name1 [field_name2...] ]

説明

lsaudrec コマンドを使用して、監査ログ内のレコードをリストします。 監査ログは、システムの操作に関する情報を記録するための機能です。このログには、システムの通常操作だけでなく障害やその他のエラーにも関する情報を含めることができます。これは、他のシステム・アクティビティーに関連したエラーの関係を伝達することにより、エラー・ログの機能性を増大させます。 障害に関する詳細情報もすべて、AIX® エラー・ログに書き込まれます。

監査ログへのレコードの作成は、そのために装備されたサブシステムにより行われます。例えば、イベント応答サブシステムはバックグラウンドで実行され、管理者が定義した条件をモニターし、その後、条件が真になるときに 1 つ以上のアクションを呼び出します。 このサブシステムはバックグラウンドで実行されるため、 発生したすべてのイベント・セットおよびイベントに対して取られたすべてのアクションの結果を、 オペレーターまたは管理者が把握するのは困難です。 イベント応答サブシステムはそのアクティビティーを監査ログに記録するため、このコマンドにより管理者は、 他のサブシステムのアクティビティーに加えてイベント応答サブシステムのアクティビティーを容易に表示できます。

監査ログ内の各レコードには名前付きフィールドが含まれます。 各フィールドには、そのレコードに対応する状態についての情報を提供する値が含まれます。例えば、名前が Time のフィールドはその状況が発生した時刻を示します。 各レコードには、 共通フィールドのセット、 およびサブシステム固有のフィールドのセットが含まれます。 共通フィールドは、 監査ログ内のすべてのレコードに存在します。 サブシステム固有のフィールドは、 レコードによって異なります。 その名前はサブシステム全体で固有ではないので、 サブシステム名で使用される場合にのみ意味をなします。 レコード内に存在するサブシステム固有のフィールドを定義するテンプレート、 および状況を説明するメッセージを生成するために使用される書式制御文字列を定義するテンプレートから、 各レコードは発生します。 書式制御文字列は挿入としてレコード・フィールドを使用できます。 サブシステムには通常、 多くのテンプレートがあります。

フィールド名を選択文字列 内の変数として使用し、 表示されるレコードを選択できます。 選択文字列は、フィールド名、定数、および演算子からなる式です。 選択文字列の構文は、C プログラミング言語の式または SQL の "where" 文節と似ています。 選択文字列は、各レコードの参照フィールドを使用して、各レコードと突き合わせを行います。一致するすべてのレコードが表示されます。 選択文字列は、-s フラグを使用して指定します。選択文字列を指定する方法については、「Administering RSCT」ガイドを参照してください。

フィールド名をこのコマンドのパラメーター名として指定して、 表示するフィールドやその表示順を選択することもできます。 共通フィールド名は、以下のとおりです。
フィールド 説明
Time レコードに対応する状況が発生した時刻。 値は 64 ビットの整数で、UNIX Epoch (00:00:00 GMT January 1, 1970) 以降のマイクロ秒数を表します。 これより使いやすいフォーマットで時刻を指定するには、後述する定数を参照してください。
Subsystem レコードを生成したサブシステム。 これは文字列です。
Category 監査レコードに対応する状態の重要性を示します。 これはレコードを生成したサブシステムによって決定されています。 有効な値は、0 (通知) および 1 (エラー) です。
SequenceNumber レコードに割り当てられる固有の 64 ビットの整数。 監査ログ内に同じシーケンス番号を持つレコードは他にありません。
TemplateId 同じ内容および書式制御文字列を持つレコードに割り当てられた、サブシステムに依存する ID。 この値は 32 ビットの無符号整数です。
NodeName レコードが取得されたノードの名前。 このフィールド名は、選択文字列内で使用できません。
式にある定数のほかに、このコマンドでは日付および時刻に関する次の構文を使用できます。
#mmddhhmmyyyy
この形式は 10 進数文字のシーケンスからなり、 示されるパターンに従って解釈されます。 パターン内のフィールドは、左から右に向かって次のようになります。 mm = 月、dd = 日、hh = 時、 mm = 分、yyyy = 年。例えば、#010523042004 は 2004 年 1 月 5 日、午後 11:04 です。 フィールドは右から左に向かって省略できます。 存在しない場合、次のデフォルトが使用されます。年 = 現在の年、分 = 0、時間 = 0、日 = 1、および月 = 現在の月。
#-mmddhhmmyyyy
この形式は前のものと似ていますが、現在の時刻と日付に関連しています。例えば、値 #-0001 は 1 日前に相当し、値 #-010001 は 1 カ月と 1 時間前に相当します。 フィールドは右の方のものから省略でき、 0 で置き換えられます。

表示用に考慮され、選択文字列と一致する監査レコードを、特定 のサブシステムに制限できます。このために、-S フラグを使用します。このフラグを指定すると、共通フィールド名に加えて、サブシステム固有のフィールド名も選択文字列に使用できます。

監査ログ・レコードが表示用に考慮され、選択文字列と突き合わせられる ノードを、1 セットの特定ノードに制限できます。このためには -n フラグを 使用します。このフラグを指定すると、その検索範囲はリストアップされたノードの セットに限定されます。 指定しない場合、 CT_MANAGEMENT_SCOPE 環境変数で決定される現行の管理有効範囲内で定義済みのノードすべてに対して検索が実行されます。

監査レコードは、テーブルで表示されます。パラメーターとして指定されるフィールド名は、 表示されるフィールドと各行に現れる順序を制御します。 デフォルトで表示される列は、日付および時刻、レコードを生成したサブシステムの名前、状況の重大度、 および状況を説明する、サブシステム固有のメッセージです。 管理有効範囲がローカルでない場合は、ノード名が第 1 列に表示されます。

フラグ

-l
詳細出力を生成するように指示します。詳細出力には、定様式メッセージ・テキストには組み込まれない、 サブシステム固有のフィールドが組み込まれています。
-a
ドメイン内のすべてのノードから取り出したレコードを表示するように指示します。 -n および -a フラグを両方とも省略すると、ローカル・ノードから取り出したレコードのみが表示されます。
-n node_name1[,node_name2]...
検査されて、指定された選択文字列に一致するなどの別の基準を満たした場合に表示される監査ログ・レコードを含むノードのリストを指定します。 ノード・グループ名も指定できます。これを、ノード名のリストに展開します。 -n および -a フラグを両方とも省略すると、ローカル・ノードから取り出したレコードのみが表示されます。
-Ssubsystem_name
サブシステム名を指定します。 このフラグが存在すると、 subsystem_name によって識別されるレコードのみが表示と見なされます。 -s フラグを使用して、 表示されるレコードにさらに制限を課すことができます。 サブシステム名にスペースが含まれる場合、そのサブシステム名は単一引用符か二重引用符で囲む必要があります。

後方互換性を保つため、-a および -S フラグを指定しない 場合は、-n フラグのみ を使用して、サブシステム名を指定できます。

-s selection_string
選択文字列を指定します。この文字列は監査ログ内の各レコードに対して評価されます。 選択文字列と一致するすべてのレコードが表示されます。 選択文字列にスペースが含まれる場合、そのサブシステム名は単一引用符か二重引用符で囲む必要があります。 選択文字列を指定する方法については、「Administering RSCT」ガイドを参照してください。

レコード内のフィールド名は式で使用できます。 -S フラグを指定しない場合、 共通フィールドの名前のみを使用できます。共通フィールド名とそのデータ・タイプのリストについては、 説明のセクションを参照してください。 -S フラグを指定した場合、 共通フィールド名の他に、指定したサブシステムのフィールド名もすべて使用できます。

このフラグを省略すると、表示されるレコードは -S フラグに応じて決まります。-S フラグ を省略すると、監査ログのすべてのレコードが表示されます。 省略しない場合は、-S フラグによって識別される、 サブシステムのすべてのレコードが表示されます。

-x
ヘッダーを除外します (ヘッダーの印刷を抑止します)。
-h
コマンドの使用方法の文を標準出力に書き込みます。

パラメーター

field_name1 [field_name2...]
表示する、監査ログ・レコード内の 1 つまたは複数のフィールドを指定します。 コマンド・ラインでのフィールド名の順序は、表示される順序と一致します。 フィールド名を何も指定しない場合、デフォルトでは TimeSubsystemSeverity、および Message が表示されます。 管理有効範囲がローカルでない場合、デフォルトでは NodeName が第 1 列に表示されます。 これらのフィールドおよびその他のフィールドの詳細については、 説明のセクションを参照してください。

セキュリティー

-S フラグを省略した場合に、 監査ログのレコードをリストするには、 リストするレコードが取り出される各ノード上のターゲット・リソース・クラスへの読み取りアクセスを実行できることが必要です。 -S フラグを指定した場合、 ユーザーは、リストするレコードが取り出される各ノード上の、 -S フラグによって識別されるサブシステムに対応する監査ログ・リソースへの読み取りアクセスを実行できることが必要です。

許可は、各ノード上に存在する RMC アクセス制御リスト (ACL) ファイルにより制御されます。

終了状況

0
コマンドは正常に実行されました。
1
RMC でエラーが発生しました。
2
コマンド・ライン・インターフェース・スクリプトでエラーが発生しました。
3
コマンド・ラインに間違ったフラグが入力されました。
4
コマンド・ラインに間違ったパラメーターが入力されました。
5
コマンド・ライン入力の間違いが原因のエラーが発生しました。

環境変数

CT_CONTACT
Resource Monitoring and Control (RMC) デーモンとの持つセッションが確立されるシステムを決定します。 CT_CONTACT にホスト名または IP アドレスが設定されていると、このコマンドは指定されたホスト上の RMC デーモンと連絡を取ります。 CT_CONTACT が設定されていない場合、このコマンドは、コマンドが実行されているローカル・システムの RMC デーモンと連絡を取ります。 RMC デーモン・セッションのターゲットおよび管理有効範囲によって、 このコマンドの影響を受ける可能性のあるリソース・クラスまたはリソースが決定されます。
CT_IP_AUTHENT
CT_IP_AUTHENT 環境変数が存在する場合は、RMC デーモンは、IP ベース・ネットワーク認証を使用して、CT_CONTACT 環境変数が設定されている IP アドレスで指定されるシステム上の RMC デーモンと連絡を取ります。 CT_IP_AUTHENT が意味をもつのは、CT_CONTACT が IP アドレスに設定されている場合のみです。つまり、この環境変数はドメイン・ネーム・システム (DNS) サービスには依存しません。
CT_MANAGEMENT_SCOPE
RMC デーモンを持つセッションに使用される管理有効範囲を決定します (-a および -n フラグと併用します)。 管理有効範囲は、監査ログ・レコードをリストできることが可能なターゲット・ノードのセットを決定します。 -a および -n フラグを指定しないと、 Local 有効範囲が使用されます。これらのフラグを指定すると、CT_MANAGEMENT_SCOPE を使用して、管理有効範囲が直接決定されます。 有効な値は、次のとおりです。
0
Local 有効範囲を指定します。
1
Local 有効範囲を指定します。
2
ピア・ドメイン 有効範囲を指定します。
3
管理ドメイン 有効範囲を指定します。

この環境変数が設定されていない 場合は、Local 有効範囲が使用されます。

実装上の固有な条件

このコマンドは、AIX® 用 Reliable Scalable Cluster Technology (RSCT) ファイルセットの一部です。

標準出力

-h フラグが指定されている場合は、このコマンドの使用方法の説明文が標準出力に書き込まれます。

  1. CT_MANAGEMENT_SCOPE 環境変数によって判別される現行の管理有効範囲内のすべてのノードの監査ログ中のすべてのレコードをリストするには、次を入力します。
    lsaudrec
  2. CT_MANAGEMENT_SCOPE 環境変数によって決定される現行の管理有効範囲にあるすべてのノード上の、直前の時間にログインされた全レコードをリストするには、次のように入力します。
    lsaudrec -s "Time > #-000001"
  3. ノード mynode および yournode にあるサブシステム abc の、 監査ログの各レコードの時刻とシーケンス番号をリストするには、次のように入力します。
    lsaudrec -n mynode,yournode -S abc Time SequenceNumber
  4. イベント応答リソース・マネージャー (ERRM) によって生成されるレコードをリストするには、次のように入力します。
    lsaudrec -SERRM
  5. Condition1 と呼ばれる条件に関連するレコードをリストするには、次のように入力します。
    lsaudrec -SERRM -s"ConditionName=='Condition1'"
  6. Condition1 のイベントに関連するレコードをリストするには、次のように入力します。
    lsaudrec -SERRM -s"ConditionName=='Condition1' && Etype==91"
  7. Condition1 のリアーム・イベントに関連するレコードをリストするには、次のように入力します。
    lsaudrec -SERRM -s"ConditionName=='Condition1' && Etype==92"
  8. ローカル・ノード上の監査ログのセンサー・リソース・マネージャー・レコードをリストするには、 次のように入力します。
    lsaudrec -SSSRM
    出力は次のようになります。
     
    Time                 Subsystem   Category    Description
    11/10/05 21:52:32    SSRM        Error       The Command /SENSOR/sensor.ksh 1 
                                                 in Sensor SENSOR_NOUSER_1 execution fails.
    11/10/05 21:52:36    SSRM        Error       The Command /SENSOR/sensor.nocmd 1 in Sensor 
                                                 SENSOR_NOCMD_1 exits with error 127.
     
  9. ローカル・ノード上の監査ログのセンサー・リソース・マネージャー・レコードを長形式でリストするには、 次のように入力します。
    lsaudrec -l -SSSRM
    出力は次のようになります。
     
    Time        = 11/10/05 21:52:32 243097
    Subsystem   = SSRM
    Category    = Error
    Description = The Command /SENSOR/sensor.ksh 1 in Sensor SENSOR_NOUSER_1 execution fails.
    ErrorMsg    = 2645-202 The user name "guest" that was specified for running the command does not exist.
    
    Time        = 11/10/05 21:52:36 361726
    Subsystem   = SSRM
    Category    = Error
    Description = The Command /SENSOR/sensor.nocmd 1 in Sensor SENSOR_NOCMD_1 exits with error 127.
    StandardOut =
    StandardErr = ksh: /u/diane/drmc/scripts/SENSOR/sensor.nocmd:  not found
     
  10. エラー・レコードのみをリストするには、次のように入力します。
    lsaudrec -s"Category=1"

Location

/opt/rsct/bin/lsaudrec