Cloud Monitoring での PromQL アラート作成を公開プレビュー版で提供開始
Google Cloud Japan Team
※この投稿は米国時間 2023 年 8 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。
昨年、Google Cloud は Managed Service for Prometheus を導入しました。これにより、独自にホスティングするより簡単に Prometheus 環境をスケールいただけるようになりました。この発表の一環として、Prometheus でよく使われている Cloud Monitoring での PromQL クエリ言語のサポートも追加しました。それ以来、Prometheus の経験豊富なユーザーからも新しいユーザーからも、アラートを単一のエコシステムで管理したいという要望がありました。このたび、公開プレビュー版で、PromQL を使用したアラートが Cloud Monitoring でサポートされるようになりましたことを発表いたします。バックエンド サービスのメンテナンスをせずに、PromQL クエリに基づいて、Cloud Monitoring の指標およびダッシュボードと共存するグローバル規模のアラート ポリシーを作成いただけるようになりました。
このリリースでは以下のことができます。
Cloud Monitoring でグローバル規模の PromQL ベースのアラート ポリシーを記述する。
アラート ポリシーで Prometheus、GCP システム、およびカスタムの指標を参照する。
Cloud Monitoring がサポートしている任意の通知チャンネルに通知をルーティングする。メール、Slack、SMS、モバイル プッシュを使用して、チームメンバーに通知を送信します。webhook を使用して任意の公開エンドポイントに通知を送信します。また、Pub/Sub を使用して任意の限定公開エンドポイントに通知を送信します。
メール通知チャンネルで件名をカスタマイズする。
既存の Prometheus alert_rules を Cloud Monitoring に容易に移行する。
Terraform で構成を管理する。
すでに Prometheus アラートルールを使用している場合、PromQL クエリを含む Cloud Monitoring アラート ポリシーにそのルールを移行できます。また、Monitoring API または gcloud CLI を使用して、Cloud Monitoring 内で独自の PromQL アラート ポリシーを直接作成することもできます。
アラート ポリシーを理解する
以下の Prometheus アラートルールは、使用している Kuberentes ボリュームが使用可能なディスク容量の 90% に達したときにトリガーされます。このフィールドの一部を確認しましょう。
alert
: 何が発生しているかをユーザーが特定できるようにするため、アラートの名前を設定します。
expr
: 評価する PromQL 式です。これが成立する場合、ボリュームの容量が 90% を超えているのでアラートが発出されます。
for
: クエリの各評価で真の値を生成してからアラートを発出するまでの時間の長さを指定します。
summary
: アラートに使用するカスタマイズされた件名です。
labels
フィールドと annotations
フィールドでは、アラートに関する追加情報が提供されます。追加のコンテキストやアクションを渡すために使用できます。
多くの Prometheus アラートルールには、{{ $value}}
、{{$labels}}
、{{$labels.<name>}}
などの Prometheus テンプレート言語コンストラクトが含まれます。当分の間は、このようなコンストラクトを summary
または description
に含めた場合はそのまま文字どおりに表示されます。
Cloud Monitoring へのアラートルールの移行
多くの Prometheus ユーザーは、アラートルールを Prometheus 構成ファイルまたはルールファイルに保存しています。このようなファイルを、PromQL クエリによって Cloud Monitoring アラート ポリシーに移行できるようになりました。この方法では、すべてのアラート ポリシーを 1 か所に保存できます。移行プロセスの例を見てみましょう。
平日のインスタンスのレイテンシのスパイクが 95 パーセンタイルを超えた場合、以下の PromQL 式がアラートを送信します。以下の Prometheus ルールファイル サンプルは、レイテンシ評価クエリとその他のいくつかの重要なフィールドを示しています。
alerting_rules.yaml
このアラートルールを、gcloud 移行コマンドに指定することによって移行できます。
そして、Cloud Monitoring によって PromQL クエリを含むアラート ポリシーが作成されます。
これらのサンプルで、Cloud Monitoring の新しい PromQL アラート機能を簡単に利用できることがおわかりいただけたと思います。既存の Prometheus アラートルールを Cloud Monitoring アラート ポリシーに移行できます。また、Cloud Monitoring で API または CLI を使用して PromQL アラート ポリシーを作成できます。
使用しているクラスタにローカルにアラートをインストールして、クラスタから Prometheus Alert Manager にアラートをルーティングする場合、マネージド コレクションにもセルフデプロイ コレクションにも、Managed Service for Prometheus のルール評価オプションを引き続き使用できます。そのようにしない場合は、既存の Prometheus アラートルールを Cloud Monitoring アラート ポリシーに移行することにより、アラート管理の時間を削減できます。
詳しくは以下のドキュメントをご覧ください。
移行オプションのリストや、アラートルールとアラート ポリシー間のフィールド マッピングを含む PromQL アラートの概要については、PromQL によるアラート ポリシーをご参照ください。
Google Cloud CLI を使用してアラートルールとレシーバーを移行する方法についての詳細は、Prometheus からアラートルールとレシーバーを移行するをご参照ください。
Cloud Monitoring API で PromQL クエリを使用してアラート ポリシーを作成する方法についてのチュートリアルには複数のサンプルも含まれています。PromQL クエリを使用してアラート ポリシーを作成するをご参照ください。
今回も、エクスペリエンス向上のため、プレビュー期間中フィードバックをお待ちしております。
- プロダクト マネージャー Alisa Goldstein