LoginSignup
0
0

Grafana で 2 つのクエリの結果を条件にしたアラートルールの作成手順

Last updated at Posted at 2024-05-12

Grafana で Azure Monitor をデータソースとして使用し、特定の条件に基づくアラートを設定する方法を解説します。
この例では、Kusto クエリ言語(KQL)を用いて、Azure のサインインログを分析し、アクセス成功率が過去 5 日間の平均の 85%未満に低下した場合にアラートを出す設定を行います。

前提条件

  • Grafana に Azure Monitor データソースが追加されていること。
  • Azure Monitor で Kusto クエリ言語(KQL)が利用可能であること。

ステップ 1: ダッシュボードとパネルの設定

  1. Grafana の左側のナビゲーションバーから「+」アイコンをクリックし、「ダッシュボード」を選択します。
  2. 「新しいパネル」をクリックして、クエリエディターを開きます。

ステップ 2: Azure Monitor データソースの設定

  1. パネルのデータソースとして「Azure Monitor」を選択します。
  2. 「Logs」タブを選択し、KQL を用いてサインインログのクエリを設定します。

ステップ 3: クエリの作成

  • クエリ A (本日のアクセス成功率)

      // 当日のサインイン成功数と試行数を取得
      let today_signins = SigninLogs
      | where TimeGenerated >= startofday(now()) and TimeGenerated < endofday(now())
      | summarize successful_signins = countif(ResultType == 0), signin_attempts = count() by UserId;
      
      // 当日のサインイン成功率を計算
      let today_success_rate = today_signins
      | project UserId, today_success_rate = todouble(successful_signins) / todouble(signin_attempts) * 100;
    
      // 当日のサインイン成功率
      today_success_rate
      | project today_success_rate
    
  • クエリ B (過去 5 日間の平均アクセス成功率の85%)

      // 過去5日間のサインイン成功数と試行数を取得
      let past_5_days_signins = SigninLogs
      | where TimeGenerated >= startofday(now()) - 5d and TimeGenerated < startofday(now())
      | summarize successful_signins = countif(ResultType == 0), signin_attempts = count() by UserId;
      
      // 過去5日間のサインイン成功率を計算
      let past_5_days_success_rate = past_5_days_signins
      | summarize past_5_days_successful_signins = sum(successful_signins), past_5_days_signin_attempts = sum(signin_attempts)
      | project past_5_days_success_rate = todouble(past_5_days_successful_signins) / todouble(past_5_days_signin_attempts) * 100 * 0.85;
      
      // 過去5日間のサインイン成功率
      past_5_days_success_rate
      | project past_5_days_success_rate
    

ステップ 4: アラートの設定

  1. パネル上部の「アラート」タブをクリックします。
  2. 「Create Alert」ボタンをクリックしてアラート設定を開始します。
  3. アラート名を設定し、以下のように条件を入力します。
    • 「WHEN」セクションで、「avg()」を選択し、クエリ A の結果が「IS BELOW」クエリ B の ときにトリガーされるように設定します。

ステップ 5: 評価期間と通知チャネルの設定

  1. アラートの評価期間を「5m」や「10m」など、適切な間隔で設定します。
  2. 「Notifications」セクションで通知チャネルを選択し、アラート発生時に通知されるように設定します。

ステップ 6: アラートルールの保存

  1. 全ての設定を確認し、右上の「Save」ボタンをクリックしてアラートルールを保存します。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0