翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アラートの基礎
このドキュメントトピックは、Grafana バージョン 8.x をサポートする Grafana ワークスペース向けに設計されています。
Grafana バージョン 10.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 10 での作業。
Grafana バージョン 9.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 9 での作業。
このセクションでは、Grafana アラートの基本概念について説明します。
アラートの概念
次の表は、Grafana アラートの主な概念を示しています。
主要な概念または機能 | 定義 |
---|---|
アラート用のデータソース |
メトリクス、ログ、トレースをクエリおよび視覚化するデータソースを選択します。 |
スケジューラー |
アラートルールを評価します。これは、データソースに対して定期的にクエリを実行するコンポーネントです。これは Grafana マネージドルールにのみ適用されます。 |
アラートマネージャー |
アラートインスタンスのルーティングとグループ化を管理します。 |
アラートルール |
アラートルールを起動するタイミングに関する一連の評価基準。アラートルールは、1 つ以上のクエリと式、条件、評価の頻度、および条件が満たされる期間で構成されます。アラートルールは、複数のアラートインスタンスを生成できます。 |
アラートインスタンス |
アラートインスタンスは、アラートルールのインスタンスです。単一次元のアラートルールには、1 つのアラートインスタンスがあります。多次元アラートルールには、1 つ以上のアラートインスタンスがあります。10 VMs に対する CPU などの複数の結果に一致する 1 つのアラートルールは、複数の (この場合は 10 個) のアラートインスタンスとしてカウントされます。この数は時間の経過とともに異なる場合があります。例えば、システム内のすべての VMs の CPU 使用率をモニタリングするアラートルールでは、VM が追加されるにつれてVMs。alert-instance クォータの詳細については、「」を参照してくださいクォータ到達エラー。 |
アラートグループ |
Alertmanager は、ルート通知ポリシーのラベルを使用して、デフォルトでアラートインスタンスをグループ化します。これにより、コンタクトポイントに送信される重複排除とアラートインスタンスのグループが制御されます。 |
連絡先 |
アラートルールが発生したときに連絡先に通知する方法を定義します。 |
メッセージテンプレート |
再利用可能なカスタムテンプレートを作成し、問い合わせポイントで使用します。 |
通知ポリシー |
アラートをグループ化してコンタクトポイントにルーティングする場所、タイミング、および方法に関するルールのセット。 |
ラベルとラベルマッチャー |
ラベルはアラートルールを一意に識別します。アラートルールを通知ポリシーと無音にリンクし、それらを処理するポリシーと無音にするアラートルールを決定します。 |
無音 |
1 つ以上のアラートインスタンスからの通知を停止します。無音とミュートタイミングの違いは、無音が、定期的なスケジュールでミュートタイミングが発生する特定の期間続くことです。ラベルマッチャーを使用してアラートインスタンスをサイレンスします。 |
ミュートタイミング |
新しい通知を生成または送信したくない時間間隔を指定します。アラート通知は、メンテナンス期間中など、定期的な期間だけフリーズできます。既存の通知ポリシーにリンクする必要があります。 |
アラートデータソース
Grafana マネージドアラートは、アラートが有効になっている次のバックエンドデータソースをクエリします。
-
Grafana によって組み込みまたは開発および保守されるデータソース:
Alertmanager
、Graphite
、、Prometheus
(Amazon Managed Service for Prometheus を含む)Loki
、、、InfluxDB
Amazon OpenSearch Service
、Google Cloud Monitoring
、Amazon CloudWatch
、Azure Monitor
MySQL
、、、PostgreSQL
、MSSQL
OpenTSDB
Oracle
、、、およびAzure Monitor
。
数値データのアラート
時系列形式でない数値データは、サーバー側の式に直接アラートを送信したり、サーバー側の式に渡したりできます。これにより、データソース内の処理と効率が向上し、アラートルールが簡素化されます。時系列データではなく数値データでアラートを実行する場合、ラベル付けされた各時系列を 1 つの数値に減らす必要はありません。代わりに、ラベル付き番号は Grafana に返されます。
表形式のデータ
この機能は、MySQL 、Postgres、MSSQL、Oracle などの SQL データソースを含む表形式データをクエリするバックエンドデータソースでサポートされています。
Grafana マネージドアラートまたはサーバー側の式を含むクエリは、次のデータソースでは数値と見なされます。
-
データソースクエリ
Table
でFormat AS
オプションが に設定されている場合。 -
クエリから Grafana に返されるテーブルレスポンスに、数値 (int、double、float など) 列が 1 つしか含まれていない場合、オプションで追加の文字列列が含まれます。
文字列列がある場合、それらの列はラベルになります。列の名前はラベル名になり、各行の値は対応するラベルの値になります。複数の行が返された場合、各行はラベルによって一意に識別される必要があります。
例
Diskspace という MySQL テーブルがある場合、次のようにします。
時間 | ホスト | ディスク | PercentFree |
---|---|---|---|
2021-June-7 |
web1 |
/etc |
3 |
2021-June-7 |
Web2 |
/var |
4 |
2021-June-7 |
Web3 |
/var |
8 |
… |
… |
… |
… |
データフィルタリングは時間どおりにクエリできますが、時系列を Grafana に返す必要はありません。例えば、空き領域が 5% 未満の場合にホスト、ディスクごとに開始されるアラートは次のようになります。
SELECT Host, Disk, CASE WHEN PercentFree < 5.0 THEN PercentFree ELSE 0 END FROM ( SELECT Host, Disk, Avg(PercentFree) FROM DiskSpace Group By Host, Disk Where __timeFilter(Time)
このクエリは、Grafana に次のテーブルレスポンスを返します。
ホスト | ディスク | PercentFree |
---|---|---|
web1 |
/etc |
3 |
Web2 |
/var |
4 |
Web3 |
/var |
0 |
このクエリをアラートルールの条件として使用すると、値がゼロ以外のアラートの場合。その結果、次の表のように 3 つのアラートインスタンスが生成されます。
ラベル | ステータス |
---|---|
{ホスト=web1,ディスク=/etc} |
アラート |
{ホスト=web2,ディスク=/var} |
アラート |
{ホスト=web3、ディスク=/var} |
[普通] |
アラートマネージャー
Grafana には Prometheus Alertmanager のサポートが組み込まれています。アラートマネージャーは、アラートルールのグループ化と管理の両方を支援し、アラートエンジンの上にオーケストレーションレイヤーを追加します。デフォルトでは、Grafana マネージドアラートの通知は、コア Grafana の一部である埋め込み Alertmanager によって処理されます。Alertmanager ドロップダウンから Grafana オプションを選択すると、Grafana アラート UI から Alertmanager の連絡先、通知ポリシー、およびテンプレートを設定できます。
Grafana アラートは、外部 Alertmanager 設定をサポートしています (外部データソースとしての Alertmanager の詳細については、「」を参照してくださいAlertmanager データソースに接続する)。外部 Alertmanager を追加すると、Alertmanager ドロップダウンに使用可能な外部 Alertmanager データソースのリストが表示されます。データソースを選択して、スタンドアロンの Cortex または Loki データソースのアラートを作成および管理します。
アラートルールの状態と正常性
アラートルールの状態と正常性は、アラートに関するいくつかの主要なステータスインジケータを理解するのに役立ちます。アラート状態、アラートルール状態、アラートルールの状態の 3 つの主要コンポーネントがあります。関連していますが、各コンポーネントは少し異なる情報を伝えます。
アラートルールの状態
-
正常 – 評価エンジンによって返される時系列のいずれも
Pending
またはFiring
状態ではありません。 -
保留中 — 評価エンジンによって返される時系列の少なくとも 1 つは です
Pending
。 -
ファイリング — 評価エンジンによって返される時系列の少なくとも 1 つは です
Firing
。
アラート状態
-
正常 — アラートルールの条件は、評価エンジンによって返されるすべての時系列で false です。
-
アラート — アラートルールの条件は、評価エンジンによって返される少なくとも 1 つの時系列で true です。アラートが開始される前に条件が true である必要がある期間。設定されている場合は、条件が満たされているか、超過しています。
-
保留中 — アラートルールの条件は、評価エンジンによって返される少なくとも 1 つの時系列で true です。アラートが開始される前に条件が true である必要がある期間。設定されている場合、条件は満たされません。
-
NoData – アラートルールが時系列を返していない、時系列のすべての値が null である、または時系列のすべての値がゼロである。
-
エラー — アラートルールの評価を試みたときのエラー。
アラートルールの正常性
-
OK – アラートルールを評価するときにエラーはありません。
-
エラー — アラートルールを評価する際のエラー。
-
NoData – ルール評価中に返された少なくとも 1 つの時系列にデータがないこと。