本文へスキップ

メトリクス

ホーム > プロジェクト選択 > アラートアイコン アラート通知 > イベント設定 > メトリクス タブ

プロジェクトに設定されているすべてのメトリクスベースのイベント一覧を確認できます。設定済みのメトリクスイベントを確認、修正、削除したり、新しいイベントを追加したりできます。

基本オプション

  • イベントレベル: イベントの深刻度を示し、正常(Info)、警告(Warning)、危険(Critical)の3段階に分類されます。

  • エージェント重複アラート抑止: 同じ名前のエージェントが同時に2つ以上動作している場合、選択した時間(30秒、1分、3分、5分、10分)の間はイベントが発生しません。

  • 検索: イベント名を基準に検索します。

  • JSON ダウンロード/アップロード: JSON エディタでイベントルールを直接編集するか、ファイルとしてダウンロードして編集後に再アップロードできます。

  • + イベント追加: 新しいメトリクスイベントを追加します。

  • カラムサイズ調整: 各カラムの境界をドラッグして幅を調整できます。

表 | メトリクスイベント一覧構成
項目説明
No.イベントの番号
トグル無効アイコンイベントの有効化状態
– 有効: 条件を満たすとイベントが発生
– 無効: イベントは動作せず、条件も評価されません
編集アイコンイベント設定の編集および削除
イベント名ユーザーが指定したイベント名
– 最大255文字
ルールイベント発生条件
対象イベントが適用される監視対象
発生回数イベント発生の基準となる期間と回数
– 選択した時間内に設定回数分条件を満たすとイベントが発生
一時停止アラート発生後、同一イベントの発生を一定時間停止
– 選択可能時間: 使用しない、5分、10分、15分、20分、30分、1時間、2時間、3時間、6時間、12時間、1日
– 回復通知が有効な場合、RECOVERED(正常)通知後、選択した時間は同一イベントが発生しても通知されません
回復通知Critical および Warning レベルのイベントが解消された際に、RECOVERED(正常)通知を受信するかどうか
– 有効: 進行中から正常状態に遷移すると RECOVERED 通知を送信し、イベント履歴で進行中/解消状態を区別して確認可能
– 無効: しきい値を超えるたびに単発イベントが発生
イベント受信該当イベント通知を受信するユーザーまたはグループ(受信タグ)

イベント設定

メトリクスイベントは、監視対象で発生する事象を条件に基づいて定義し、効率的に通知を受信できるよう設定するための機能です。

イベント追加

メトリクスイベントを追加するには、イベント設定 > メトリクス タブに移動し、右上の [ + イベント追加 ] ボタンをクリックします。

メトリクスイベント追加手順
Step 1. テンプレート選択: イベントの基本構成を選択します。
Step 2. イベント条件定義: どの条件でイベントを発生させるかを設定します。
Step 3. イベント対象選択: イベントが適用される監視対象を選択します。
Step 4. 基本情報および通知設定: イベント名、メッセージ、受信対象を設定します。

テンプレート選択

  1. イベントの構成方法に応じて、画面左側の 3 つのテンプレートのいずれかを選択します。

    • 新規作成: カテゴリやメトリクスを一から自由に構成できます。複雑な条件や詳細な監視ルールが必要な上級ユーザーに適しています。

    • クイック設定: あらかじめ定義されたカテゴリ、メトリクス、基本しきい値が提供され、しきい値のみを調整して素早く適用できるため、初心者に適しています。

    • 高度な設定: あらかじめ定義されたカテゴリやメトリクスを基に、条件を追加したり自由に変更したりできます。

ノート

メトリクスイベントでは、さまざまな設定方法をサポートしています。利用する監視プラットフォームによって、提供されるテンプレートは異なる場合があります。

イベント条件定義

イベント条件定義 のステップでは、イベント発生の判断に使用するメトリクス設定、発生回数、一時停止、回復通知、イベント動作時間を設定します。

指標設定
  1. 検索欄にカテゴリを入力するか、カテゴリ一覧からカテゴリ(指標)を選択します。
    指標設定を進めるには、カテゴリの選択が必要です。

    • カテゴリ一覧では、カテゴリ名、データ収集間隔、キーを確認できます。直近 3 時間にプロジェクトで収集されたメトリクスデータが表示されます。
  2. 一覧にない指標を使用する場合は、直接入力 を選択してカテゴリを手動で入力します。

    ノート

    カテゴリや指標が不明な場合は、メトリクス照会を活用してください。

    初めて指標を設定する場合、メトリクス照会を利用すると効率的に指標を見つけられます。

    • メトリクス照会で指標を検索すると、関連するカテゴリや詳細情報を確認できます。

    • 検索結果から必要なメトリクスの [ 選択 ] ボタンをクリックすると、選択した値がイベント設定画面に自動的に反映されます。

  3. イベントレベル(CriticalWarningInfo)を選択します。1 つの指標に対して複数のレベルを設定できます。

    ノート

    イベントレベルの動作

    複数の条件を満たしても、最も優先度の高いレベル(CriticalWarningInfo)のみがイベントとして発生します。詳細は レベル動作ガイド を参照してください。

    • イベントレベルは、危険(Critical)、警告(Warning)、正常(Info)に分類されます。

    • 同一指標に対して段階的なしきい値でレベルを設定することを推奨します。

  4. 選択したイベントレベルのフィールド、演算子、値を入力します。

    a. + 追加 をクリックすると条件を追加できます。

    • &&: すべての条件を同時に満たした場合 にイベントが発生
    • ||: いずれか 1 つ以上の条件を満たした場合 にイベントが発生

    b. をクリックすると、その条件が削除されます。

    ノート

    条件式の書き方や対応する演算子については、条件設定ガイド を参照してください。

発生回数

条件が何回満たされた場合にイベントを発生させるかを設定します。継続的な問題のみを検知したい場合に有効です。

  1. 発生頻度を選択します。

    • 連続: 設定した回数分、イベントが連続して発生した場合にイベントを発生

    • 直近: 選択した時間内に、設定した回数分イベントが発生した場合にイベントを発生

      • 選択可能時間: 5秒, 10秒, 15秒, 30秒, 1分, 2分, 3分, 4分, 5分, 10分, 30分, 1時間
  2. 発生回数を入力します。

    • Interval の値は、選択したカテゴリのデータ収集間隔を示します。(Interval: 10s)
一時停止

過剰なイベント発生を防ぐため、イベント動作を一時停止する時間を選択してください。イベント発生後、設定した時間が経過するまで同一イベントは発生しません。

  • 選択可能時間: 使用しない, 5分, 10分, 15分, 20分, 30分, 1時間, 2時間, 3時間, 6時間, 12時間, 1日
ノート

解消通知が有効な場合

正常状態の通知(RECOVERED)を受信した時点から、設定した時間が経過するまで、同一イベントが再発しても通知は送信されません。

解消通知

解消通知機能を有効にすると、イベント発生後の状態変化(進行中 → 解消)を追跡できます。イベント履歴 メニューでは、進行中のイベントとして表示されます。

  • 解消通知は Critical および Warning レベルにのみ適用されます。Info レベルは常に単発イベントとして動作します。

  • Critical または Warning レベルのイベントが解消されると、正常(RECOVERED)状態の通知が送信されます。

  • トグルボタンをクリックして 有効化 または 無効化 してください。

    • トグル有効化アイコン 有効: イベントは状態ベースで動作します。しきい値を超えると進行中となり、値がしきい値未満に回復すると解消状態に遷移します。

    • トグル無効化アイコン 無効: しきい値を超えるたびに単発イベントが発生します。

イベント動作時間

イベントが特定の時間帯(勤務時間/非勤務時間/点検時間など)にのみ動作するよう、タグを設定してください。タグを設定しない場合、イベントが有効な状態では 24 時間常時動作します。

  1. + 追加 をクリックします。

  2. イベント動作時間で + 新しいタグを作成 をクリックします。

  3. イベント動作時間タグ作成タグ名、曜日、時間、色 を選択し、[ 適用 ] ボタンをクリックします。

  4. 作成したタグはタグ一覧で確認でき、チェックボックスを選択すると適用されます。

  5. タグを修正または削除するには、編集アイコン をクリックし、イベント動作時間タグ修正 で修正または削除してください。

注意

タグを削除すると、そのタグが適用されているすべてのユーザーからタグが削除されます。ただし、イベントルールで使用中のタグは削除できません。

シミュレーション

シミュレーション機能では、設定したイベント条件を過去データに基づいて事前にテストできます。想定されるイベント件数が多すぎる、または少なすぎる場合は、条件を調整して最適なしきい値を見つけることができます。

  • ルール検証: 新しく作成したイベントルールを過去データに適用した場合の結果を確認できます。
  • しきい値チューニング: イベントが頻発する、またはまったく発生しない場合に、適切なレベルへしきい値を調整します。

シミュレーション開始

  1. イベント条件の設定が完了したら、[ シミュレーション ] ボタンをクリックします。
  2. 想定イベント件数と可視化された結果を確認します。

シミュレーション結果の理解

  1. 時系列データ

    指標の時間帯別変化と各レベルのしきい線がグラフで表示され、イベント発生タイミングを直感的に確認できます。

  2. レベル別発生状況

    画面右側に Critical、Warning、Info レベルごとのイベント発生回数が表示され、全体の分布や頻度を把握できます。

  3. 対象別詳細情報

    グラフ上の特定ポイントにマウスを合わせると、その時点の正確な指標値と監視対象が表示されます。複数の対象がある場合は色で区別され、対象ごとにパターンが異なる場合はフィルタリング機能で個別分析が可能です。

  4. ピーク区間の特定

    指標が急激に上昇する時間帯を確認し、問題が頻発する時間帯やパターンを把握できます。

Tips

シミュレーション活用のヒント

  • 複数時間帯でのシミュレーション

    平日/週末、ピーク/非ピーク時間帯をそれぞれシミュレーションし、時間帯ごとの最適なしきい値を設定してください。

  • 実際の障害期間を含める

    過去に障害が発生した期間を含めてシミュレーションを実行し、現在のルールが障害を正しく検知できるか確認しましょう。

  • 対象フィルタリングの追加

    監視対象が多い場合、結果が複雑になります。フィルタリング機能を使って特定の対象のみを選択し、明確な結果を確認してください。

  • しきい値を段階的に調整

    一度に大きく変更するのではなく、10 パーセント単位で段階的に調整しながら最適値を探すことをおすすめします。

イベント対象選択

イベント対象を指定しない場合、プロジェクト内のすべての対象に対してイベントが発生し、多数のイベントが生成される可能性があります。そのため、イベントを適用する対象を明確に設定することを推奨します。

ノート

イベント対象を変更すると、イベント件数が変わる場合があります。シミュレーション ボタンをクリックして再実行し、想定イベント件数を確認してください。

対象選択

イベントを適用する対象は、選択入力 または 直接入力 の方法で指定できます。

  1. タグ、演算子、値を選択または入力してください。
    a. タグが見つけにくい場合は、メトリクス照会 を使ってタグを検索できます。

  2. + 追加 をクリックして、条件(&&, ||)でイベント対象を追加してください。

基本情報および通知設定

イベント名、メッセージ、受信対象 を設定します。設定した内容はイベント履歴や実際の通知メッセージにそのまま表示されるため、識別しやすく分かりやすい名称にすることが重要です。

イベント有効化

設定した条件を満たした際にイベントを発生させるかどうかを設定します。

  • トグル有効化アイコン 有効: 設定した条件を満たすとイベントが発生します。

  • トグル無効化アイコン 無効: 条件を判定しません。

イベント名

イベントのタイトルとして使用するイベント名を入力してください。設定したイベント名は イベント一覧 および イベント履歴 メニューに表示され、この名前で検索することができます。

メッセージ

イベントメッセージを入力してください。入力したメッセージは、イベント履歴および通知に使用されます。時間アイコン をクリックすると、過去に作成したメッセージ履歴を確認できます。メッセージには変数を使用して、イベント発生時点の実際の値を含めることができます。

  • 変数の使用ルール

    • 変数形式: ${指標名}
    • 設定した カテゴリと同一カテゴリ内 の指標のみを変数として使用できます。
    • 複数の変数を組み合わせて、より詳細なメッセージを作成できます。
    • 使用可能な変数一覧は メトリクス照会 メニューで確認できます。
  • 変数の使用例

    イベント設定イベント発生時
    タイトルDisk 使用量増加Disk 使用量増加
    メッセージDisk = ${disk}%Disk = 89.9%
イベント受信

イベント通知を受信するメンバーを指定します。

プロジェクトで通知設定が有効になっているすべての対象(メンバー、チャンネル)に通知が送信されます。

イベント修正/削除

  1. 警告アラート > イベント設定メトリクス タブに移動します。

  2. イベント一覧で、修正または削除したいイベントの 編集アイコン をクリックします。

  3. イベントルール修正 画面でオプションを修正し、[ 保存 ] ボタンをクリックします。

    a. 選択したイベントを削除する場合は、イベントルール修正 画面右上の [ 削除 ] ボタンをクリックします。

イベント共有

メトリクスイベント設定を JSON ファイルとして保存し、他のユーザーと設定を共有したり、他のユーザーの設定を取り込んだりすることができます。

  • JSON ファイル名: event-rules-YYYYMMDD.json

エクスポート

  1. 画面右上の [ JSON エクスポートアイコン ] ボタンをクリックします。
  2. JSON 編集画面が表示されたら、[ エクスポートアイコン エクスポート ] ボタンをクリックします。
    • イベントを検索した状態でエクスポート機能を使用すると、検索結果のみが JSON ファイルとしてダウンロードされます。
  3. JSON ファイルがダウンロードされたら、共有したい他のユーザーに渡してください。

インポート

  1. 画面右上の [ インポートアイコン ] ボタンをクリックします。
  2. エクスポート 機能でダウンロードした JSON ファイルを選択します。
  3. JSON 編集画面が表示されたら、[ 一覧に追加 ] または [ 上書き ] を選択します。
注意

同じ種類の製品間での利用を推奨します。異なる製品のプロジェクトからイベント設定を取り込むことは可能ですが、正常に動作しない場合があります。

JSON 形式で編集する

  1. 画面右上の [ JSON エクスポートアイコン ] ボタンをクリックします。

  2. 編集画面が表示されたら、JSON 形式に従って内容を修正してください。

  3. 修正が完了したら、画面下部の [ 保存 ] ボタンをクリックします。

ノート

修正した内容が JSON 形式に合っていない場合、画面下部にエラーメッセージが表示され、保存できません。表示されるエラーメッセージは、形式エラーの内容によって異なる場合があります。

JSON error

JSON データ構造
{
"version": 2,
"eventId": "zcef7s7f27rum1",
"enabled": true,
"stateful": false,
"title": "Active Transaction",
"message": "Active Transaction = ${active_tx_count}",
"category": "app_counter",
"alertLabel": [
"oid"
],
"repeatCount": 1,
"repeatDuration": 0,
"silent": 300000,
"receiver": [],
"timeTag": [],
"selectString": "",
"conditions": [
{
"level": 20,
"enabled": true,
"rule": "active_tx_count > 100"
}
],
"createTime": 1763632674345,
"lastModifiedTime": 1763632674347,
"lastModifiedUser": "support@whatap.io",
"basic": true,
"metaId": "java004",
"selectCondition": {
"oid": [
"-1010758404",
"-250906941"
]
}
}
表 | JSON データ構造
JSON フィールド説明備考
versionIntegerイベントルールのバージョン変更制限
eventIdStringイベントルールの一意識別子
enabledbooleanイベントの有効/無効
statefulboolean状態ベースイベントかどうか
titleStringユーザーが設定したイベントルール名
messageStringユーザーが設定したイベントルールメッセージ
categoryStringデータカテゴリ
alertLabelList<String>イベント状態管理のため、カテゴリごとに指定される基本識別子(プライマリキー)値変更制限
repeatCountInteger繰り返し回数
repeatDurationLong繰り返し期間
silentInteger一時停止時間
receiverList<String>受信タグのキー値一覧
timeTagList<String>動作時間タグのキー値一覧
selectStringString対象選択
conditionsList<Object>レベル別の発生条件一覧
ㄴ levelbyteレベル値Critical: 30、Warning: 20、Info: 10
ㄴ enabledbooleanレベルの有効/無効
ㄴ ruleStringレベル発生条件
createTimeLongイベントルールの初回作成時刻
lastModifiedTimeLongイベントルールの最終修正時刻
lastModifiedUserStringイベントルールを最後に修正したアカウント
basicbooleanクイック設定で作成されたイベントかどうか変更制限
metaIdStringクイック設定テンプレートの一意識別子変更制限: この値はクイック設定で作成されたイベントにのみ存在します(basic=true)。
selectConditionObjectクイック設定の対象選択値この値はクイック設定で作成されたイベントにのみ存在します(basic=true)。
注意

「変更制限」と表示されたフィールドはイベント動作に影響を与える可能性があるため、値を変更しないことを推奨します。


付録

発生条件・対象選択ガイド

メトリクスアラートにおけるイベントの発生条件とイベント対象の選択は、同一の構文を使用します。ただし、イベント発生条件ではフィールド(Field)のキーを変数として使用し、イベント対象の選択ではタグ(Tag)のキーを変数として使用します。

レベル動作ガイド

イベントレベルは、危険(Critical)、警告(Warning)、正常(Info)の3段階に分類されます。

  1. 優先順位に基づくイベント発生

    複数のレベル条件を同時に満たした場合、最も優先度の高いイベントのみが発生します。

    設定:
    - Warning: CPU > 70%
    - Critical: CPU > 90%

    現在の状態: CPU 95%
    → 結果: Critical イベントのみ発生(Warning は抑制される)
  2. レベル上昇

    進行中状態を持つイベントにおいて、低いレベルのイベントが進行中の状態で高いレベルの条件を満たすと、両方のレベルが進行中状態になります。

    設定:
    - Warning: CPU > 70%
    - Critical: CPU > 90%

    シナリオ:
    1) CPU 80% → Warning 発生(進行中)
    2) CPU 95% → Warning(進行中)、Critical(進行中)
  3. レベル下降

    進行中状態を持つイベントで、高いレベルから低いレベルへ遷移した場合、高いレベルは解消され、低いレベルが維持されます。

    設定:
    - Warning: CPU > 70%
    - Critical: CPU > 90%

    シナリオ:
    1) CPU 97% → Critical 発生
    2) CPU 85% → Critical 解消、Warning 維持
    3) CPU 65% → Warning 解消
  4. 動作フロー

    - 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
  1. 比較演算子

    数値比較
        より大きい:        cpu > 80
    以上: cpu >= 80
    より小さい: memory < 1000
    以下: memory <= 1000
    等しい: status == 200
    等しくない: error != 0
    文字列比較
        status == 'OK'
    region == "us-east-1"
  2. 算術演算子

    • 基本的な算術演算

      加算:        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
  3. 論理演算子

    • 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)
  4. パターンマッチング演算子

    • LIKE 演算子

      oname like 'prod-*'
      url like '*error*'
      message like 'WARN%'
    • NOT LIKE 演算子

      oname not like 'test-*'
      url not like '*debug*'
  5. 組み込み関数

    • 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 > 70)
      • 演算子の連続使用(例: cpu >> 80, cpu >< 80)