Grafana 管理のアラートルールの作成 - Amazon Managed Grafana

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Grafana 管理のアラートルールの作成

このドキュメントのトピックは、Grafana バージョン 9.x をサポートする Grafana ワークスペース向けです。

Grafana バージョン 10.x をサポートする Grafana ワークスペースについては、「Grafana バージョン 10 での作業」を参照してください。

Grafana バージョン 8.x をサポートする Grafana ワークスペースについては、「Grafana バージョン 8 での作業」を参照してください。

Grafana では、1 つ以上のデータソースをクエリして結果を集約または変換して、それらを相互に比較したり、固定のしきい値と比較したりするアラートルールを作成することができます。これらを実行すると、Grafana はコンタクトポイント (通知先) に通知を送信します。

Grafana 管理のルールの追加方法
  1. Grafana コンソールの Grafana メニューで、[アラート] (ベル) アイコンを選択して [アラート] ページを開いて既存のアラートを一覧表示します。

  2. [新しいアラートルール] を選択します。

  3. ステップ 1 で、以下を参照してルール名、タイプ、ストレージの場所を追加します。

    • [ルール名] にわかりやすい名前を追加します。この名前はアラートルールリストに表示されます。またこの名前は、このルールから作成されるすべてのアラートインスタンスの alertname ラベルにもなります。

    • [ルールタイプ] ドロップダウンから、[Grafana 管理のアラート] を選択します。

    • [フォルダ] ドロップダウンから、ルールの保存先となるフォルダを選択します。フォルダを選択しない場合、ルールは General フォルダに保存されます。フォルダを作成する場合、ドロップダウンを選択し、新しいフォルダ名を入力します。

  4. ステップ 2 で、評価するクエリと式を追加します。

    • 名前はデフォルトのままでも構いませんが、変更する場合、カーソルを合わせて編集アイコンを選択します。

    • クエリの場合、ドロップダウンからデータソースを選択します。

    • 1 つ以上のクエリまたは式を追加します。

    • 式ごとに [クラシック条件]を選択して単一のアラートルールを作成するか、[Math][削減][リサンプリング] オプションから選択して、各シリーズに個別のアラートを作成します。これらのオプションの詳細については、「1 次元ルールと多次元ルール」を参照してください。

    • [Run queries] (クエリの実行) を選択して、クエリが正しく動作すことを確認します。

  5. ステップ 3 で、条件を追加します。

    • [条件] ドロップダウンから、アラートルールを発動させるクエリまたは式を選択します。

    • Evaluate every (~ごとに評価する) には、評価の頻度を指定します。10 秒の倍数である必要があります。例えば、1m30s などです。

    • [評価対象] には、アラートが発行されるために必要な条件の継続時間を指定します。

      注記

      条件が違反すると、アラートは Pending 状態に入り、そのまま指定された期間条件の違反が継続するとアラートは Firing 状態に移行します。条件から外れた場合、Normal 状態に戻ります。

    • [Configure no data and error handling] (データがない場合の設定とエラー処理) で、データがない場合のアラート動作を設定します。「データがない場合やエラーが発生した場合の対処」のガイドラインを参照してください。

    • [アラートのプレビュー] を選択してルールを評価し、生成されるアラートを確認します。プレビューでは、データとエラー処理条件は除外されます。

  6. ステップ 4 で、ルールに関連するメタデータを追加します。

    • アラートメッセージのカスタマイズ時に使用する説明と概要を追加します。ガイドライン「ラベルと注釈」を参照してください。

    • Runbook URL、パネル、ダッシュボード、アラート ID を追加します。

    • カスタムラベルを追加します。

  7. [保存] を選択してルールを保存するか、[保存して終了] を選択してルールを保存し、[アラート] ページに戻ります。

ルールを作成したら、ルールの通知を作成できます。通知の詳細については、「アラート通知の管理」を参照してください。

1 次元ルールと多次元ルール

Grafana 管理のアラートルールでは、従来の条件を使用してルールを作成することも、多次元ルールを作成することもできます。

1 次元ルール (従来の条件)

従来の条件式を使用して、条件が満たされたときに単一のアラートを発行するルールを作成します。複数のシリーズを返すクエリの場合、Grafana は各シリーズのアラート状態を追跡しません。そのため、複数のシリーズでアラート条件が満たされた場合でも、Grafana が送信するアラートは 1 件のみです。

式のフォーマット方法の詳細については、Grafana ドキュメントの「」を参照してください。

多次元ルール

クエリで返されるシリーズごとに個別のアラートインスタンスを生成するには、多次元ルールを作成します。

注記

多次元ルールによって生成された各アラートインスタンスは、アラートの合計クォータにカウントされます。クォータに達すると、ルールは評価されなくなります。多次元ルールのクォータの詳細については、「クォータ到達エラー」を参照してください。

1 つのルールから複数のインスタンスを作成するには、MathReduce、または Resample 式を使用して多次元ルールを作成します。例えば、以下のことが可能です。

  • 各クエリに Reduce 式を追加すると、選択した時間範囲の値が 1 つの値に集計されます。(数値データ を使用するルールには必要ありません)。

  • ルールの条件を含む Math 式を追加します。もしクエリや reduce 式がすでにアラートを発行すべき場合は正の数、発行しない場合に 0 を返す場合、これは必要ありません。

    例:

    • $B > 70 は、B クエリ/式の値が 70 を超える場合にアラートを発行します。

    • $B < $C * 100 は、B の値が C の値に 100 を掛けた値より小さい場合にアラートを発行します。比較対象のクエリの結果に複数のシリーズがある場合、異なるクエリのシリーズが同じラベルを持っているか、一方が他方のサブセットである場合に一致します。

注記

Grafana は、テンプレート変数を使用したアラートクエリはサポートしていません。詳細については、コミュニティページ「アラートクエリではアラート設定時にテンプレート変数を使用できません」を参照してください。

多次元ルールのパフォーマンスに関する考慮事項

各アラートインスタンスは、アラートのクォータ (上限数) にカウントされます。アラートの上限数を超えるインスタンスを作成する多次元ルールは評価されず、クォータエラーが返されます。詳細については、「クォータ到達エラー」を参照してください。

多次元アラートは、Grafana ワークスペースや、Grafana がアラートルールを評価するためにクエリを実行するデータソースのパフォーマンスに大きな影響を与える可能性があります。監視システムのパフォーマンスを最適化したい場合、以下の考慮事項を参照してください。

  • ルール評価の頻度 – アラートルールの [Evaluate Every] (~ごとに評価する) プロパティでルール評価の頻度を制御します。評価の頻度を許容可能な最小頻度に収めることをお勧めします。

  • 結果セットのカーディナリティ – ルールで作成されるアラートインスタンスの数は直接そのパフォーマンスに影響します。例えば、すべての仮想マシン上の各 API パスごとに API 応答エラーを監視しているとします。このセットのカーディナリティは「パスの数 × 仮想マシンの数」になります。例えば、仮想マシンあたりのパスごとではなく、仮想マシンあたりの合計エラー数を監視することで、結果セットのカーディナリティを減らすことができます。

  • クエリの複雑さ – データソースが迅速に処理して応答できるクエリにするだけで、リソースの消費を大幅に抑えることができます。これは他の考慮事項よりは重要度が低いものの、他の点での最適化が十分に行われている場合、個別のクエリパフォーマンスの見直しが役立つ可能性があります。また、これらのルールの評価がデータソースに与える影響にも注意する必要があります。アラートクエリは、監視データベースで処理されるクエリの大部分を占めることが多いため、Grafana インスタンスにかかる負荷要因がデータソースにも同様に影響を与えます。

クォータ到達エラー

1 つのワークスペース内に保持できるアラートインスタンスの数にはクォータ (上限) があります。この上限に達した場合、そのワークスペースにこれ以上新たにアラートルールを作成できなくなります。多次元アラートでは、アラートインスタンスの数は時間の経過とともに変動する場合があります。

以下に、アラートインスタンスを使用する際に覚えておくべき重要な点について紹介します。

  • 作成するのが 1 次元ルールのみの場合、ルールからはそれぞれ 1 つのアラートインスタンスが作成されます。1 つのワークスペースに作成できるルールの上限は、アラートインスタンスのクォータ数までとなります。

  • 多次元ルールからは複数のアラートインスタンスが作成されますが、その数は評価されるまでわかりません。例えば、Amazon EC2 インスタンスの CPU 使用率を追跡するアラートルールを作成した場合、最初は 50 台の EC2 インスタンスが対象となり、50 個のアラートインスタンスが作成されますが、1 週間後にさらに 10 台の EC2 インスタンスが追加された場合、次の評価時には 60 個のアラートインスタンスが存在することになります。

    アラートインスタンスの数は、多次元アラートを作成するときに評価され、アラートインスタンスのクォータをすぐに超えるインスタンスを作成することはできません。アラートインスタンスの数は変動する可能性があるため、ルール評価の都度クォータがチェックされます。

  • 評価時に、ルールがアラートインスタンスのクォータを超える場合、アラートルールが更新されアラートインスタンスの合計数がサービスクォータを下回るまで、そのルールは評価されません。この場合、クォータに達したことを通知するアラート通知を受け取ります (通知は評価対象のルールの通知ポリシーを基に送信されます)。通知には、QuotaReachedError 値を含む Error 注釈が含まれています。

  • QuotaReachedError を引き起こすルールは、評価されなくなります。評価は、更新が行われ、更新後の評価が QuotaReachedError を引き起こさなくなった場合にのみ再開されます。評価されていないルールは、Grafana コンソールにクォータ到達エラーが表示されます。

  • アラートインスタンスの数を減らすには、アラートルールを削除するか、複数次元のアラートを編集してアラートインスタンスを減らします (例えば、仮想マシン内の API ごとに 1 個のアラートではなく、仮想マシンごとの 1 件のエラーに対して 1 個のアラートを持つようにします)。

  • 評価を再開するには、アラートを更新して保存します。アラートインスタンスの数を減らすように更新することもできますし、インスタンス数を減らすために他の変更を加えた場合、変更なしで保存しても構いません。再開可能な場合、評価が再開されます。さらに別の QuotaReachedError を引き起こす結果となった場合、保存することはできません。

  • アラートが保存され、アラートクォータを超えることなく評価が再開された場合、Grafana コンソールにはしばらくの間クォータ到達エラーが (次の評価間隔まで) 表示され続けることがありますが、アラートルール評価が開始され、ルールのしきい値に達するとアラートが送信されます。

  • アラートのクォータおよびその他のクォータの詳細については、「Amazon Managed Grafana のサービスクォータ」を参照してください。

データがない場合やエラーが発生した場合の対処

データがない場合やエラーが発生した場合のアラート動作の処理方法を選択します。

データがない場合に選択できる処理方法を、以下の表に照会します。

データがない場合の選択肢 Behavior

データなし

アラートルールの名前と UID、およびラベルとしてデータを返さないデータソースの UID を使用したアラート DatasourceNoData を作成します。

アラート

アラートルールの状態を Alerting に設定します。

OK

アラートルールの状態を Normal に設定します。

エラーが発生した場合に選択できる処理方法を、以下の表に照会します。

エラーまたはタイムアウト時の選択肢 Behavior

アラート

アラートルールの状態を Alerting に設定します

OK

アラートルールの状態を Normal に設定します

エラー

アラートルールの名前と UID、およびラベルとしてデータを返さないデータソースの UID を使用したアラート DatasourceError を作成します。