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

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

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

このドキュメントトピックは、Grafana バージョン 8.x をサポートする Grafana ワークスペース向けに設計されています。

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

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

アラートルールは、アラートが開始されるかどうかを決定する一連の評価基準です。ルールは、1 つ以上のクエリと式、条件、評価の頻度、およびオプションで条件が満たされる期間で構成されます。

クエリと式が評価するデータセットを選択する間、条件はアラートを作成するためにアラートが満たす必要があるしきい値を設定します。間隔は、アラートルールが評価される頻度を指定します。期間を設定すると、条件を満たす必要がある期間を示します。ルールでは、データがない場合のアラート動作を定義することもできます。

以下のセクションでは、さまざまな種類の Grafana アラートルールの作成と管理について説明します。

Cortex または Loki マネージドアラートルールの作成

Grafana を使用すると、外部 Cortex または Loki インスタンスのアラートルールを作成できます。

注記

Cortex は、Amazon Managed Service for Prometheus および Prometheus データソースで使用される時系列データベースです。

前提条件

  • Prometheus データソースへの書き込みアクセス許可があることを確認します。それ以外の場合、Cortex マネージドアラートルールを作成または更新することはできません。

  • Cortex および Loki データソースの場合は、それぞれのサービスを設定してルーラー API を有効にします。

    • Loki – Loki データソースのデフォルトlocalであるルールストレージタイプは、ルールの表示のみをサポートします。ルールを編集するには、他のストレージタイプのいずれかを設定します。

    • Cortex – ではなくレガシー/api/promプレフィックスを使用します/prometheus。Prometheus データソースは Cortex と Prometheus の両方をサポートしており、Grafana は Query API と Ruler API の両方が同じ URL にあることを想定しています。ルーラー API に別の URL を指定することはできません。

注記

特定の Loki または Prometheus データソースのアラートルールを管理したくない場合は、その設定に移動し、アラート UI によるアラートの管理チェックボックスをオフにします。

Cortex または Loki マネージドアラートルールを追加するには
  1. Grafana コンソールの Grafana メニューでアラート (ベル) アイコンを選択して、既存のアラートを一覧表示するアラートページを開きます。

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

  3. ステップ 1 で、次のようにルール名、タイプ、ストレージの場所を追加します。

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

    • ルールタイプのドロップダウンから、Cortex/Loki マネージドアラート を選択します。

    • データソースの選択ドロップダウンから、Prometheus または Loki データソースを選択します。

    • 名前空間ドロップダウンから、既存のルール名前空間を選択します。それ以外の場合は、新規追加 を選択し、名前を入力して作成します。名前空間には 1 つ以上のルールグループを含めることができ、組織的な目的のみを持つことができます。詳細については、「Cortex または Loki ルールグループと名前空間」を参照してください。

    • グループドロップダウンから、選択した名前空間内の既存のグループを選択します。それ以外の場合は、新規追加 を選択し、名前を入力して作成します。新しく作成されたルールがグループの末尾に追加されます。グループ内のルールは、同じ評価時間で一定の間隔で順番に実行されます。

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

    値は PromQL 式または LogQL 式にすることができます。評価結果に 0 より大きい値を持つシリーズが少なくとも 1 つある場合、ルールはアラートを開始します。各シリーズにアラートが作成されます。

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

    条件の For テキストボックスで、アラートが開始される前に条件を true にする必要がある期間を指定します。を指定する場合5m、アラートが開始される前に 5 分間条件が true である必要があります。

    注記

    条件が満たされると、アラートは Pending状態になります。指定された期間、条件がアクティブなままである場合、アラートは Firing状態に移行します。満たされなくなった場合、 Normal状態に戻ります。

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

    • 説明と概要を追加して、アラートメッセージをカスタマイズします。のガイドラインを使用しますアラートルールの注釈とラベル

    • ランブック URL、パネル、ダッシュボード、アラート IDsを追加します。

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

  7. アラートのプレビューを選択してルールを評価し、生成されるアラートを確認します。各アラートの状態と値を含むアラートのリストが表示されます。

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

Cortex または Loki が管理する録画ルールの作成

外部 Cortex または Loki インスタンスの記録ルールを作成および管理できます。記録ルールは、頻繁に必要な式または計算コストの高い式を事前に計算し、その結果を新しい時系列セットとして保存します。この新しい時系列のクエリは、特にダッシュボードでは、ダッシュボードが更新されるたびに同じ式をクエリするため、高速です。

前提条件

Cortex および Loki データソースの場合は、それぞれのサービスを設定してルーラー API を有効にします。

  • Loki – Loki データソースのデフォルトlocalであるルールストレージタイプは、ルールの表示のみをサポートします。ルールを編集するには、他のストレージタイプのいずれかを設定します。

  • Cortex – Cortex を指すように Grafana Prometheus データソースを設定する場合は、 ではなくレガシー/api/promプレフィックスを使用します/prometheus。Prometheus データソースは Cortex と Prometheus の両方をサポートしており、Grafana は Query API と Ruler API の両方が同じ URL にあることを想定しています。ルーラー API に別の URL を指定することはできません。

注記

特定の Loki または Prometheus データソースのアラートルールを管理しない場合は、その設定に移動し、アラート UI によるアラートの管理チェックボックスをオフにします。

Cortex または Loki マネージド録音ルールを追加するには
  1. Grafana コンソールの Grafana メニューからアラート (ベル) アイコンを選択して、既存のアラートを一覧表示するアラートページを開きます。

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

  3. ステップ 1 で、次のようにルール名、タイプ、ストレージの場所を追加します。

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

    • ルールタイプのドロップダウンから、Cortex/Loki マネージドアラート を選択します。

    • データソースの選択ドロップダウンから、Prometheus または Loki データソースを選択します。

    • 名前空間ドロップダウンから、既存のルール名前空間を選択します。それ以外の場合は、新規追加 を選択し、名前を入力して作成します。名前空間には 1 つ以上のルールグループを含めることができ、組織的な目的のみを持つことができます。詳細については、「Cortex または Loki ルールグループと名前空間」を参照してください。

    • グループドロップダウンから、選択した名前空間内の既存のグループを選択します。それ以外の場合は、新規追加 を選択し、名前を入力して作成します。新しく作成されたルールがグループの末尾に追加されます。グループ内のルールは、同じ評価時間で一定の間隔で順番に実行されます。

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

    値は PromQL 式または LogQL 式にすることができます。評価結果に 0 より大きい値を持つシリーズが少なくとも 1 つある場合、ルールはアラートを開始します。各シリーズにアラートが作成されます。

  5. ステップ 3 で、ルールに関連付けられたメタデータを追加します。

    • 説明と概要を追加して、アラートメッセージをカスタマイズします。のガイドラインを使用しますアラートルールの注釈とラベル

    • ランブック URL、パネル、ダッシュボード、アラート IDsを追加します。

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

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

Grafana マネージドアラートルールの作成

Grafana では、1 つ以上のデータソースをクエリし、結果を減少または変換して、相互に比較したり、しきい値を修正したりするアラートルールを作成できます。これらが処理されると、Grafana は連絡先に通知を送信します。

注記

Grafana アラートの使用中に Grafana マネージドアラートルールを作成すると、ルールが一致したときに複数の通知が送信されます。一部のコンタクトセンタープロバイダーには、通知の重複を解除するための設定可能なオプションがある場合があります。

Grafana マネージドルールを追加するには
  1. Grafana コンソールの Grafana メニューからアラート (ベル) アイコンを選択して、既存のアラートを一覧表示するアラートページを開きます。

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

  3. ステップ 1 で、次のようにルール名、タイプ、ストレージの場所を追加します。

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

    • ルールタイプのドロップダウンから、Grafana マネージドアラート を選択します。

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

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

    • デフォルト名のままにするか、カーソルを合わせ、編集アイコンを選択して名前を変更します。

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

    • 1 つ以上のクエリまたは式を追加します (式の詳細については、Grafana ドキュメント「式」を参照してください)。

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

    • クエリの実行 を選択して、クエリが成功したことを確認します。

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

    • 条件ドロップダウンから、クエリまたは式を選択してアラートルールを開始します。

    • すべての を評価する で、評価の頻度を指定します。10 秒の倍数である必要があります。例えば、1m30s などです。

    • の評価では、アラートが開始される前に条件が true である必要がある期間を指定します。

      注記

      条件に違反すると、アラートは Pending状態になります。指定された期間、条件が超過したままの場合、アラートは Firing状態に移行します。満たされなくなった場合は、 Normal状態に戻ります。

    • 「データとエラー処理を設定しない」で、データがない場合のアラート動作を設定します。 のガイドラインを使用しますデータまたはエラーケースなしの処理

    • アラートのプレビューを選択して、現時点でクエリを実行した結果を確認します。プレビューでは、データとエラー処理条件は除外されます。

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

    • 説明と概要を追加して、アラートメッセージをカスタマイズします。のガイドラインを使用しますアラートルールの注釈とラベル

    • ランブック URL、パネル、ダッシュボード、アラート IDsを追加します。

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

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

単一および多次元ルール

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

単一次元ルール (クラシック条件)

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

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

多次元ルール

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

注記

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

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

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

  • ルールの条件を持つMath式を追加します。これは、ルールがアラートを開始すべきでない場合、クエリまたは reduce 式が既に 0 を返す場合や、アラートを開始する必要がある場合は正の数値を返す場合は必要ありません。

    例:

    • $B > 70 B クエリ/式の値が 70 を超える場合にアラートを開始するかどうか。

    • $B < $C * 100 B の値が C の値に 100 を掛けた値よりも小さい場合にアラートを開始する必要がある場合に備えて、 を使用します。比較されるクエリの結果に複数のシリーズがある場合、異なるクエリのシリーズが同じラベルを持つか、一方が他のクエリのサブセットである場合、それらが照合されます。

注記

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

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

各アラートインスタンスは、アラートクォータにカウントされます。アラートクォータ内で対応できる数よりも多くのインスタンスを作成する多次元ルールは評価されず、クォータエラーを返します。詳細については、「クォータ到達エラー」を参照してください。

多次元アラートは、Grafana ワークスペースのパフォーマンスや、Grafana がアラートルールを評価するためにクエリを実行する際のデータソースのパフォーマンスに大きな影響を与える可能性があります。以下の考慮事項は、モニタリングシステムのパフォーマンスを最適化する際に役立ちます。

  • ルール評価の頻度 – アラートルールのすべての評価プロパティは、ルール評価の頻度を制御します。許容される最も低い評価頻度を使用することをお勧めします。

  • 結果セットの基数 – ルールで作成するアラートインスタンスの数は、そのパフォーマンスに影響します。フリート内のすべての VM で、すべての API パスの API レスポンスエラーをモニタリングしているとします。このセットには、パスの数に VMs。例えば、VM ごとのパスごとではなく VM ごとの合計エラーをモニタリングすることで、結果セットの基数を減らすことができます。

  • クエリの複雑さ — データソースが処理して応答できるクエリは、消費するリソースをすばやく減らすことができます。この考慮事項は、上記の他の考慮事項ほど重要ではありませんが、それらをできるだけ減らした場合、個々のクエリのパフォーマンスを見ると違いが生じる可能性があります。また、これらのルールの評価がデータソースに与える影響にも注意する必要があります。アラートクエリは、データベースのモニタリングによって処理されるクエリの大部分であることが多いため、Grafana インスタンスに影響するのと同じ負荷要因がクエリにも影響します。

クォータ到達エラー

1 つのワークスペース内に保持できるアラートインスタンスの数にはクォータがあります。この数に達すると、そのワークスペースに新しいアラートルールを作成できなくなります。多次元アラートでは、アラートインスタンスの数は時間の経過とともに変化する可能性があります。

アラートインスタンスを使用する際に覚えておくべき重要な点は次のとおりです。

  • 単一ディメンションルールのみを作成する場合、各ルールは単一のアラートインスタンスです。1 つのワークスペースに、アラートインスタンスのクォータと同じ数のルールを作成できます。

  • 多次元ルールは複数のアラートインスタンスを作成しますが、その数は評価されるまでわかりません。例えば、Amazon EC2 インスタンスの CPU 使用率を追跡するアラートルールを作成すると、作成時に 50 個の EC2 インスタンス (つまり 50 個のアラートインスタンス) が存在する可能性がありますが、1 週間後にさらに 10 個の EC2 インスタンスを追加すると、次の評価には 60 個のアラートインスタンスが含まれます。

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

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

  • が評価QuotaReachedErrorを停止するルール。評価は、更新が行われ、更新後の評価によってそれ自体が が発生しない場合にのみ再開されますQuotaReachedError。評価されていないルールは、Grafana コンソールでクォータ到達エラーを表示します。

  • アラートルールを削除するか、多次元アラートを編集してアラートインスタンスの数を減らすことができます (例えば、VM 内の API ごとに 1 つのアラートではなく、VM ごとに 1 つのエラーに対して 1 つのアラートを設定するなど)。

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

  • アラートが保存され、アラートクォータを超過せずに評価を再開すると、クォータ到達エラーがしばらくの間 (評価間隔まで) Grafana コンソールに引き続き表示されますが、ルールのしきい値が満たされると、アラートルールの評価が開始され、アラートが送信されます。

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

データまたはエラーケースなしの処理

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

データを処理しないためのオプションを次の表に示します。

データなしオプション Behavior

データなし

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

アラート

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

OK

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

エラーケースを処理するためのオプションを次の表に示します。

エラーまたはタイムアウトオプション Behavior

アラート

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

OK

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

エラー

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

アラートルールの注釈とラベル

アノテーションとラベルは、アラートルール、データソースレスポンス、アラートルール評価の結果として発生したアラートに関連付けられたキーと値のペアです。アラート通知で直接使用することも、テンプレートテンプレート関数で使用して、通知連絡先を動的に作成することもできます。

注釈

注釈は、アラートに関する追加情報を提供するキーと値のペアです。次の注釈を使用できます: descriptionsummaryrunbook_url、、alertIddashboardUid、および panelId。これらは UI のルールとアラートの詳細に表示され、コンタクトポイントメッセージテンプレートで使用できます。

ラベル

ラベルは、アラートに関する情報を含むキーと値のペアです。アラートのラベルセットは、アラートの評価と通知プロセスを通じて生成され、 に追加されます。これらは次の方法で使用されます。

  • アラートの完全なラベルセットは、Grafana アラート内でそのアラートを一意に識別します。

  • Alertmanager は、ラベルを使用して、通知ポリシー 内の無音アラートグループのアラートを照合します。

  • アラート UI には、そのルールの評価によって生成されたすべてのアラートインスタンスのラベルが表示されます。

  • コンタクトポイントは、ラベルにアクセスして、通知の結果であるアラートに固有の情報を含む通知を動的に生成できます。

  • ラベルはアラートルール に追加できます。これらの手動で設定されたラベルは、テンプレート関数を使用したり、他のラベルを参照したりできます。ここでアラートルールに追加されたラベルは、ラベルが衝突した場合に優先されます。

注釈とラベルを展開する場合、次のテンプレート変数を使用できます。

名前 説明

$labels

クエリまたは条件のラベル。例えば、{{ $labels.instance }}{{ $labels.job }} です。これは、ルールがクラシック条件を使用している場合は使用できません。

$values

すべての の値は、このアラートルールに対して評価された数式と数式を減らします。例えば、、 {{ $values.A }}{{ $values.A.Labels }}{{ $values.A.Value }}refID式の Aです。これは、ルールがクラシック条件を使用する場合は使用できません。

$value

アラートインスタンスの値文字列。例えば [ var='A' labels={instance=foo} value=10 ] です。

アラートルールの管理

アラートページには、アラートルールが一覧表示されます。デフォルトでは、ルールはデータソースのタイプ別にグループ化されます。Grafana セクションには Grafana によって管理されるルールが一覧表示され、Cortex/Loki セクションには Prometheus 互換データソースのルールが一覧表示されます。Prometheus 互換データソースのアラートルールを表示できますが、編集することはできません。

アラートルールを表示する

Grafana アラートを使用すると、すべてのアラートを 1 ページに表示できます。

アラートの詳細を表示するには
  1. Grafana コンソールの Grafana メニューで、アラート (ベル) アイコンを選択してアラートページを開きます。デフォルトでは、ルールはデータソースタイプ別にグループで表示されます。各アラートの現在の状態別に表示することもできます (詳細については、次のテキストで説明します)。

  2. として表示では、任意のオプションを選択して、グループビューと状態ビューを切り替えることができます。

  3. 行の横にある矢印を選択すると、その行の詳細が表示されます。ルールの詳細には、ルールのラベル、注釈、データソース、クエリ、およびルールから生成されたアラートインスタンスのリストが含まれます。

グループビュー

グループビューには、フォルダ別にグループ化された Grafana アラートルールと、namespace+ 別にグループ化された Loki または Prometheus アラートルールが表示されますgroup。これは、ルールを管理するためのデフォルトのルールリストビューです。各グループを展開して、このグループのルールのリストを表示できます。ルールをさらに展開して、その詳細を表示します。また、ルールから生成されたアクションボタンとアラートを展開して、詳細を表示することもできます。

状態ビュー

状態ビューには、状態別にグループ化されたアラートルールが表示されます。このビューを使用して、どのルールがどの状態にあるかの概要を取得します。各ルールを展開して詳細を表示できます。アクションボタンとこのルールによって生成されたアラート、および各アラートをさらに展開して詳細を表示できます。

フィルターアラートルール

アラートページに表示されるアラートルールは、いくつかの方法でフィルタリングできます。

  • データソースの選択 を選択し、フィルタリングするデータソースを選択することで、特定のデータソースをクエリするルールをフィルタリングして表示できます。

  • ラベルで検索 で検索条件を選択して、ラベルでフィルタリングできます。サンプル条件には、environment=productionregion=~US|EU、 などがありますseverity!=warning

  • 状態 でアラートをフィルタリングし、表示する状態を選択することで、特定の状態のルールを表示するようにフィルタリングできます。

アラートルールの編集または削除

Grafana マネージドアラートルールは、ルールを保存するフォルダの編集権限を持つユーザーのみが編集または削除できます。外部 Cortex または Loki インスタンスのアラートルールは、エディタまたは管理者ロールを持つユーザーが編集または削除できます。

ルールを編集または削除するには
  1. 表示編集削除のルールコントロールが表示されるまでルールを展開します。

  2. 編集 を選択してルールの作成ページを開きます。ルールを作成するのと同じ方法で更新を行います。詳細については、Grafana マネージドアラートルールの作成「」または「」の手順を参照してくださいCortex または Loki マネージドアラートルールの作成

  3. オプションで、削除を選択してルールを削除します。

Cortex または Loki ルールグループと名前空間

ルールを整理できます。ルールはルールグループ内に作成され、ルールグループは名前空間に編成されます。ルールグループ内のルールは、一定の間隔で順番に実行されます。デフォルトの間隔は 1 分です。Cortex または Loki の名前空間とルールグループの名前を変更したり、ルールグループの評価間隔を編集したりできます。

ルールグループまたは名前空間を編集するには
  1. Grafana コンソールの Grafana メニューで、アラート (ベル) アイコンを選択してアラートページを開きます。

  2. 編集するルールグループまたは名前空間内のルールに移動します。

  3. 編集 (ペン) アイコンを選択します。

  4. ルールグループまたは名前空間を変更します。

    注記

    名前空間では、名前のみを編集できます。ルールグループの場合は、グループ内のルールの名前または評価間隔を変更します。例えば、ルール1mを 1 分に 1 回評価するか、30 秒に 1 回評価30sするかを選択できます。

  5. [変更を保存] を選択します。