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

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

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

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

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

手順を次に示します。

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

    jpcalarm 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=

    テンプレートファイルの,すべての行の先頭に「#」が記述されています。これは,コメント行であることを示しています。
    jpcalarm 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の種類,データモデルのバージョン,アラームテーブル名,およびアラーム名を定義する。
    個々のアラームを定義します。アラームの定義は,[Alarm Data]セクションに定義します。一つのアラーム定義に対して一つの[Alarm Data]セクションを作成します。
    [Alarm Data]セクションは複数のサブセクションから構成されています。
    次の各項目を定義するのは,Generalサブセクションです。
    • PFM - Agentの種類
    • データモデルのバージョン
    • アラームテーブル名
    • アラーム名
    これらの項目を定義しているのは次の個所です。

      :
    #[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 - Agentのプロダクト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. アラーム発生の条件を定義する。
    通常のアラームを定義する場合(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が指定されたものとして扱います。
    上記の設定例で定義をしなかった項目について,補足します。
    • Reportラベル
      アラームイベント発生時に表示するレポート名を定義します。
      フォルダ階層の絶対パス(Reports/から始まる形式)を0~1024バイトで定義します。
      この項目は省略できます。
    • SNMPラベル
      アラームがどのような状態のときにSNMP トラップの通知をするかを定義します。
      ・ 異常状態のときに通知する場合:Abnormal
      ・ 警告状態のときに通知する場合:Warning
      ・ 正常状態のときに通知する場合:Normal
      アクションを実行するアラームの状態が複数ある場合は,「,」(半角コンマ)でつないで指定します。
      この項目は省略できます。
  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進数で定義します。
      この項目は省略できません。
    • Messageラベル
      JP1イベントの発行時に送信するメッセージを0~128バイトで定義します。
      ラベルの値に半角空白文字を含む場合は,"(ダブルクォーテーション)で囲む必要があります。
      この項目が省略された場合,空文字列が設定されたものとして扱います。
    • Switch Alarm Levelラベル
      アラームレベルを重大度に変換するかどうかを定義します。
      ・ アラームレベルを重大度に変換する場合:Y
      ・ アラームレベルを重大度に変換しない場合:N
      この項目が省略された場合,Yが指定されたものとして扱います。
    • Action Handlerラベル
      JP1イベントの発行元となるAction HandlerサービスのサービスIDを定義します。
      この項目は省略できません。
    上記の設定例で定義をしなかった項目について,補足します。
    • Exec Logical Hostラベル
      JP1イベントを登録するイベントサーバ名を0~255バイトの半角文字で定義します。イベントサーバが論理ホスト起動している場合に定義し,イベントサーバ名としてその論理ホスト名を設定します。
      この項目は省略できます。
  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ファイルを保存する。

上記の設定例で指定をしなかった項目について,補足します。

Advanced Settingサブセクション
アラームの拡張情報(アラームの種別や監視時刻など)を定義します。
このサブセクションは省略できます。このサブセクションでは,次の項目を設定します。
このサブセクションで設定できる項目についての詳細は,マニュアル「JP1/Performance Management リファレンス」の,[アラーム階層]画面について説明している節を参照してください。
  • Active Alarmラベル
    アラームの状態を設定します。
    ・ アラームを有効とする場合:Y
    ・ アラームを無効とする場合:N
    この項目が省略された場合,Yが指定されたものとして扱います。
  • Regular Alarmラベル
    アラームの設定「常にアラーム通知する」を有効にするかを設定します。
    ・ 「常にアラーム通知する」を有効にする場合:Y
     この場合,Actionsサブセクションの,E-mail,Command,SNMPの各ラベルでNormalを指定することはできません。
    ・ 「常にアラーム通知する」を無効にする場合:N
    この項目が省略された場合,Nが指定されたものとして扱います。
  • Evaluate All Dataラベル
    アラームの設定「全てのデータを評価する」を有効にするかを設定します。
    ・ 「全てのデータを評価する」を有効にする場合:Y
    ・ 「全てのデータを評価する」を無効にする場合:N
    この項目が省略された場合,Nが指定されたものとして扱います。
  • Monitoring Regularlyラベル
    アラームの設定で「常に監視する」を有効にするかを設定します。
    ・ 「常に監視する」を有効にする場合:Y
    ・ 「常に監視する」を無効にする場合:N
    この項目が省略された場合,Yが指定されたものとして扱います。
  • Monitoring Timeラベル
    アラームの設定で「常に監視する」が無効な場合に監視時刻の範囲を定義します。HH:MM-HH:MMの形式で,開始時刻と終了時刻を定義します。
    HHには開始/終了時刻の時を00~23,MMには開始/終了時刻の分を00~59の間で指定します。指定する時刻はローカルタイムです。
    Monitoring Regularly=Nの場合,省略することはできません。
  • Dampingラベル
    アラームの設定「発生頻度を満たした時にアラーム通知する」を有効にするかを設定します。
    ・ 「発生頻度を満たした時にアラーム通知する」を有効にする場合:Y
    ・ 「発生頻度を満たした時にアラーム通知する」を無効にする場合:N
    この項目が省略された場合,Nが指定されたものとして扱います。
  • Damping Countラベル
    アラームの設定で「発生頻度を満たした時にアラーム通知する」が有効の場合に,しきい値超過回数と計測するインターバルを設定します。
    <しきい値超過回数>と<インターバル値>を"/"(半角スラッシュ)でつないで,それぞれ1~32767の整数で定義します。<インターバル値>が<しきい値超過回数>より小さい場合,<インターバル値>を<しきい値超過回数>と同じ値として扱います。Damping=Yの場合,省略することはできません。
Check Value Existサブセクション
値の存在を監視するアラームを定義する場合(Check Value Exist=Yを指定した場合),アラーム発生の条件を定義します。
アラーム発生の条件は,Check Value Existサブセクションで定義します。
値の存在を監視するアラームを定義する場合,このサブセクションを省略することはできません。
このサブセクションでは,次の項目を設定します。
  • Recordラベル
    監視する対象のレコードを定義します。
    この項目は省略できません。
  • Fieldラベル
    監視する対象の判定に使用するレコードのフィールド名をPFM - Manager名で定義します。
    この項目は省略できません。
  • Valueラベル
    存在を監視する値を定義します。フィールドのデータ型に合わせ整数値,小数値または1~127バイトの文字列で定義します。
    この項目は省略できません。
Action Definition Commandサブセクション
コマンド実行に関連する定義をします。
アクションでコマンド実行をする定義をしている場合,このサブセクションを省略することはできません。
このサブセクションでは,次の項目を設定します。
  • Command Nameラベル
    アクションで実行するコマンド(スクリプト)名を1~511バイトの半角文字で定義します。
    次のディレクトリにあるコマンド(スクリプト)以外は,フルパスまたはサービスのカレントディレクトリ相対パスで指定してください。
    ・ Action Handlerサービスのインストール先ディレクトリ
    ・ 環境変数のPATH変数に設定されているパス
    この項目は省略できません。
  • Action Handlerラベル
    コマンドを実行するAction HandlerサービスのサービスIDを定義します。ローカルアクションを指定する場合は「LOCAL」と指定します。
    この項目は省略できません。
  • Message Textサブサブセクション
    実行するコマンドに渡すパラメーターを0~2047バイトで定義します。次のセクションまたはサブセクションの始まる行,またはファイルの終端の直前までの文字列を改行を含めすべて有効な文字列として認識します。ただし,サブサブセクション内にコメントがある場合,コメント部分は除外されます。また,最終行にある改行文字は除外されます。
    この項目が省略された場合,空文字列が設定されたものとして扱います。