mkcondition コマンド

目的

モニターできる新規条件定義を作成します。

構文

mkcondition -r resource_class -e "event_expression" [ -E "rearm_expression" ] [ -d "event_description" ] [ -D "rearm_description" ] [ -b interval[,max_events][,retention_period][,max_totalsize] ] [ -m l | m | p ] [ -n node_name1[,node_name2…]] [-p node_name] [ --qnotoggle | --qtoggle ] [ -s "selection_string" ] [ -S c | w | i ] [ -g 0 | 1 | 2 ] [-h] [-TV] condition

mkcondition -c existing_condition[:node_name] [-r resource_class] [ -e "event_expression" ] [ -E "rearm_expression" ] [ -d "event_description" ] [ -D "rearm_description" ] [ -b interval[,max_events][,retention_period][,max_totalsize] ] [ -m l | m | p ] [ -n node_name1[,node_name2…]] [-p node_name] [ --qnotoggle | --qtoggle ] [ -s "selection_string" ] [ -S c | w | i ] [ -g 0 | 1 | 2 ] [-h] [-TV] condition

説明

mkcondition コマンドは、condition パラメーターによって指定された名前を持つ、新規条件を作成します。この条件は、条件 (またはイベント) の発生に対してリソースをモニターするために使用されます。 mkresponse コマンドは、1 つのイベントに対する 1 つ以上の応答を定義するために使用します。この後に、mkcondresp コマンドを使用してその応答に条件をリンクするか、startcondresp コマンドを使用してその応答をリンクしてモニターを開始できます。

-b フラグを使用して、複数のイベントをまとめてバッチ処理またはグループ化して、応答に渡すことができます。イベントのグループ化は、それらが発生した時間幅によって行います。さらに、グループ化は、指定されたイベントの最大数が時間幅内にグループ化できるように行うことができます。バッチされたイベントを取り扱う応答は、バッチされたイベントをサポートするものとして定義される必要があります。

クラスター環境では、-p フラグを使用して、条件定義が含まれるドメイン内のノードを指定します。 管理サーバーで mkcondition を使用していて、その管理サーバーで条件を定義する場合は、-p フラグは指定しないでください-p フラグが指定されていない場合、 条件はローカル・ノードで定義されます。 条件が定義されるノードによって、次のようになります。
  • 条件が定義されるノードがノードのクラスター内にある場合、条件は複数のノードのリソースを モニターできます。-n フラグを使用して、条件がモニターされるノードを指定します。
  • 条件が定義されるノードが管理ドメイン内の管理サーバーである場合、ローカル (l) の 管理有効範囲 (-m) または管理ドメイン (m) を使用して、条件の適用方法を 指定できます。管理有効範囲が管理ドメインに設定され、ノードが管理サーバーである 場合、選択文字列は管理ドメイン全体を使用して評価されます。
  • 条件が定義されるノードが管理ドメイン内の管理対象ノードである場合、ローカル (l) の 管理有効範囲 (-m) のみが使用できます。
  • 条件が定義されるノードがピア・ドメインにある場合、ピア・ドメイン (p) または ローカル (l) の管理有効範囲 (-m) を使用して、条件および選択文字列の適用方法を 指定できます。
  • 条件が定義されるノードが管理ドメインとピア・ドメインの両方にある場合、 管理ドメイン (m)、ピア・ドメイン (p) またはローカル (l) の 管理有効範囲 (-m) を使用して、条件および選択文字列の適用方法を指定できます。

条件をロックして変更あるいは除去できないようにするには、chcondition コマンド (このコマンドの -L フラグを指定) を使用します。

クラスター・システム・マネージメント (CSM) がご使用のシステムにインストールされている場合は、CSM 定義のノード・グループをノード名の値として使用して、複数のノードを参照することができます。CSM ノード・グループの処理と CSM nodegrp コマンドの使用については、 「CSM: Administration Guide」および「CSM: Command and Technical Reference」を参照してください。

フラグ

-b interval[,max_events][,retention_period][,max_totalsize]
1 つ以上のバッチ関連属性を指定します。コンマを使用して、属性値を区切ります。値またはコンマの間にスペースを何も挿入しないでください。

interval は、示された間隔でイベントを一緒にバッチすることを指定します。バッチ処理は、間隔についてイベントが生成されなくなるまで継続します。バッチ処理をオフにするには、0 の間隔を使用します。

max_events は、max_events のイベント数が生成されるまでイベントが一緒にパッチされることを指定します。間隔が期限になる前に max_events のイベント数に到達する場合、間隔は再始動します。

retention_period は、保存期間を時間数で指定します。バッチ処理されたイベント・ファイルは保存期間として指定された時間の間保存されます。この時間に到達すると、ファイルは自動的に削除されます。

max_totalsize は、バッチ処理されたイベント・ファイルの合計サイズをメガバイト (MB) 単位で指定します。バッチ処理されたイベント・ファイルは、このサイズに到達するまで保存されます。そのサイズに到達すると、ファイルは自動的に削除されます。

max_eventsretention_period、および max_totalsize は、間隔が 0 より大きくない限り指定できません。

interval が 0 より大きく、max_events が 0 である場合、イベントの最大数は使用されません。

retention_period および max_totalsize が両方とも指定される場合、バッチ処理されたイベント・ファイルは、指定された時間またはサイズのうち、どちらかが最初に発生するまで保存されます。

1 つ、2 つ、または 3 つの属性値を変更したい場合、変更したい値に先行する属性について有効値または空のフィールドを指定する必要があります。変更したい値に後続する属性については値を指定する必要はありません。例えば、保存期間のみを変更する必要がある場合、間隔および max_events についても値を指定する必要があります。属性を変更する必要がない場合、空のフィールドを指定することができます。間隔および max_events の値を変更せずに 36 時間の保存期間を変更するには、次のように入力します。
mkcondition -c existing_condition -b ,,36 
-c existing_condition[:node_name]
既存の条件をコピーします。既存の条件は node_name で定義されています。node_name を指定しない場合は、ローカル・ノードが使用されます。 node_name は、CT_MANAGEMENT_SCOPE 環境変数によって決定される有効範囲内のノードです。他のフラグが指定された場合、 そのフラグで指定されたように新規条件が更新されます。応答とのリンクはコピーされません。
-d "event_description"
イベント式を記述します。
-D "rearm_description"
リアーム式を記述します。
-e "event_expression"
イベントがいつ発生するかを決定するイベント式 を指定します。 イベント式は、resource_class の動的属性または永続属性、数学的比較記号 (例えば <)、および定数で構成されます。 この式が真と評価された場合、イベントが生成されます。
-E "rearm_expression"
リアーム式を指定します。event_expression が True と評価されてイベントが生成された後、リアーム式は、イベント式のモニターが再度開始される時期を決定します。 通常は、リアーム式では複数のイベントが同じイベント評価に対して生成されないようにします。 リアーム式は、resource_class の動的属性または永続属性、比較演算記号 (例えば、> または <)、論理演算子 (|| または &&)、定数、およびオプションの修飾子から構成されます。
--g 0 | 1 | 2
状態の監査ロギングを制御する細分度レベルを指定します。細分度のレベルは、以下のとおりです。
0
監査ロギングを使用可能にします。ERRM は、監査ログにすべてのアクティビティーを書き込みます。これはデフォルトです。
1
エラー・ロギングのみを使用可能にします。ERRM はエラーの場合のみ、監査ログに書き込みます。
2
監査ロギングを使用不可にします。ERRM は監査ログにレコードを書き込みません。
-m l │ m │ p
条件を適用する管理有効範囲を指定します。管理有効範囲は、条件の登録方法および 選択文字列の評価方法を決定します。有効範囲は現在の構成と異なっていてもかまいませんが、 適切な有効範囲が選択されるまでモニターを開始することはできません。 有効な値は以下のとおりです。
l
Local 有効範囲を指定します。これがデフォルトです。 条件は、ローカル・ノード (条件が定義されているノード。-p フラグを参照してください) のみに適用されます。選択文字列を評価する際、ローカル・ノードのみが使用されます。
m
管理ドメイン 有効範囲を指定します。条件は、条件が定義されている ノードが属している管理ドメインに適用されます (-p フラグを参照してください)。管理ドメインのすべてのノードが、選択文字列の評価に使用されます。管理ドメイン有効範囲を使用するには、条件が定義されているノードが管理サーバーでなければなりません。
p
ピア・ドメイン 有効範囲を指定します。条件は、条件が定義されている ノードが属しているピア・ドメインに適用されます (-p フラグを参照してください)。ピア・ドメイン内のすべてのノードが、 選択文字列の評価に使用されます。
-n node_name1[,node_name2…]
この条件がモニターされるノード用のホスト名 (または複数のノードの場合はコンマで区切られたホスト名のリスト) を指定します。ノード・グループ名を指定することもできます。ノード・グループ名はノード名のリストに展開されます。

-n フラグを使用する場合は、 m または p の値と共に -m フラグを指定する必要があります。 このようにして、ドメイン全体ではなく、特定ノードの条件をモニターできます。

ホスト名は現在の構成でオンラインである必要はありませんが、この条件がいったんモニターされた後は、ノードが存在していない場合はこの条件はエラーになります。ノードが有効になるまで、条件はエラーのままです。

-p node_name
条件が定義されているノードの名前を指定します。これは、クラスター環境で使用され、 ノード名は、そのノードがドメイン内で認識されている名前です。 デフォルトの node_name は、コマンドが実行されるローカル・ノードです。 node_name は、CT_MANAGEMENT_SCOPE 環境変数によって決定される有効範囲内のノードです。

管理サーバーで mkcondition を使用していて、その管理サーバーで条件を定義する場合は、-p フラグは指定しないでください

--qnotoggle
イベント式とリアーム式との間のモニターの切り替えは行われませんが、その代わりにイベント式が常に評価されることを指定します。
--qtoggle
イベント式とリアーム式との間のモニターの切り替えが行われることを指定します。
-r resource_class
この条件によってモニターされるリソース・クラスを指定します。lsrsrcdef コマンドを使用して、リソース・クラス名を表示することができます。
-s "selection_string"
すべての resource_class 属性 に適用され、event_expression によってモニターされるリソースを決定する選択文字列を指定します。 デフォルトでは、resource_class 内のすべてのリソースがモニターされます。選択文字列を評価するのに使用されるリソースは、管理有効範囲 (-m フラグ) で判別されます。選択文字列は、二重引用符か単一引用符で囲む必要があります。 選択文字列を指定する方法については、「RSCT: Administration Guide」を参照してください。
-S c │ w │ i
イベントの重大度を指定します。
c
クリティカル
w
警告
i
情報 (デフォルト)
-h
コマンドの使用方法の文を標準出力に書き込みます。
-T
コマンドのトレース・メッセージを標準エラーに書き込みます。これは、ソフトウェア保守部門専用の機能です。
-V
コマンドの詳細メッセージを標準出力に書き込みます。

パラメーター

condition
condition 名は、条件を識別する文字列です。 名前にスペースが含まれる場合は、引用符で囲む必要があります。 名前は、すべてスペースで構成したり、NULL であったり、組み込まれた二重引用符を含んだりすることはできません。

セキュリティー

mkcondition を実行するには、IBM.Condition リソース・クラスの書き込み許可が必要です。 許可は、接続先システム上のアクセス制御リスト (ACL) ファイルで指定されます。 ACL ファイルおよびその変更方法について詳しくは、「RSCT: Administration Guide」を参照してください。

終了状況

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
イベント応答リソース・マネージャー (ERRM) のリソースの処理において、RMC デーモンとのセッションに使用される管理有効範囲を決定します。管理有効範囲は、そのリソースを処理可能な候補となり得るターゲット・ノードのセットを決定します。有効な値は以下のとおりです。
0
Local 有効範囲を指定します。
1
Local 有効範囲を指定します。
2
ピア・ドメイン 有効範囲を指定します。
3
管理ドメイン 有効範囲を指定します。

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

実装上の固有な条件

このコマンドは、AIX® 用の 高信頼性スケーラブル・クラスター・テクノロジー (RSCT) (Reliable Scalable Cluster Technology (RSCT)) ファイルセットに含まれます。

標準出力

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

標準エラー

すべてのトレース・メッセージは、標準エラーに書き込まれます。

以下の例は、スタンドアロン・システムに適用されます。
  1. 使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときに リアームする、「FileSystem space used」という名前の条件を定義するには、次のように入力します。
    mkcondition -r IBM.FileSystem  ¥
    -e "PercentTotUsed > 90" -E "PercentTotUsed < 85" ¥
    "FileSystem space used"
    
  2. /tmp の使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときにリアームする、「tmp space used」という名前の条件 (コメントを含む) を定義するには、次のように入力します。
    mkcondition -r IBM.FileSystem  ¥
    -e "PercentTotUsed > 90" -E "PercentTotUsed < 85" ¥
    -d "Generate event when tmp > 90% full"  ¥
    -D "Restart monitoring tmp again after back down < 85% full"¥
    -s 'Name=="/tmp"'  "tmp space used"
  3. 「FileSystem space used」のコピーとして「Space used」という名前の条件を定義するには、次のように入力します。
    mkcondition -c "FileSystem space used"  "Space used"
  4. 「tmp space used」のコピーとして「var space used」という名前の条件を定義し、選択を /var に変更するには、次のように入力します。
    mkcondition -c "tmp space used" -s 'Name=="/var"' ¥    
    "var space used"
  5. 「vmstat is running」という名前の条件を定義して、ユーザー joe が 64 ビット環境で vmstat プログラムを実行時にモニタ ーするには、次のように入力します。
    mkcondition -r "IBM.Program" ¥
    -e "Processes.CurPidCount > 0" -E "Processes.CurPidCount  <= 0"  ¥
    -d "Generate event when user starts vmstat" ¥
    -D "Restart monitoring when vmstat is terminated" ¥
    -s ProgramName == ¥"vmstat64¥" && Filter==¥"ruser==¥¥¥"joe¥¥¥"¥"" ¥
    -S "i" -m "l" "vmstat is running"
  6. 「myscript terminated」という名前の条件を定義して、あるスクリプト終 了時にモニターするには、次のように入力します。
    mkcondition -r "IBM.Program" ¥
    -e "Processes.CurPidCount <= 0" -E "Processes.CurPidCount  > 0"  ¥
    -d "Generate event when myscript is down" ¥
    -D "Rearm the event when myscript is running" ¥
    -s ProgramName == ¥"ksh¥" && Filter == 'args[1]==¥"/home/joe/myscript¥"'" ¥ 
    -m "l" "myscript terminated"
    この例では、args は、main に渡された引数文字列のアレイを表します。 これはアレイであるため、args[1] はプログラム名の後ろにある最初の引 数を意味します。 ProgramName を決定するには、ps -el コマンドを使用します。 詳細については、lsrsrcdef コマンドを参照してください。
  7. 60 秒の間隔の後に DBInit という名前のセンサーから由来する時点で最大 20 イベントを一緒にバッチ処理するには、次のように入力します。
    mkcondition -r "IBM.Sensor" ¥
    -e "Int32 < 0" -E "Int32 > 0"  -b 60,20 ¥
    -s "Name == ¥"DBInit¥""  "DBInit Sensor"
  8. 最近の 10 回の観察のうち少なくとも 7 回について /tmp の使用済みスペース率が 90% を超えるかどうか調べるために「tmp space used」という名前の条件を、コメントを含めて定義するには、次のように入力します。
    mkcondition -r IBM.FileSystem  ¥
    -e "PercentTotUsed > 90 __QUAL_COUNT(7,10)" ¥
    -d "Generate event when tmp > 90% full for 7 out of 10 last
    ¥observations" ¥ -s 'Name=="/tmp"' "tmp space used"
  9. アダプターの状況が 1 分以内に 4 回変化したかどうか調べるために「adapter stability」という名前の条件を、コメントを含めて定義するには、次のように入力します。
    mkcondition -r IBM.NetworkInterface ¥
    -e "OpState != OpState@P __QUAL_RATE(4,60)" ¥
    -d "Generate event when OpState is changed 4 times within 1 minute" ¥
    "adapter stability"
  10. /tmp により使用済みのスペース率が 90% を超えることを調べるために「tmp space used」と呼ばれるバッチ・イベントの条件を、バッチ間隔 5 およびバッチ・イベント・ファイル保存期間 72 時間で定義するには、次のように入力します。
    mkcondition -r IBM.FileSystem -e "PercentTotUsed > 90" -b 5,,72 "tmp space used"
  11. /tmp により使用済みのスペース率が 90% を超えることを調べるために「tmp space used」と呼ばれる条件を、エラーの場合のみ監査ロギングを使用可能にするよう定義するには、次のように入力します。
    mkcondition -r IBM.FileSystem -e "PercentTotUsed > 90" -g 1 "tmp space used"
次に示す例は、管理ドメインに適用されます。
  1. 使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときに リアームし、ドメイン内のすべてのノードをモニターする「FileSystem space used」という名前の条件 を定義するには、次のコマンドを管理サーバーで実行します。
     mkcondition -r IBM.FileSystem  -e "PercentTotUsed > 90" ¥
    -E "PercentTotUsed < 85" -m d "FileSystem space used"
  2. 使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときに リアームし、ドメイン内のノード nodeAnodeB をモニターする「FileSystem space used」という名前の条件 を定義するには、次のコマンドを管理サーバーで実行します。
    mkcondition -r IBM.FileSystem  -e "PercentTotUsed > 90" ¥
    -E "PercentTotUsed < 85" -n nodeA,nodeB -m p ¥
    "FileSystem space used"
  3. 使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときに リアームし、Local 有効範囲に適用する条件をモニターする「nodeB FileSystem space used」という 名前の条件を nodeB に定義するには、次のコマンドを管理サーバーで実行します。
    mkcondition -r IBM.FileSystem  -e "PercentTotUsed > 90" ¥
    -E "PercentTotUsed < 85" -m l -p nodeB ¥ 
    "nodeB FileSystem space used"
  4. 使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときに リアームし、ローカル・ノードをモニターする「local FileSystem space used」という名前の条件 を定義するには、次のコマンドを管理ノードで実行します。
    mkcondition -r IBM.FileSystem  -e "PercentTotUsed > 90" ¥
    -E "PercentTotUsed < 85" -m l "local FileSystem space used"
以降の例は、ピア・ドメインに適用されます。
  1. 使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときに リアームし、ドメイン内のすべてのノードをモニターする「FileSystem space used」という名前の条件 を nodeA に定義するには、次のコマンドを実行します。
    mkcondition -r IBM.FileSystem  -e "PercentTotUsed > 90" ¥
    -E "PercentTotUsed < 85" -m p -p nodeA "FileSystem space used"
  2. 使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときに リアームし、ドメイン内のノード nodeAnodeB をモニターする「FileSystem space used」という名前の条件を nodeC に定義するには、次のコマンドを実行します。
    mkcondition -r IBM.FileSystem  -e "PercentTotUsed > 90" ¥
    -E "PercentTotUsed < 85" -n nodeA,nodeB -m p -p nodeC ¥ 
    "FileSystem space used"
  3. 使用済みスペースが 90% を超えるかどうかを調べて、85% を下回るパーセンテージに戻ったときに リアームし、ローカル・ノードのみをモニターする「local FileSystem space used」という名前の条件 を nodeB に定義するには、次のコマンドを実行します。
    mkcondition -r IBM.FileSystem  -e "PercentTotUsed > 90" ¥
    -E "PercentTotUsed < 85" -m l -p nodeB "local FileSystem space used"

場所

/opt/rsct/bin/mkcondition