マルチ メトリクスアラートの通知
ホーム画面 > プロジェクト選択 > アラート通知 > アラート設定 > メトリックスタブ選択
メトリクスイベントとは
メトリクスイベントは、基本イベント(アプリケーションイベント、サー バーイベントなど)より具体的で複雑なイベントを設定するために使用します。プロジェクトがリアルタイムで収集中のメトリクスデータに基づいてイベントを設定できます。使用状況に応じて、2つの設定方法のいずれかを選択してイベントを設定できます。
- メトリックスイベント
- 複合メトリクスイベント
メトリックスイベント
アラート通知 > アラート設定メニューから画面の上にあるメトリックスを選択します。画面の右上にある アラート通知追加を選択します。メトリクスイベント画面が表示されます。

基本情報を入力
-
イベント名:追加するイベント名を入力します。
-
イベント活性化:イベントの活性化の有無を選択します。
-
テンプレート:作成されたテンプレートを選択して、簡単にイベントを設定できます。テンプレートを使用しない場合は、使用しないを選択します。
ノートテンプレート一覧の詳細については次の文書を参照してください。
-
カテゴリ:メトリクス データを区切る単位です。メトリクスイベント設定時に必須の設定値です。

-
カテゴリ選択オプションは、
名前と
データ収集間隔、
キー情報を表示します。イベントを設定する際には該当カテゴリのキーを使用します。 -
カテゴリは、直近3時間以内にプロジェクトで収集されたメトリクスデータを照会し、一覧に表示します。カテゴリ選択オプションに収集間隔が表示されない場合は、直接入力するオプションを選択して、カテゴリキーを入力します。
-
-
レベル
-
イベント発生時の警告レベルを示します。Critical、Warning、Infoレベルで分けます。Critical、Warningレベル設定時イベント状態が解消されたら追加に通知する選択オプションが有効になります。
-
イベント状態が解消されたら追加に通知する: イベントの項目から発生したイベント状態が解消されたら追加に通知するの送信可否を選択できます。トグルボタンを選択して機能をオンまたはオフできます。
-
-
メッセージ
-
イベント発生時に出力する通知メッセージを入力します。
${Tag}または${Field}を入力してメッセージに変数を適用できます。変数に入力するキーは、選択したメトリクス データカテゴリに含まれる値である必要があります。メトリックス照会メニューで入力できるタグまたはフィールドキーを確認できます。
-
ボタンをクリックすると、以前に入力したメッセージの履歴を確認できます。
-
-
受信テスト
必須項目であるイベント名、カテゴリ、レベル、メッセージ情報に基づいて通知を発生させ、メッセージをチェックする機能です。
ノート-
テスト中は、実際のメトリクス値や変数への置換機能が機能しません。
-
イベント受信オプションで受信者タグが設定されているユーザーに限ってテスト通知を送信します。すべて受信を選択した場合、すべてのユーザーにテスト通知を送信します。
-
受信テストを利用するには、必須項目(イベント名、カテゴリ、レベル、メッセージ)に値を入力または選択する必要があります。
-
-
イベント発生条件

フィールド、
演算子の選択、
しきい値を入力して、イベントが発生する条件を設定します。
-
アラート通知対象のフィルタリング

タグ、
演算子の選択、
フィルタリング値を入力して、ターゲットをフィルタリングします。入力がない場合は、全体エージェントにアラート通知を送信します。
-
イベント発生条件とアラート通知対象のフィルタリングで使用できる基本文法と演算子の一覧は、次の文書を参照してください。
-
イベント発生条件とアラート通知対象のフィルタリングオプションは、選択入力または直接入力オプションを選択できます。
-
イベント設定内容が保存された後は、そのオプション値は直接入力オプションで管理します。以降選択入力オプションに切り替えると、オプション値が初期化される可能性があります。
-
イベント発生条件と対象に、特殊文字(
~!@#$%^&*()_+=-[]`)を入れるか、数字から始まるフィールド名を入力すると、エラーが発生する場合があります。その時は、直接入力オプションを選択し、次のように中括弧(${})にくくって入力します。${4xxErrorType} == '401'
通知設定

-
発生回数:選択した時間の間にイベント発生条件で設定したイベントが入力した回数分発生すると、アラート通知が送信されます。
ノート- 選択時間を使用しないに設定すると、入力した回数だけ連続して発生通知が送信されます。
- イベント状態が解消されたら追加に通知するオプションを有効にした場合、選択時間は、使用しないに選択することをお勧めします。
- カテゴリオプションで選択した項目のログ収集の周期は5秒です。
-
イベント発生の一時中止:過剰なアラート通知が発生しないようにするオプションです。最初のアラート通知の後、選択された時間にアラート通知は送信されません。 また、イベント履歴メニューに記録されません。
-
関連カテゴリ:関連カテゴリを最大5つまで設定し、通知を閲覧するときに参照します。
-
イベント受信タグ:イベント受信タグを選択すると、そのタグを持つプロジェクトメンバーと3rd-partyプラグインに通知を送信できます。イベント受信タグを選択しない場合は、プロジェクトの全体メンバーにアラート通知を送信します。
ノートアラート通知 > イベント受信設定メニューでプロジェクトメンバーと3rd-partyプラグインにタグを設定できます。
イベントルールテスト

選択した時間の間に設定したイベント条件を実行して、何回の警告通知が発生したかを確認できます。実行ボタンを選択すると、右上に通知発生件数情報が表示されます。イベント発生条件で選択したフィールドとしきい値をチャート上に表示します。
-
イベント発生条件についての詳細は、次の文書を参照してください。
-
イベントルールテスト機能は、最大24時間のデータに基づいてテストできます。
マルチ メトリクス イベント
複合指標イベントを利用するには、次の内容を理解する必要があります。
複合指標イベントは、メトリクスデータより複雑なルールを使用してイベントを生成し、アラート通知を送信します。 複合メトリクスは、次のような状況で効果的に使用できます。
- 複数のエージェントから受信したデータに対して総合的にイベント判定を行う必要がある場合
- 過去のデータと現在のデータを比較して、イベント判定を行う必要がある場合
メトリクスイベントは、エージェントからメトリクスを受信するたびにイ ベント判定を行います。 一方、複合メトリクスイベントは、各エージェントから収集したメトリクスをデータベースに保存します。 そして、もう一度照会してイベント判定を行います。 このような特性から、複数のエージェントのデータを統合して活用したり、過去のデータを活用することができます。 ただし、MXQLと呼ばれるWhaTap独自のデータ言語を使用するため、MXQLを覚える必要があります。 そのため、ユーザーが基本的なMXQLの内容を理解するだけで効果的にイベントを設定できるようにイベントテンプレートを提供します。 テンプレートを利用し、イベント対象とイベント条件に対するクエリのみ修正することでイベントを適用できます。
-
アラート通知 > アラート設定メニューの画面からメトリックスを選択します。
-
複合指標セクションの右側にあるアラート通知追加を選択します。
-
複合指標画面が表示されたら、チャートで生成するを選択します。
イベント設定ウィンドウが表示されます。

複合メトリクスイベントを設定するには、イベント設定権限が必要です。
複合メトリクスにイベントテンプレートの詳細については次の文書を参照してください。
イベントデータ照会
複合指標イベントは、メトリクスデータのクエリ言語であるMXQLベースにイベント条件を生成しま す。 チャートで生成する機能は、MXQLを自動作成するコンボボックス機能を提供します。 イベントデータを照会してチャートを構成し、アラート通知条件を直接入力するためのテンプレートです ウィジェットまたはテキストオプションを選択してイベントを設定します。
- ウィジェット
- テキスト
時系列チャートを設定するオプションからイベント設定時に使用するMXQLをオートコンプリートさせることができます。

-
フィルター:イベント条件の対象を選択します。
演算式、
タグ、
フィルタリング値を入力して、フィルタリング条件を作成します。
-
グループ化:グループ化されたメトリクスデータを選択します。 複数を選択できます。
-
タイム単位:グループ化されたデータを 分割する時間基準を設定します。 秒、分、時間単位で選択して設定できます。
-
フィールド:アラート通知条件に使用するフィールドを選択します。 複数を選択できます。
MXQLを平文のまま修正できる編集ウィンドウが表示されます。

通知
アラート通知設定の基本情報を入力します。
-
イベント活性化:トグルボタンをクリックして、イベント活性化の有無を選択できます。
-
レベル: 危険(Critical), 警告(Warning), 情報の中で一つのレベルを選択します。
イベント状態が解消されたら追加に通知する: イベント項目中に発生したイベント状態が解消されたら追加に通知する送信可否を選択できます。 トグルボタンを選択し、機能をオンまたはオフできます。
-
題名:アラート通知のタイトルを入力します。
-
メッセージ:イベント発生時に出力する通知メッセージを入力します。
${Tag}または${Field}を入力してメッセージに変数を適用できます。 変数に入力するキーは、選択したメトリクスデータカテゴリにある値を入力します。 メトリックス照会メニューで入力できるタグまたはフィールドキーを確認できます。
アラート通知ポリシー
アラート通知を送信する条件を入力します。
-
データ照会範囲:イベント条件に使用するMXQLのリアルタイムデータの照会範囲を設定します。 イベント データの照会に含まれるフィールドのみ使用できます。
複合メトリクスイベントは、DBに保存されたメトリクスを照会して使用します。 最初にデータを照会する時間範囲を指定する必要があります。 データ取得時間を5分で選択すると、過去5分間に収集されたデータが照会して、イベント発生条件を確認します。 直近のデータに対するイベントを設定する場合は短く、長い期間に対する統計的なアクセスの場合は長く設定できます。
ノート実際の使用例については、次の文書を参照してください。
-
条件:MXQLに反映するフィールドと演算規則、しきい値を入力します。
追加情報
アラート通知を受信するために追加オプションを設定します。
-
間隔:選択した時間の間隔で通知条件を確認します。
-
ミュート:頻繁な警告通知の発生を防ぐオプションです。 最初の警告通知以降、選択した時間の間には警告通知を送信しません。 また、イベント履歴メニューに残りません。
-
イベント受信タグ:イベント受信タグを選択すると、該当タグを持つプロジェクトメンバーと3rd-partyプラグインに通知を送信できます。 イベント受信タグを選択しない場合は、プロジェクトの全体メンバーに警告通知を送信します。
ノートアラート通知 > イベント受信設定メニューでプロジェクトメンバーと3rd-partyプラグインにタグを設定できます。
アラート条件テスト

選択した時間に設定したイベント条件を実行し、アラート通知の件数を確認できます。 実行ボタンを選択すると、通知発生の件数情報が表示され、イベント発生条件で選択したフィールドとしきい値をチャートに表示します。
イベント設定に含まれているほとんどの内容は、MXQLを使用して指定されます。 MXQLが適切に作成されたかをミュレーションできる機能を提供します。 シミュレーション機能は、過去24時間のデータを照会してイベント判定 をした後、何件のメトリクスが照会され、そのうち何件のイベント判定が成功したかを表示します。
メトリクスイベントの修正と削除
-
アラート通知 > アラート設定メニューから移動した後メトリックスタブを選択します。
-
イベント一覧から修正または削除する項目の右端の
ボタンをクリックします。
-
メトリクスまたは複合メトリクスのイベント設定ウィンドウが表示すると、各オプションを修正して、保存ボタンを選択します。
選択したイベントを削除するには、イベント設定画面の右上にある
削除ボタンを選択します。
発生条件、対象選択ガイド
メトリクスアラート通知でイベントの発生条件とイベント対象選択では同じ文法を使用します。 ただし、イベントの生成条件は、フィールド(Field)のKeyを変数として使用し、イベント対象選択は、タグ(Tag)のKeyを変数として使用します。
基本文法
-
文字列をそのまま入力すると変数、バッククォー ト(' ')またはダブルクォート('' ")で囲むとtextとして認識します。
oid == "oid"1. oid : 変数
2. == : 関数
3. "oid" : text// onameがott-1235の場合
// 正常な場合
onname = 'ott-1235'またはonname = "ott-1235"
// 異常な場合、通知は機能しません。
onname = ott-1235 -
数字をそのまま入力すると、number、バッククォート(' ')またはダブルクォート('' '')で囲むとtextとして認識 します。
oid == 1231. oid : 変数
2. == : 関数
3. 123 : number// oidが123の場合
// 正常な場合
oid = 123
// 異常な場合、通知は機能しません。
id == '123' または oid == '123'
使用可能な演算子の一覧
| オペレーター | 使い方 | 説明 |
|---|---|---|
== | operand1 == operand2 | operand1とoperand2の値が同じであることを確認します。 |
!= | operand1 != operand2 | operand1とoperand2の値が異なることを確認します。 |
> | operand1 > operand2 | operand1の値がoperand2の値より大きいことを確認します。 |
>= | operand1 >= operand2 | operand1の値がoperand2の値より大きいことを確認します。 |
< | operand1 < operand2 | operand1の値がoperand2の値より小さいことを確認します。 |
<= | operand1 <= operand2 | operand1の値がoperand2の値より小さいことを確認します。 |
like | operand1 like operand2 | operand1にoperand2が含まれているかどうかをパターンで検索します。 |
&& | expression1 && expression2 | expression1とexpression2の両方がtrueであることを確認します。 |
and | expression1 and expression2 | expression1とexpression2がいずれもtrueが確認します。&&と同じ役割を果たす演算子です。 |
|| | expression1 || expression2 | expression1またはexpression2がtrueであることを確認します。 |
or | expression1 or expression2 | expression1またはexpression2がtrueか確認します。||と同じ役割を果たす演算子です。 |
likeの使い方
ワイルドカード(*)含む文字列を簡単に検索できます。
-
特定のキーワードで始まる文字列検索
Key like "Value*" -
特定のキーワードで終わる文字列検索
Key like "*Value" -
特定のキーワードを含む文字列検索
Key like "*Value*" -
キーワードの中にワイルドカード(
*)が使用できません。
//対応しない文法
Key like "Va*lue" -
like演算子からワイルドカード(*)を省略する場合、equals(==)で動作します。
//以下の2つの文章は全く同じ結果になります。
Key like "Value"
Key == "Value"
使用可能なメソッド一覧
| メソッド | 使い方 | 説明 |
|---|---|---|
| startsWith | startsWith(param1, param2) | param1をKeyとするValueがparam2で始まる場合は、true、反対の場合は、false |
| endsWith | endsWith(param1, param2) | param1をKeyとするValueがparam2で終わる場合、true、反対の場合は、false |
| isNull | isNull(param1) | param1がnullの場合は、true、反対の場合は、false |
| isNotNull | isNotNull(param1) | param1がnullでない場合は、true、反対の場合は、false |
| isEmpty | isEmpty(param1) | param1がnullまたはEmptyString("")の場合は、true、反対の場合は、false |
| isNotEmpty | isNotEmpty(param1) | param1がnullでも、EmptyString("")でもない場合は、true、反対の場合は、false |
startsWith
startsWith(Key, "Value")
endsWith
endsWith(Key, "Value")
isNull
isNull(Key)
isNotNull
isNotNull(Key)
isEmpty
isEmpty(Key)
isNotEmpty
isNotEmpty(Key)
レベル動作ガイド
-
優先順位に基づくイベント発生
複数のレベル条件を同時に満たす場合、最も優先度の高いイベントのみが発生します。
例設定:
- Warning: CPU > 70%
- Critical: CPU > 90%
現在の状態: CPU 95%
→ 結果: Critical イベントのみ発生(Warning は抑制) -
レベル上昇
低レベルのイベントが進行中の状態で、高レベル条件を満たした場合、両方のレベルが「進行中」となります。
例設定:
- Warning: CPU > 70%
- Critical: CPU > 90%
シナリオ:
1) CPU 80% → Warning 発生(進行中)
2) CPU 95% → Warning(進行中)、Critical(進行中) -
レベル下降
進行中の高レベルイベントが低レベル条件に戻った場合、高レベルは解消され、低レベルが維持されます。
例設定:
- Warning: CPU > 70%
- Critical: CPU > 90%
シナリオ:
1) CPU 97% → Critical 発生
2) CPU 85% → Critical 解消、Warning 維持
3) CPU 65% → Warning 解消 -
動作フロー
- Warning: CPU > 70%
- Critical: CPU > 90%
メトリック値: 60% → 75% → 92% → 85% → 60%
状態: 正常 Warning Critical Warning 正常
(発生) (発生) (維持) (解消)
Warning
(維持)
進行中のイベントは、条件が満たされている限りアクティブ状態を維持し、条件が解除されるまで継続します。
条件設定ガイド
指標名が数字で始まる場合、または特殊文字を含む場合は ${指標名} の形式で記述する必要があります。
- 括弧
(),[] - 演算子
+,-,*,/,% - 区切り文字
:,@,#,,,(スペース) - その他の特殊文字
!,^,&,|,~, ```,=
${} を使用した例:
${cpu(xos)} > 50
${mem[0]} >= 100
${cpu-usage} > 80
${namespace:cpu} > 70
${metric name} > 60
${4xx_error} > 10
${} を付けずに使用可能: 英字、アンダースコア(_)、ドット(.)のみで構成されている場合
cpu > 80
cpu_usage > 50
CPUUtilization.Average > 0.8
-
比較演算子
数値比較大きい: cpu > 80
以上: cpu >= 80
小さい: memory < 1000
以下: memory <= 1000
等しい: status == 200
等しくない: error != 0文字列比較status == 'OK'
region == "us-east-1" -
算術演算子
- 基本算術
基本算術加算: cpu + 10 >= 90
減算: memory - 100 >= 500
乗算: cpu * 2 >= 100
除算: disk / 1024 >= 100
剰余: value % 10 == 0- 括弧による優先順位制御
優先順位制御(cpu + memory) * 2 >= 200
(disk - used) / total >= 0.2
((cpu + memory) / 2) >= 50- 負数の表現
負数の表現cpu > -100 -
論理演算子
- AND (&&)
cpu > 80 && memory > 1000
${cpu(xos)} > 50 && ${mem(xos)} > 60- OR (||)
cpu > 90 || memory > 90
disk < 10 || network > 1000- 複合論理式
(cpu > 50 && memory > 50) || disk < 20
cpu > 80 && (memory > 1000 || disk > 500) -
パターンマッチ演算子
- LIKE
oname like 'prod-*'
url like '*error*'
message like 'WARN%'- NOT LIKE
oname not like 'test-*'
url not like '*debug*' -
組み込み関数
- Null チェック
isNull(value) # null か確認
isNotNull(value) # null でないか確認
nvl(value, 0) # null の場合はデフォルト値
isEmpty(str) # 空文字列か確認
isNotEmpty(str) # 空でないか確認- 集計関数
sum(cpu, memory, disk) # 合計
avg(cpu, memory) # 平均
max(cpu, memory, disk) # 最大
min(cpu, memory, disk) # 最小
count(value1, value2, value3) # 件数- 数学関数
round(cpu, 2) # 四捨五入(小数2桁)- 文字列関数
length(str) # 文字数
startsWith(str, 'prefix') # プレフィックス確認
endsWith(str, 'suffix') # サフィックス確認
indexOf(str, 'search') # 位置
substring(str, 0, 10) # 部分文字列
trim(str) # トリム
replace(str, 'old', 'new') # 置換
hasStr(str, 'search') # 含むか確認-
条件関数
if: 条件が true の場合は true値、false の場合は false値 を返す
形式if(条件, true値, false値)例if(value >= 90, 'High', 'Medium') == 'High'decode: 値と条件を比較し、一致した結果を返す。一致がなければデフォルト値を返す
形式decode(値, 条件1, 結果1, 条件2, 結果2, ..., 条件N, 結果N, デフォルト)例decode(value, 1, 'Low', 2, 'Medium', 3, 'High', 'Unknown') == 'Unknown'in: 値が候補値のいずれかと一致すれば true、そうでなければ false
形式in(値, 候補1, 候補2, ..., 候補N)例in(status, 200, 201, 204) == false
記述時の注意事項
- 推奨:
- シンプルな変数名は $ 不要(例: cpu, memory)
- 特殊文字を含む場合は必ず $ を使用
- 複雑な式は括弧で明確化
- 関数名は正確に記述(大文字小文字を区別)
- 避けるべきこと:
- 不完全な式(例: cpu >, memory &&)
- 括弧の不一致(例: (cpu > 80, cpu > 80))
- 無効な演算子(例: cpu >> 80, cpu >< 80)
テンプレート
メトリックスイベント
アラート通知 > イベント設定 > メトリックスセクションでアラート通知追加ボタンを選択します。 テンプレートで希望する項目を選択します。
-
WARNING_OLD_GENARATION_GC
ヒー プメモリ(Heap Memory)のOld Generation領域でGCが発生したらアラート通知を送信します。
-
TOO_SLOW_SQL
実行中のクエリが5秒以上で非常に遅いクエリが発生したらアラート通知を送信します。
-
TOO_MANY_ACTX
8秒を超えるアクティブトランザクションの数が100を超えると、アラート通知を送信します。
-
APDEX
APDEX数値が0.7を下回ったらアラート通知を送信します。
複合メトリクスイベント
-
非活性化のエージェントが見つかりました。
条件:
num_of_current_agents< 6プロジェクトに含まれたすべてのエージェントの中で、正常なエージェント数が6つ未満になるイベントが発生したらアラート通知を送信します。
-
非常に遅いアクティブセッションが見つかりました。
条件:
very_slow_tx_cnt_m5_avg> 10プロジェクトに含まれた特定の
okindに属するエージェントから、8秒を超えたトランザクションの数の合計が10件を超えたらアラート通知を送信します。 -
先週と比べたTPSが30%以上変化しました。
条件:
one_week_diff_abs>current_tps* 0.3プロジェクトに含まれた特定の
okindに属するエージェントのTPSの 合計が、7日前と比較して30%以上変化したらアラート通知を送信します。
複数のエージェントから受信したデータに対して、総合的なイベント判定を行う場合は、次の複合メトリクステンプレートを設定してください。
- 非活性化のエージェントが見つかりました。
- 非常に遅いアクティブセッションが見つかりました。
過去のデータと現在のデータを比較してイベント判定を行う場合は、次の複合メトリクステンプレートを設定してください。
- 先週と比べたTPSが30%以上変化しました。