6.7.1 アラーム定義ファイルを作成する

<この項の構成>
(1) アラーム定義ファイルのテンプレートファイルを出力する
(2) アラーム定義ファイルを作成する

(1) アラーム定義ファイルのテンプレートファイルを出力する

アラーム定義ファイルを作成する前に,まず,アラーム定義ファイルに定義するラベルがすべて入力されている,テンプレートファイルを出力します。

ここでは,「/tmp/alarmtmp01.cfg」というファイル名でテンプレートファイルを出力します。

手順を次に示します。

  1. テンプレートファイルを出力する。
    テンプレートファイルを出力するには,jpctool alarm exportコマンドを使用します。次のように,-templateオプションを指定してコマンドを実行します。

    jpctool alarm export -f /tmp/alarmtmp01.cfg -template

    出力結果は次のようになります。

    #Alarm Definition File Version=0001
    #Alarm Definition File Code=

    #[Alarm Data]
    #[[General]]
    #Product=
    #Alarm Table Name=
    #Alarm Name=
    #Message Text=
    #Check Value Exist=N

    #[[Advanced Setting]]
    #Active Alarm=Y
    #Regularly Alarm=Y
    #Evaluate All Data=N
    #Monitoring Regularly=N
    #Monitoring Time=
    #Damping=N
    #Damping Count=

    #[[Check Value Exist]]
    #Record=
    #Field=
    #Value=

    #[[Alarm Condition Expressions]]
    #Condition=

    #[[Actions]]
    #Report=
    #E-mail=Abnormal,Warning,Normal
    #Command=Abnormal,Warning,Normal
    #SNMP=Abnormal,Warning,Normal
    #JP1 Event=N

    #[[Action Definition E-mail]]
    #E-mail Address=
    #Action Handler=

    #[[[Message Text]]]
    #Date: %SCT
    #Host: %HNS
    #
    #Product: %PTS
    #Agent: %ANS
    #
    #Alarm: %AIS (%ATS)
    #State: %SCS
    #
    #Message: %MTS

    #[[Action Definition Command]]
    #Command Name=
    #Action Handler=

    #[[[Message Text]]]
    #
    #[[Action Definition JP1 Event]]
    #Event ID=
    #Message=%MTS
    #Switch Alarm Level=Y
    #Action Handler=
    #Exec Logical Host=

    テンプレートファイルの,すべての行の先頭に「#」が記述されています。これは,コメント行であることを示しています。
    jpctool alarm exportコマンドの詳細については,マニュアル「JP1/Performance Management リファレンス」の,コマンドについて説明している章を参照してください。

(2) アラーム定義ファイルを作成する

出力したテンプレートファイル「/tmp/alarmtmp01.cfg」を編集して,アラーム定義ファイルを作成します。

手順を次に示します。

  1. テキストエディターなどで,/tmp/alarmtmp01.cfgファイルを開く。
  2. アラーム定義ファイルのヘッダー部分を定義する。
    ヘッダー部分を定義します。ヘッダー部分では,アラーム定義ファイルの構文のバージョン,およびアラーム定義ファイルを作成する文字コードを定義します。これらを定義しているのは次の個所です。

    #Alarm Definition File Version=0001
    #Alarm Definition File Code=
      :

    この部分の行頭の「#」を削除して,次のように書き換えます。

    Alarm Definition File Version=0001
    Alarm Definition File Code=Shift_JIS
      :

    • Alarm Definition File Versionラベル
      アラーム定義ファイルの構文のバージョン。
      PFM - Manager 08-00以降の場合,「0001」固定のため,テンプレートファイルにデフォルトで入力されています。
      この項目は省略できません。
    • Alarm Definition File Codeラベル
      アラーム定義ファイルを作成する文字コード。「Shift_JIS」「EUC-JP」「C」「UTF-8」のどれかを指定します。
      この例では「Shift_JIS」を設定しています。
      この項目は省略できません。
  3. PFM - AgentまたはPFM - RMの種類,データモデルのバージョン,アラームテーブル名,およびアラーム名を定義する。
    個々のアラームを定義します。アラームの定義は,[Alarm Data]セクションに定義します。一つのアラーム定義に対して一つの[Alarm Data]セクションを作成します。
    [Alarm Data]セクションは複数のサブセクションから構成されています。
    次の各項目を定義するのは,Generalサブセクションです。
    • PFM - AgentまたはPFM - RMの種類
    • データモデルのバージョン
    • アラームテーブル名
    • アラーム名
    これらの項目を定義しているのは次の個所です。

      :
    #[Alarm Data]
    #[[General]]
    #Product=
    #Alarm Table Name=
    #Alarm Name=
    #Message Text=
    #Check Value Exist=N

    ここでは,ディスク/dev/hda3の空き容量を監視するアラーム「空き容量(hda3)」を定義します。
    行頭の「#」を削除して,次のように書き換えます。

    [Alarm Data]
    [[General]]
    Product=U4.0
    Alarm Table Name=ディスク監視
    Alarm Name=空き容量(hda3)
    Message Text=空き容量(%CVS%)
    Check Value Exist=N
      :

    Alarm Table Name,Alarm Name,Message Textの指定内容に半角空白文字を含む場合は,"(ダブルクォーテーション)で囲む必要があります。
    Alarm Table Nameラベルには,「PFM」で始まるアラームテーブル名を指定することはできません。
    • Productラベル
      PFM - AgentまたはPFM - RMの種類およびデータモデルのバージョンを定義します。このラベルには,PFM - AgentまたはPFM - RMのプロダクトIDとデータモデルのバージョンを続けて定義します。
      この項目は省略できません。
    • Alarm Table Nameラベル
      アラームテーブル名を1~64バイトで定義します。
      この項目は省略できません。
    • Alarm Nameラベル
      アラーム名を1~20バイトで定義します。
      この項目は省略できません。
    • Message Textラベル
      EメールやJP1イベントで送信するメッセージテキストの定義で使用する変数「%MTS」の内容を0~255バイトで定義します。
      この項目が省略された場合,空文字列が設定されたものとして扱います。
    • Check Value Existラベル
      「値の存在を監視するアラーム」とするかどうかを定義します。
      ・ 値の存在を監視するアラームを定義する場合:Y
       この場合,Check Value Existサブセクションで監視するレコードと値の定義が必要です。
       また,Actionsサブセクションの,E-mail,Command,SNMPの各ラベルでWarningを指定することはできません。
      ・ 通常のアラームを定義する場合:N
       この場合,Alarm Condition Expressionsサブセクションでアラーム条件式の定義が必要です。
      この項目が省略された場合,Nが指定されたものとして扱います。
  4. アラーム発生の条件を定義する。
    アラーム条件式に"<","<=",">=",または">"を含む場合,アラームの評価は最初に警告条件を満たすかどうかを判定します。
    満たさない場合はその時点でアラームの評価を終了します。
    警告条件を満たす場合,次に異常条件を満たすかどうかを判定します。異常条件を満たさない場合は警告のアラームを通知し,満たす場合は異常のアラームを通知します。
    このためアラーム条件式に"<","<=",">=",または">"を含むアラームを作成する場合,異常条件が警告条件よりシステムとして異常な範囲となる(異常条件が警告条件を包含する)ように指定してください。
    指定例を次に示します。
    (例1)
    CPU%(CPU使用率)の値が0より大きく100より小さい場合
    (値が大きい方がシステムとして異常な値)
    正しく評価されるアラーム条件式:
     異常>90
     警告>80
    正しく評価されないアラーム条件式:
     異常>50
     警告>80
    参考:異常の場合だけアラームを発生させたいときは,次のように異常と警告の条件を同じにしてください。
     異常>90
     警告>90
    (例2)
    % Free Space(Diskの空き率)の値が0より大きく100より小さい場合
    (値が小さい方がシステムとして異常な値)
    正しく評価されるアラーム条件式:
     異常<10
     警告<30
    正しく評価されないアラーム条件式:
     異常<60
     警告<30
    参考:異常の場合だけアラームを発生させたいときは,次のように異常と警告の条件を同じにしてください。
     異常<10
     警告<10
    注意
    アラームの異常は,警告条件を満たした場合だけ評価されます。
    異常条件は,警告条件を満たすように設定する必要があります。
    通常のアラームを定義する場合(GeneralサブセクションでCheck Value Exist=Nを指定した場合),アラーム発生の条件を条件式で定義します。
    アラーム発生の条件は,Alarm Condition Expressionsサブセクションで定義します。
    通常のアラームを定義する場合,このサブセクションを省略することはできません。
    アラーム発生の条件を定義しているのは次の個所です。

      :
    #[[Alarm Condition Expressions]]
    #Condition=
      :

    Conditionラベルに,監視するレコード名およびフィールド名を使用したアラーム発生の条件式を記述します。
    この例では,ディスク名と空き容量の二つの項目を監視するので,条件式を二つ定義します。
    • 監視する対象のディスク名を判定する条件式
      ディスク名は,File System Detail - Local(PD_FSL)レコードのFile System(FILESYSTEM_NAME)フィールドに格納されます。このフィールドの値を判定条件とします。
      PD_FSL_FILESYSTEM_NAME="/dev/hda3","/dev/hda3"
      条件式の左辺には,判定に使用するレコードのフィールド名をPFM - Manager名で指定します。
      条件式の右辺には,異常の判定条件と警告の判定条件を「,」(半角コンマ)でつないで指定します。
      この例の場合,異常の場合も警告の場合も同じディスクを監視するため,同じ値を定義しています。
    • 空き容量の割合を判定する条件式
      空き容量の割合は,File System Detail - Local(PD_FSL)レコードのMbytes Free %(TOTAL_MBYTES_FREE_PERCENT)フィールドに格納されます。このフィールドの値を判定条件とします。
      PD_FSL_TOTAL_MBYTES_FREE_PERCENT<10,20
      この例の場合,空き容量の割合が10%より少なくなったら異常,20%より少なくなったら警告と判定することを定義しています。
    該当する行の,行頭の「#」を削除し,これら二つの条件式をANDでつないでアラーム定義ファイルに記述します。

      :
    [[Alarm Condition Expressions]]
    Condition=PD_FSL_FILESYSTEM_NAME="/dev/hda3","/dev/hda3" AND PD_FSL_TOTAL_MBYTES_FREE_PERCENT<10,20
      :

    条件式の右辺(異常値・警告値)に文字列を指定する場合,"(ダブルクォーテーション)で囲む必要があります。
    条件式の右辺に「#」を使用したい場合は,「¥#」と指定することで使用できます。
    条件式の右辺には ( ) [ ] < > = " は指定できません。これらの文字を指定したい場合は,ワイルドカード文字「*」を用いて条件式を指定してください。また,条件式の右辺で指定したワイルドカード文字の直前に「¥」を使用したい場合は,「¥¥」と指定してください。
  5. アラーム発生時のアクションを定義する。
    アラーム発生時のアクションは,Actionsサブセクションで定義します。アラーム発生時のアクションを定義しているのは次の個所です。

      :
    #[[Actions]]
    #Report=
    #E-mail=Abnormal,Warning,Normal
    #Command=Abnormal,Warning,Normal
    #SNMP=Abnormal,Warning,Normal
    #JP1 Event=N
      :

    アラームが異常状態のときにEメールを送信し,アラームが異常状態および警告状態のときにJP1イベントを発行する場合,次のように記述します。

      :
    [[Actions]]
    #Report=
    E-mail=Abnormal
    Command=Abnormal,Warning
    #SNMP=Abnormal,Warning,Normal
    JP1 Event=Y
      :

    • E-mailラベル
      アラームがどのような状態のときにEメールを送信するかを定義します。
      ・ 異常状態のときにEメールを送信する場合:Abnormal
      ・ 警告状態のときにEメールを送信する場合:Warning
      ・ 正常状態のときにEメールを送信する場合:Normal
      アクションを実行するアラームの状態が複数ある場合は,「,」(半角コンマ)でつないで指定します。
      ここでアラームの状態を定義した場合,Action Definition E-mailサブセクションにEメール送信内容の定義が必要です。
      この項目は省略できます。
    • Commandラベル
      アクションとしてJP1イベントを発行する場合,またはコマンドを実行する場合,アラームがどのような状態のときにアクションを実行するかを定義します。
      ・ 異常状態のときに実行する場合:Abnormal
      ・ 警告状態のときに実行する場合:Warning
      ・ 正常状態のときに実行する場合:Normal
      アクションを実行するアラームの状態が複数ある場合は,「,」(半角コンマ)でつないで指定します。
      この項目は省略できます。
    • JP1 Eventラベル
      Commandラベルで定義したアラームの状態で実行するアクションとして,JP1イベントを発行するか,コマンドを実行するかを定義します。
      ・ JP1イベントを発行する場合:Y
       この場合,Action Definition JP1 EventサブセクションにJP1イベント通知内容の定義が必要です。
      ・ コマンドを実行する場合:N
       この場合,Action Definition Commandサブセクションにコマンド実行内容の定義が必要です。
      この項目が省略された場合,Nが指定されたものとして扱います。
  6. Eメールの送信先およびメッセージテキストの内容を定義する。
    Eメールの送信先およびEメールで送信するメッセージテキストの内容を定義します。
    Eメールの送信先およびメッセージテキストの内容は,Action Definition E-mailサブセクションで定義します。
    アクションでEメールを送信する定義をしている場合,このサブセクションを省略することはできません。
    Eメールの送信先およびメッセージテキストの内容を定義しているのは次の個所です。

      :
    #[[Action Definition E-mail]]
    #E-mail Address=
    #Action Handler=

    #[[[Message Text]]]
    #Date: %SCT
    #Host: %HNS
    #
    #Product: %PTS
    #Agent: %ANS
    #
    #Alarm: %AIS (%ATS)
    #State: %SCS
    #
    #Message: %MTS
      :

    Eメールの送信先を「taro@aaa.co.jp」,メッセージテキストの内容を変数で指定した例を示します。該当する行の行頭の「#」を削除し,次のように記述します。

      :
    [[Action Definition E-mail]]
    E-mail Address=taro@aaa.co.jp
    Action Handler=PH1host01
      :
    [[[Message Text]]]
    Date: %SCT
    Host: %HNS

    Product: %PTS
    Agent: %ANS

    Alarm: %AIS (%ATS)
    State: %SCS

    Message: %MTS
      :

    • E-mail Addressラベル
      Eメールの送信先を1~127バイトの半角文字で定義します。送信先が複数ある場合は,「,」(半角コンマ)でつないで指定します。
      この項目は省略できません。
    • Action Handlerラベル
      Eメール送信元となるAction HandlerサービスのサービスIDを定義します。
      この項目は省略できません。
    • Message Textサブサブセクション
      メッセージテキストの内容を0~1000バイトで定義します。
      次のセクションまたはサブセクションの始まる行,またはファイルの終端の直前までの文字列を改行を含めすべて有効な文字列として認識します。ただし,サブサブセクション内にコメントがある場合,コメント部分は除外されます。また,最終行にある改行文字は除外されます。
      この項目が省略された場合,空文字列が設定されたものとして扱います。
      上の例で変数を使用して定義している送信内容は,次のとおりです。
      ・ アラームが発生した日付と時刻
      ・ アラームが発生したエージェントのホスト名
      ・ エージェントの種類とデータモデルのバージョン
      ・ アラームが発生したエージェント名
      ・ アラーム名
      ・ アラームテーブル名
      ・ アラームの状態
      ・ 空き容量(GeneralサブセクションのMessage Textラベルで定義した値)
    Message Textサブセクションの定義内容に使用している変数とその意味については,マニュアル「JP1/Performance Management リファレンス」の,PFM - Web Consoleの[アラーム階層]画面について説明している章を参照してください。
  7. JP1イベント発行に関連する定義をする。
    JP1イベント発行に関連する定義は,Action Definition JP1 Eventサブセクションで定義します。
    アクションでJP1イベントを発行する定義をしている場合,このサブセクションを省略することはできません。
    JP1イベント発行に関連する定義をしているのは次の個所です。

      :
    #[[Action Definition JP1 Event]]
    #Event ID=
    #Message=%MTS
    #Switch Alarm Level=Y
    #Action Handler=
    #Exec Logical Host=
      :

    該当する行の行頭の「#」を削除して,次のように書き換えます。

      :
    [[Action Definition JP1 Event]]
    Event ID=1234
    Message=%MTS
    Switch Alarm Level=Y
    Action Handler=PH1host01
    #Exec Logical Host=
      :

    • Event IDラベル
      JP1イベントのイベントIDを16進数で定義します。JP1システムイベントの場合,この項目で設定した情報はJP1イベントの拡張属性の識別イベントID(JPC_USER_EVENTID)として出力されます。JP1ユーザーイベントの場合,この項目で設定した情報はJP1イベントの基本属性のイベントIDとして出力されます。JP1イベントの種類については,「10.2 JP1/IMと連携するための検討」を参照してください。
      この項目は省略できません。
    • Messageラベル
      JP1イベントの発行時に送信するメッセージを0~1,023バイトで定義します。09-00以前のAction HandlerサービスでJP1イベントを発行する場合は,0~128バイトで定義します。
      ラベルの値に半角空白文字を含む場合は,"(ダブルクォーテーション)で囲む必要があります。
      この項目が省略された場合,空文字列が設定されたものとして扱います。
    • Switch Alarm Levelラベル
      アラームレベルを重大度に変換するかどうかを定義します。
      ・ アラームレベルを重大度に変換する場合:Y
      ・ アラームレベルを重大度に変換しない場合:N
      この項目が省略された場合,Yが指定されたものとして扱います。
    • Action Handlerラベル
      JP1イベントの発行元となるAction HandlerサービスのサービスIDを定義します。
      この項目は省略できません。
  8. 同様に,アラーム「空き容量(hda4)」を定義する。
    手順3~7に従って,ディスク/dev/hda4を監視するアラーム「空き容量(hda4)」を定義します。
    完成したアラーム定義ファイルは次のようになります。

    Alarm Definition File Version=0001
    Alarm Definition File Code=Shift_JIS

    [Alarm Data]
    [[General]]
    Product=U4.0
    Alarm Table Name=ディスク監視
    Alarm Name=空き容量(hda3)
    Message Text=空き容量(%CVS%)
    Check Value Exist=N

    #[[Advanced Setting]]
    #Active Alarm=Y
    #Regularly Alarm=Y
    #Evaluate All Data=N
    #Monitoring Regularly=N
    #Monitoring Time=
    #Damping=N
    #Damping Count=

    #[[Check Value Exist]]
    #Record=
    #Field=
    #Value=

    [[Alarm Condition Expressions]]
    Condition=PD_FSL_FILESYSTEM_NAME="/dev/hda3","/dev/hda3" AND PD_FSL_TOTAL_MBYTES_FREE_PERCENT<10,20

    [[Actions]]
    #Report=
    E-mail=Abnormal
    Command=Abnormal,Warning
    #SNMP=Abnormal,Warning,Normal
    JP1 Event=Y

    [[Action Definition E-mail]]
    E-mail Address=taro@aaa.co.jp
    Action Handler=PH1host01

    [[[Message Text]]]
    Date: %SCT
    Host: %HNS

    Product: %PTS
    Agent: %ANS

    Alarm: %AIS (%ATS)
    State: %SCS

    Message: %MTS

    #[[Action Definition Command]]
    #Command Name=
    #Action Handler=

    #[[[Message Text]]]
    #
    [[Action Definition JP1 Event]]
    Event ID=1234
    Message=%MTS
    Switch Alarm Level=Y
    Action Handler=PH1host01
    #Exec Logical Host=

    [Alarm Data]
    [[General]]
    Product=U4.0
    Alarm Table Name=ディスク監視
    Alarm Name=空き容量(hda4)
    Message Text=空き容量(%CVS%)
    Check Value Exist=N

    #[[Advanced Setting]]
    #Active Alarm=Y
    #Regularly Alarm=Y
    #Evaluate All Data=N
    #Monitoring Regularly=N
    #Monitoring Time=
    #Damping=N
    #Damping Count=

    #[[Check Value Exist]]
    #Record=
    #Field=
    #Value=

    [[Alarm Condition Expressions]]
    Condition=PD_FSL_FILESYSTEM_NAME="/dev/hda4","/dev/hda4" AND PD_FSL_TOTAL_MBYTES_FREE_PERCENT<10,20

    [[Actions]]
    #Report=
    E-mail=Abnormal
    Command=Abnormal,Warning
    #SNMP=Abnormal,Warning,Normal
    JP1 Event=Y

    [[Action Definition E-mail]]
    E-mail Address=taro@aaa.co.jp
    Action Handler=PH1host01

    [[[Message Text]]]
    Date: %SCT
    Host: %HNS

    Product: %PTS
    Agent: %ANS

    Alarm: %AIS (%ATS)
    State: %SCS

    Message: %MTS

    #[[Action Definition Command]]
    #Command Name=
    #Action Handler=

    #[[[Message Text]]]
    #
    [[Action Definition JP1 Event]]
    Event ID=1234
    Message=%MTS
    Switch Alarm Level=Y
    Action Handler=PH1host01
    #Exec Logical Host=

  9. 編集が終了したら,/tmp/alarmtmp01.cfgファイルを保存する。

上記の設定例で指定をしなかった項目については,「JP1/Performance Management リファレンス」の,jpctool alarm importコマンドについて説明している個所を参照してください。