数値データのアラート - Amazon Managed Grafana

数値データのアラート

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

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

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

このトピックでは、Grafana が時系列データではなく数値データのアラートを処理する方法について説明します。

特定のデータソースでは、時系列ではない数値データをサーバーサイド式 (SSE) で直接アラートしたり、渡したりすることができます。これにより、データソース内の処理と効率が向上し、アラートルールを簡素化することができます。時系列データではなく数値データを基にアラートを送信する場合、ラベル付きの各時系列を 1 つの数値に集約する必要はありません。代わりに、ラベル付き番号が Grafana に返されます。

表形式のデータ

この機能は、表形式データをクエリするバックエンドデータソースでサポートされています。

  • MySQL 、Postgres、MSSQL、Oracle などの SQL データソース。

  • Azure Kusto ベースのサービス: Azure Monitor (Logs)、Azure Monitor (Azure Resource Graph)、および Azure Data Explorer。

Grafana 管理のアラートまたは SSE を含むクエリは、以下の場合、これらのデータソースでは数値として扱われます。

  • データソースクエリの「Format AS」オプションが「テーブル」に設定されている。

  • クエリから Grafana に返されるテーブルレスポンスには、1 つの数値 (int、double、float など) 列と、オプションで追加の文字列列のみが含まれている。

文字列がある場合、それらの列はラベルになります。列の名前がラベル名になり、各行の値が対応するラベルの値になります。複数の行が返された場合、各行はラベルによって一意に識別される必要があります。

「DiskSpace」という名前の MySQL テーブルの場合:

時間 ホスト ディスク PercentFree

2021 年 6 月 7 日

web1

/etc

3

2021 年 6 月 7 日

web2

/var

4

2021 年 6 月 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 つのアラートインスタンスが生成されます。

ラベル ステータス

{Host=web1,disk=/etc}

アラート

{Host=web2,disk=/var}

アラート

{Host=web3,disk=/var}

[普通]