Tuning Manager APIリファレンスガイド

[目次][索引][前へ][次へ]


A.2 アラート定義情報の作成手順

ここでは,アラート定義情報の作成手順を説明します。

アラート定義情報:

アラート定義情報を次に示します。なお,見やすくするために改行を入れています。

各変数に対する値域については,オブジェクトの説明の個所を参照してください。

{
  "alertDefName": "<アラート定義名>",
  "targets": [{
      "targetID": "<target ID>",
      "targetDef": {
             "type": "<装置の特定>",
             "key": {
                  "model": "<機種名>"
                       },
             "filters": [{
                  "filterConditions": [{
                        "fieldName": "<フィールド>",
                        "value": "<絞り込む値>"
                         }]
                      }]
               }
    }],
  "notices": [{
      "noticeID": "<notice ID>",
      "emailNotification": ["warning","caution","normal"],
      "emails": [{
            "addresses": [
                  "<emailの宛先>"
                        ],
            "subject": "<emailのタイトル>,
            "body": "<emailの本文>"
              }]
    }],
  "triggers": [{
      "triggerID": "<trigger ID>",
      "isActive": "<設定したアラート定義情報の有効/無効>",
      "monitorAlways": "<アラート機能の状態>",
      "monitoringTime": {
                "starttime": "<開始時間>",
                "endtime": "<終了時間>"
                        },
      "alertEveryTime": "<状態変化時の通知有無>",
      "evaluateAllData": "<全レコードの評価方法>",
      "evaluatePoR": "<値の存在を確認するかしないか>",
      "condition": {
                "targetOfPoR": "<存在を確認する値>",
                "warning": "<異常値の条件式>",
                "caution": "<警告値の条件式>"
                  },
      "frequency": {
                "count": "n/m"
                }
    }],
  "definitions": [{
      "targetIDs": [<targetIDのリスト>],
      "noticeIDs": [<noticeIDのリスト>],
      "triggerIDs": [<triggerIDのリスト>]
    }]
}
この節の構成
A.2.1 アラート定義情報を定義する前に確認すること
A.2.2 アラート定義情報を定義する際に使用できる文字について
A.2.3 アラート定義情報の定義例

A.2.1 アラート定義情報を定義する前に確認すること

アラート定義情報の定義を始める前に,定義に使用する情報および定義方法について,次の説明を読んで確認してください。

(1) アラート定義情報を適用する監視対象

アラート定義情報を適用する監視対象の定義(target型内のtargetDef型)で使用します。

ストレージシステムの場合:
  • 機種名
    HTM - Agent for RAIDのPDレコードまたはPD_PDXレコードのDKC_NAMEフィールドの値に相当します。アラート定義情報の「model」に指定する値です。
  • シリアル番号
    HTM - Agent for RAIDのPDレコードまたはPD_PDXレコードのDKC_SERIAL_NUMBERフィールドの値に相当します。アラート定義情報の「serial」に指定する値です。
    注※ ストレージシステムをより限定したい場合にだけ,必要です。

Hitachi Virtual File Platformの場合:
インスタンス作成時にdestination_address,またはdetour_addressで指定したIPアドレス。
アラート定義情報の「nasSystemIp」に指定する値です。

注※ 次のファイルサーバを総称して,「Hitachi Virtual File Platform」と呼びます。

外部NAS Managerで管理されるNAS Platformの場合:
インスタンス作成時にSMU/NAS Manager IP Addressで指定したIPアドレス。
アラート定義情報の「smuIp」に指定する値です。

内部NAS Managerで管理されるNAS Platformの場合:
  • NASモジュールを搭載したストレージシステムの機種名
    HTM - Agents情報の取得のAPIで取得したストレージシステムの機種名を指定します。
  • NASモジュールを搭載したストレージシステムのシリアル番号
    インスタンスの作成時に指定したNASモジュールを搭載したストレージシステムのシリアル番号を指定します。

(2) アラート定義情報を適用するリソースの絞り込み条件

アラート定義情報を適用するリソースを絞り込む定義(target型内のtargetDef型)で使用します。

なお,全インスタンスに対して適用する場合,確認は不要です。

絞り込み条件のリソース定義名の形式:
<レコードID>.<フィールド名(PFM - Manager名)>
(例)PI_PRCS.ADAPTOR_ID

絞り込み条件値で使用できる文字:
  • 半角英数字
  • 半角スペース
  • エスケープ文字
  • 特定の記号
注※
詳細については,「A.2.2 アラート定義情報を定義する際に使用できる文字について」を参照してください。

アラート定義情報を定義する際の定義方法

定義する際の注意点:
  • filters変数内でfilterCondition型を複数定義した場合,"OR"条件で結びつきます。
  • filterCondition型内で複数定義した場合,"AND"条件で結びつきます。

リソースの絞り込み条件の定義例:
(絞り込み条件:次のどちらかに該当するリソースであること)
  • PI_PRCSレコードの,Adaptor IDフィールドがA,かつ
    Processor IDフィールドが1のリソース
  • PI_PRCSレコードの,Adaptor IDフィールドがB,かつ
    Processor IDフィールドが2のリソース
"filters":[{
          "filterConditions": [{
                              "fieldName": "PI_PRCS.ADAPTOR_ID",
                              "value": "A"
                             },
                             {
                              "fieldName": "PI_PRCS.PROCESSOR_ID",
                              "value": "1"
                             }]
         },
         {
          "filterConditions": [{
                              "fieldName": "PI_PRCS.ADAPTOR_ID",
                              "value": "B"
                             },
                             {
                              "fieldName": "PI_PRCS.PROCESSOR_ID",
                              "value": "2"
                             }]
        }]

(3) アラート定義のアクション情報

アラートイベント発行時にemailを送信する場合のアクション情報の定義(notice型内のemail型)で使用します。

emailのタイトルとして使用できる文字:
  • 半角英数字
  • 特定の記号
注※
詳細については,「A.2.2 アラート定義情報を定義する際に使用できる文字について」を参照してください。
(例)Alert occurred in %INST%

emailの本文として使用できる文字:
  • 半角英数字
  • 半角スペース
  • エスケープ文字
  • 定義変数
  • 特定の記号
注※
詳細については,「A.2.2 アラート定義情報を定義する際に使用できる文字について」を参照してください。
(例)%STAT%:%VAL.PI.CACHE_WRITE_PENDING_RATE% = %PROD% %NAME% on %HOST%

次に,emailの例を示します。emailのタイトルおよびemailの本文の指定する際の参考にしてください。

図A-2 evaluateAllData変数にYを指定した場合のemailの例

[図]

図A-3 evaluateAllData変数にNを指定した場合のemailの例

[図]

(4) アラート定義の監視条件情報

存在を確認する値および条件式の定義(trigger型内のcondition型)で使用します。

監視する方法としては,値の存在を確認して監視する方法と,異常値および警告値の条件式によって監視する方法があります。なお,次で説明する形式で使用している"△"は,半角スペースを表します。

アラート定義の監視条件情報を定義する際の定義方法(値の存在を確認して監視する場合)

定義の形式:
%<レコードID>.<フィールド名(PFM - Manager名)>%△=△'<値>'

<値>に使用できる文字:
  • 半角英数字
  • 半角スペース
  • エスケープ文字
  • 特定の記号
注※
詳細については,「A.2.2 アラート定義情報を定義する際に使用できる文字について」を参照してください。
(例)%PI.CACHE_WRITE_PENDING_RATE% = '70'

アラート定義の監視条件情報を定義する際の定義方法(異常値および警告値の条件式によって監視する場合)

異常値の条件式,および警告値の条件式は,次のどれかの形式で定義します。

注意
異常値の条件式と警告値の条件式は,条件式の右辺以外は同じにしてください。

単一条件式として定義する場合の形式:
%<レコードID>.<フィールド名(PFM - Manager名)>%△<条件式の判定記号>△'<値>'
  • <条件式の判定記号>で指定できる値を次に示します。

    表A-1 <条件式の判定記号>で指定できる値

    条件式の判定記号 説明
    = %<レコードID>.<フィールド名(PFM - Manager名)>%の値と<値>の値が等しい。
    <> %<レコードID>.<フィールド名(PFM - Manager名)>%の値と<値>の値が異なる。
    > %<レコードID>.<フィールド名(PFM - Manager名)>%の値が<値>の値よりも大きい。
    >= %<レコードID>.<フィールド名(PFM - Manager名)>%の値が<値>の値よりも大きいか,または等しい。
    < %<レコードID>.<フィールド名(PFM - Manager名)>%の値が<値>の値よりも小さい。
    <= %<レコードID>.<フィールド名(PFM - Manager名)>%の値が<値>の値よりも小さいか,または等しい。
  • 絞り込み条件値で使用できる文字:
    ・半角英数字
    ・半角スペース
    ・エスケープ文字
    ・特定の記号
    注※
    詳細については,「A.2.2 アラート定義情報を定義する際に使用できる文字について」を参照してください。

(例)
「PIレコードのCACHE_WRITE_PENDING_RATEが70%を超えた」ときに,異常値だと知らせるときの定義例
"warning": "%PI.CACHE_WRITE_PENDING_RATE% > '70'"

複合条件式として定義する場合の形式:
単一条件式の定義を,and(またはAND),またはor(またはOR)で結びつけて定義します。
"<アラートイベントを発行する契機>": "<単一条件式の定義>△and△<単一条件式の定義>"
または
"<実行する契機>": "<単一条件式の定義>△or△<単一条件式の定義>"

(例)
PIレコードの,「CACHE_WRITE_PENDING_RATEが70%を超えた」とき,または「CACHE_MEMORY_USAGE_RATEが80%を超えた」ときに,異常値だと知らせるときの定義例
"warning": "%PI.CACHE_WRITE_PENDING_RATE% > '70' or %PI.CACHE_MEMORY_USAGE_RATE% > '80'"

数式的に順序付けて定義する場合の形式:
複合条件式を,"("")"で囲むことで,数式的に順序を付けた定義になります。

(例)
PIレコードの,「CACHE_WRITE_PENDING_RATEが40%を超えた」かつ「CACHE_SIDE_FILE_RATEが40%を超えた」とき,または「CACHE_MEMORY_USAGE_RATEが80%を超えた」ときに,異常値だと知らせるときの定義例
"warning": "(%PI.CACHE_WRITE_PENDING_RATE% > '40' and %PI.CACHE_SIDE_FILE_RATE% > '40') or %PI.CACHE_MEMORY_USAGE_RATE% > '80'"

A.2.2 アラート定義情報を定義する際に使用できる文字について

ここでは,アラート定義情報を定義する際に使用できる文字について,説明します。

(1) エスケープ文字

アラート定義情報を定義する場合に使用できる次の文字を「エスケープ文字」として,説明します。

表A-2 エスケープ文字一覧

エスケープ文字 説明
%0009 タブ
%000A ラインフィード
%000D 改行
%0022 ダブルクォーテーション(")
%0024 $
%0025 %
%0027 シングルクォーテーション(')
%005C バックスラッシュ

(2) 定義変数

アラート定義情報を定義する場合に使用できる次の変数を「定義変数」として,説明します。

表A-3 定義変数一覧

定義変数 説明
%NAME% アラート定義名
%INST% アラートイベントを発行したエージェントのインスタンス名
%VAL.<レコードID>.<フィールド名(PFM - Manager名)>% 条件式に設定したレコードの測定値
%HOST% アラートイベントを発行したエージェントのホスト名
なお,クラスタシステムで運用している場合は,論理ホスト名になります。
%PROD% プロダクト名
%STAT% メッセージ出力の対象となったアラート状態
%TIME% エージェントホストのシステム時刻
なお,通知時刻ではなく,異常が発生または通常に戻った時刻になります。

(3) 特定の記号

アラート定義情報を定義する場合に使用できる次の記号を「特定の記号」として示します。

! # & ( ) * - . / : ; < = > @ _ | 

A.2.3 アラート定義情報の定義例

次にアラート定義情報の定義例を示します。

{
  "alertDefName": "Cache Write Pending",
  "targets": [{
      "targetID": "0",
      "targetDef": {
             "type": "model",
             "key": {
                  "model": "VSP G1000"
                         },
             "filters": [{
                  "filterConditions": [{
                        "fieldName": "PI_CLPS.CLPR_NUMBER",
                        "value": "10"
                         }]
                       },
                       {
                  "filterConditions": [{
                        "fieldName": "PI_CLPS.CLPR_NUMBER",
                        "value": "20"
                         }]
                      }]
               }
    },
    {
      "targetID": "1",
      "targetDef": {
             "type":"model",
             "key": {
                  "model": "VSP G800"
                         },
             "filters": [{
                  "filterConditions": [{
                        "fieldName": "PI_CLPS.CLPR_NUMBER",
                        "value": "10"
                         }]
                          },
                          {
                  "filterConditions": [{
                        "fieldName": "PI_CLPS.CLPR_NUMBER",
                        "value": "20"
                         }]
                      }]
               }
    },
    {
      "targetID": "2",
      "targetDef": {
             "type":"model",
             "key": {
                  "model": "VSP G1000"
                         }
               }
    },
    {
      "targetID": "3",
      "targetDef": {
             "type":"model",
             "key": {
                  "model": "VSP G800"
                         }
               }
    }],
  "notices": [{
      "noticeID": "0",
      "emailNotification": ["warning","caution"],
      "emails": [{
            "addresses": [
                  "alertA@example.com"
                        ],
            "subject": "Alert occurred in %INST%",
            "body": "%STAT% = %PROD% %NAME% on %HOST%"
              },
              {
            "addresses": [
                  "alertB@example.com"
                        ],
            "subject": "Alert occurred in %INST%",
            "body": "%STAT% = %PROD% %NAME% on %HOST%"
              }]
    }],
  "triggers": [{
      "triggerID": "0",
      "isActive": "Y",
      "monitorAlways": "N",
      "monitoringTime": {
                "starttime": "05:00",
                "endtime": "01:00"
                        },
      "alertEveryTime": "N",
      "evaluateAllData": "Y",
      "evaluatePoR": "N",
      "condition": {
                "warning": "%PI_CLPS.CACHE_WRITE_PENDING_RATE% > '60'",
                "caution": "%PI_CLPS.CACHE_WRITE_PENDING_RATE% > '30'"
                  },
      "frequency": {
                "count": "1/1"
                }
          },
          {
      "triggerID": "1",
      "isActive": "Y",
      "monitorAlways": "N",
      "monitoringTime": {
                "starttime": "05:00",
                "endtime": "01:00"
                        },
      "alertEveryTime": "N",
      "evaluateAllData": "Y",
      "evaluatePoR": "N",
      "condition": {
                "warning": "%PI_PRCS.PROCESSOR_TYPE% > 'MPB' and 
                              %PI_PRCS.PROCESSOR_BUSY_RATE% >= '80'",
                "caution": "%PI_PRCS.PROCESSOR_TYPE% > 'MPB' and 
                              %PI_PRCS.PROCESSOR_BUSY_RATE% >= '40'"
                  },
      "frequency": {
                "count": "1/1"
                }
          },
          {
      "triggerID": "2",
      "isActive": "Y",
      "monitorAlways": "N",
      "monitoringTime": {
                "starttime": "05:00",
                "endtime": "01:00"
                        },
      "alertEveryTime": "N",
      "evaluateAllData": "Y",
      "evaluatePoR": "N",
      "condition": {
                "warning": "%PI_RGS.BUSY_RATE%  >= '50'",
                "caution": "%PI_RGS.BUSY_RATE%  >= '50'"
                  },
      "frequency": {
                "count": "1/1"
                }
          },
          {
      "triggerID": "3",
      "isActive": "Y",
      "monitorAlways": "N",
      "monitoringTime": {
                "starttime": "05:00",
                "endtime": "01:00"
                        },
      "alertEveryTime": "N",
      "evaluateAllData": "Y",
      "evaluatePoR": "N",
      "condition": {
                "warning": "%PI_RGS.READ_HIT_RATE%  <= '25' and 
                              %PI_RGS.READ_HIT_IO_COUNT% > '0'",
                "caution": "%PI_RGS.READ_HIT_RATE%  <= '25' and 
                              %PI_RGS.READ_HIT_IO_COUNT% > '0'"
                  },
      "frequency": {
                "count": "1/1"
                }
    }],
  "definitions": [{
      "targetIDs": [0,1],
      "noticeIDs": [0],
      "triggerIDs": [0]
    },
    {
      "targetIDs": [2,3],
      "noticeIDs": [0],
      "triggerIDs": [1]
    },
    {
      "targetIDs": [2,3],
      "noticeIDs": [0],
      "triggerIDs": [2,3]
    }]
}

[目次] [前へ] [次へ]


[マニュアル発行元]

All Rights Reserved. Copyright© 2014, 2020, Hitachi, Ltd.