概要
このドキュメントのトピックは、Grafana バージョン 10.x をサポートする Grafana ワークスペース向けです。
Grafana バージョン 9.x をサポートする Grafana ワークスペースについては、「Grafana バージョン 9 での作業」を参照してください。
Grafana バージョン 8.x をサポートする Grafana ワークスペースについては、「Grafana バージョン 8 での作業」を参照してください。
始めたばかりのユーザーでも、Grafana アラートの経験豊富なユーザーでも、アラートの作成、管理、対応に役立つ基本と利用可能な機能の詳細を確認することで、問題を迅速に解決するチームの能力を向上させることができます。
原則
Prometheus ベースのアラートシステムでは、アラートを作成するアラートジェネレーターと、アラートを受信するアラートレシーバーがあります。たとえば、Prometheusはアラートジェネレーターであり、アラートルールの評価を担当します。アラートマネージャーはアラートレシーバーであり、発射アラートと解決済みアラートに関する通知のグループ化、禁止、サイレンシング、送信を担当します。
Grafana アラートは、アラートシステムを設計する Prometheus モデルに基づいて設計されています。アラートルールのスケジュールと評価を担当する内部アラートジェネレーターと、通知のグループ化、禁止、サイレンシング、送信を担当する内部アラートレシーバーがあります。Grafana は Prometheus をアラートジェネレーターとして使用しません。これは、Grafana アラートが Prometheus に加えて他の多くのデータソースと連携する必要があるためです。ただし、アラートマネージャーをアラートレシーバーとして使用します。
アラートはアラートレシーバーに送信され、ルーティング、グループ化、禁止、サイレンシング、通知されます。Grafana アラートでは、デフォルトのアラートレシーバーは Grafana 内に埋め込まれたアラートマネージャーであり、Grafana アラートマネージャーと呼ばれます。ただし、他のアラートマネージャーを使用することもできます。これらは外部アラートマネージャーと呼ばれます。
基礎
以下に、Grafana アラートのさまざまな部分の概要を示します。
アラートルール
アラートルールは、アラートがいつ発生するかを決定する一連の基準です。これは、1つ以上のクエリと式、満たす必要がある条件、アラートルールを評価する頻度を決定する間隔、およびアラートを発射するために条件を満たす必要がある期間で構成されます。
アラートルールはその間隔で評価され、各アラートルールは一度に0、1、または任意の数のアラートを発射できます。アラートルールの状態は、通常、保留中、または発射のいずれかの severe
アラートによって決まります。例えば、アラートルールのアラートの少なくとも 1 つが発射されている場合、アラートルールも発射されます。アラートルールの状態は、最新の評価のステータスによって決まります。これらは、OK、Error、NoData のいずれかです。
アラートルールの非常に重要な特徴は、カスタム注釈とラベルをサポートすることです。これにより、概要や説明などの追加のメタデータを使用してアラートを計測し、特定の通知ポリシーにアラートをルーティングするためのラベルを追加できます。
アラート
アラートは、ラベルと呼ばれるキーと値のペアのセットによって一意に識別されます。各キーはラベル名、各値はラベル値です。例えば、あるアラートにはラベル foo=bar
があり、別のアラートにはラベル foo=baz
がある場合があります。アラートには foo=bar,bar=baz
などの多くのラベルを含めることができますが、foo=bar,foo=baz
などの同じラベルを 2 回持つことはできません。2 つのアラートに同じラベルを付けることもできず、2 つのアラートに foo=bar,bar=baz
と foo=bar,bar=baz
などの同じラベルがある場合、いずれかのアラートが破棄されます。アラートは、アラートルールの条件が満たされなくなるか、アラートルールが削除されると解決されます。
Grafana マネージドアラートでは、アラートは、正常、保留中、アラート中、データなし、エラー状態のいずれかになります。Mimir や Loki などのデータソースマネージドアラートでは、アラートは正常、保留中、アラートにすることができますが、NoData やエラーにすることはできません。
コンタクトポイント
コンタクトポイントは、通知の送信先を決定します。例えば、E メールアドレス、Slack、Grafana OnCall や Pagerduty などのインシデント管理システム (IRM)、またはウェブフックに通知を送信するコンタクトポイントがあるとします。
コンタクトポイントから送信される通知は、通知テンプレートを使用してカスタマイズできます。通知テンプレートを使用して、通知の件名、メッセージ、構造を変更できます。通知テンプレートは、個々の統合やコンタクトポイントに固有のものではありません。
通知ポリシー
通知ポリシーはアラートをグループ化し、コンタクトポイントにルーティングします。通知が送信されるタイミングと、通知を繰り返す頻度を決定します。
アラートは、ラベルマッチャーを使用して通知ポリシーとマッチングされます。これらは、アラートのラベルが完全に一致するかどうか、完全に一致しないかどうか、予期されるテキストが含まれているかどうか、または含まれていないかどうかを示す、人間が判読できる式です。例えば、マッチャー foo=bar
はアラートをラベル foo=bar
に一致させ、マッチャー foo=~[a-zA-Z]+
は foo という名前のラベルを正規表現 [a-zA-Z]+
に一致する値に一致させます。
デフォルトでは、アラートは 1 つの通知ポリシーにのみ一致できます。ただし、 continue
機能を使用すると、任意の数の通知ポリシーを同時に一致させるようにアラートを作成できます。通知ポリシーの詳細については、「通知ポリシー」を参照してください。
サイレンスとミュートタイミング
サイレンスとミュートタイミングを使用すると、特定のアラートまたは通知ポリシー全体の通知を一時停止できます。アラートの修正作業中など、サイレンスを使用してアドホックベースで通知を一時停止し、定期的なメンテナンスウィンドウ中など、ミュートタイミングを使用して定期的に通知を一時停止することができます。