翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クエリと条件
このドキュメントトピックは、Grafana バージョン 10.x をサポートする Grafana ワークスペース向けに設計されています。
Grafana バージョン 9.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 9 での作業。
Grafana バージョン 8.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 8 での作業。
Grafana では、クエリは、MySQL や PostgreSQL などのデータベース、Prometheus、InfluxDBなどのサービスなど、サポートされているデータソースからのデータの取得と変換に重要な役割を果たします。 OpenSearch CloudWatch
サポートされているデータソースの詳細については、「」を参照してくださいデータソースと Grafana アラート。
クエリを実行するプロセスには、データソースの定義、取得するデータの指定、関連するフィルターまたは変換の適用が含まれます。選択したデータソースに固有のクエリ言語または構文は、これらのクエリの構築に使用されます。
アラートでは、測定するデータと、アラートルールが起動する前に満たす必要がある条件を取得するクエリを定義します。
アラートルールは、測定するデータを選択する 1 つ以上のクエリと式で構成されます。
クエリと式の詳細については、「」を参照してくださいデータのクエリと変換。
データソースクエリ
Grafana のクエリは、使用するデータソースとクエリ言語に応じて、さまざまな方法で適用できます。各データソースのクエリエディタは、独自の機能を利用するクエリの作成に役立つカスタマイズされたユーザーインターフェイスを提供します。
クエリ言語が異なるため、各データソースクエリエディタは異なる検索と機能を行います。データソースによっては、クエリエディタが自動補完機能、メトリクス名、変数の提案、または視覚的なクエリ構築インターフェイスを提供する場合があります。
一般的なクエリコンポーネントには、次のようなものがあります。
メトリクスまたはデータフィールド – CPU 使用率、ネットワークトラフィック、センサーの読み取りなど、取得する特定のメトリクスまたはデータフィールドを指定します。
時間範囲 – 過去 1 時間、特定の日、カスタム時間範囲など、データを取得する時間範囲を定義します。
フィルター – フィルターを適用して、特定のタグ、ホスト、アプリケーションによるデータのフィルタリングなど、特定の基準に基づいてデータを絞り込みます。
集計 – データに対して集計を実行して、特定の期間の平均、合計、カウントなどのメトリクスを計算します。
グループ化 — 特定のディメンションまたはタグでデータをグループ化して、集約されたビューまたは内訳を作成します。
注記
Grafana は、テンプレート変数を使用したアラートクエリをサポートしていません。詳細については、Grafana Labs フォーラムを参照してください
式クエリ
Grafana では、式を使用して、クエリされたデータソースデータに対して計算、変換、または集計を実行します。これにより、カスタムメトリクスを作成したり、数学演算、関数、または論理式に基づいて既存のメトリクスを変更したりできます。
式クエリを活用することで、ユーザーは 2 つの値間の変化率の計算、対数関数や三角関数などの関数の適用、特定の時間範囲またはディメンションでのデータの集約、さまざまなシナリオを処理するための条件ロジックの実装などのタスクを実行できます。
アラートでは、Grafana が管理するアラートルールにのみ式を使用できます。式ごとに、数式、縮小式、再サンプリング式から選択できます。これらは、シリーズごとに個別のアラートを生成するため、多次元ルールと呼ばれます。
クラシック条件を使用することもできます。これにより、条件が満たされたときに 1 つのアラートをトリガーするアラートルールが作成されます。その結果、複数のシリーズでアラート条件が満たされた場合でも、Grafana は 1 つのアラートのみを送信します。
注記
クラシック条件は主に互換性上の理由から存在するため、可能であれば避ける必要があります。
削減
選択した時間範囲の時系列値を 1 つの値に集約します。
数学
時系列および数値データに対して自由形式の数学関数/演算を実行します。時系列データの前処理や数値データのアラート条件の定義に使用できます。
再サンプリング
時間範囲を新しいタイムスタンプのセットに再調整します。これは、タイムスタンプが一致しないさまざまなデータソースの時系列データを比較する場合に便利です。
Threshold
時系列データがしきい値条件と一致するかどうかを確認します。
しきい値式を使用すると、2 つの単一の値を比較できます。条件が false 0
の場合と、条件が true 1
の場合に が返されます。次のしきい値関数を使用できます。
-
以上 (x > y)
-
以下 (x < y)
-
範囲内にある (x > y1 AND x < y2)
-
範囲外 (x < y1 AND x > y2)
クラシック条件
時系列データがアラート条件と一致するかどうかを確認します。
注記
Classic 条件式クエリは、条件を満たす時系列の数に関係なく、常に 1 つのアラートインスタンスのみを生成します。クラシック条件は主に互換性上の理由から存在するため、可能であれば避ける必要があります。
集計
Grafana Alerting には、クエリをさらに絞り込むための以下の集計関数が用意されています。
これらの関数は、Reduce 条件式と Classic 条件式でのみ使用できます。
機能 | 式 | その内容 |
---|---|---|
avg | 削減/クラシック | 値の平均を表示する |
min | 削減/クラシック | 最小値を表示する |
max | 削減/クラシック | 最大値を表示する |
sum | 削減/クラシック | すべての値の合計を表示します。 |
count | 削減/クラシック | 結果の値の数をカウントします。 |
last | 削減/クラシック | 最後の値を表示する |
中央値 | 削減/クラシック | 中央値を表示します。 |
差分 | Classic | 最新の値と最も古い値の差を表示します。 |
diff_abs | Classic | 差分の絶対値を表示する |
percent_diff | Classic | 最も新しい値と最も古い値の差のパーセンテージ値を表示します。 |
percent_diff_abs | Classic | percent_diff の絶対値を表示する |
count_non_null | Classic | 結果セットにない値の数を表示する null |
アラート条件
アラート条件は、アラートが生成される値に応じてアラートを起動するかどうかを決定するクエリまたは式です。アラートのトリガーを決定する条件は 1 つだけです。
クエリや式を定義したら、アラートルール条件としてクエリや式のいずれかを選択します。
クエリされたデータが定義された条件を満たすと、Grafana は関連するアラートをトリガーします。アラートは、E メール、Slack、 などのさまざまなチャネルを介して通知を送信するように設定できます PagerDuty。通知は、満たされている条件について通知するため、適切なアクションを実行したり、根本的な問題を調査したりできます。
デフォルトでは、最後に追加された式がアラート条件として使用されます。
復旧しきい値
フラッピングアラートのノイズを減らすために、アラートのしきい値とは異なる復旧しきい値を設定できます。
フラッピングアラートは、メトリクスがアラートのしきい値条件にカーソルを合わせると発生し、頻繁な状態変化を引き起こし、生成される通知が多すぎる可能性があります。
Grafana が管理するアラートルールは、特定の期間にわたって評価されます。各評価では、クエリの結果がアラートルールで設定されたしきい値と照合されます。メトリクスの値がしきい値を超えると、アラートルールが起動し、通知が送信されます。値がしきい値を下回り、このメトリクスに対してアクティブなアラートがある場合、アラートは解決され、別の通知が送信されます。
ノイズの多いメトリクスのアラートルールを作成するのは難しい場合があります。つまり、メトリクスの値がしきい値を継続的に上回ったり下回ったりする場合です。これはフラッピングと呼ばれ、一連の発音 - 解決 - 発音通知とノイズの多いアラート状態履歴になります。
例えば、しきい値が 1000 ms のレイテンシーのアラートがあり、その数が約 1000 (980 ->1010 ->990 -> 1020 など) 変動すると、それぞれが通知をトリガーします。
この問題を解決するには、 (カスタム) 復旧しきい値を設定できます。これは基本的に、1 つのしきい値ではなく 2 つのしきい値があることを意味します。アラートは、最初のしきい値を超えたときにトリガーされ、2 番目のしきい値を超えたときにのみ解決されます。
例えば、しきい値を 1000 ミリ秒、復旧しきい値を 900 ミリ秒に設定できます。これにより、アラートルールは 900 ミリ秒未満になり、フラッピングが軽減された場合にのみ発砲を停止します。