MQL を使用してクエリベースのアラートを設定する

このドキュメントでは、Monitoring Query Language(MQL)を使用して Google Cloud コンソールで指標を調べ、グラフを作成し、クエリベースのアラートを設定する方法について説明します。Cloud Monitoring API を使用する場合は、アラート ポリシーの条件の作成をご覧ください。

このドキュメントでは、次の操作を行います。

  1. Compute Engine インスタンスを作成します。

  2. コードエディタに移動します。

  3. クエリを実行してグラフを作成する。

  4. クエリベースのアラートを設定する。

始める前に

MQL を使用するには、Google Cloud プロジェクトを作成して課金を有効にする必要があります。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

次に、権限と通知チャンネルを構成します。

  1. MQL ベースの条件でアラート ポリシーを作成するために必要な権限を取得するには、管理者にプロジェクトに対するモニタリング編集者roles/monitoring.editor)IAM ロールを付与するよう依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

    Cloud Monitoring のロールの詳細については、Identity and Access Management を使用してアクセスを制御するをご覧ください。

  2. アラート ポリシー、MQL、コードエディタの一般的なコンセプトを理解しておいてください。詳しくは次の記事をご覧ください。

Compute Engine インスタンスを作成する

Google Cloud リソースから指標を収集するには、次の手順に従って Compute Engine インスタンスを作成します。

  1. Google Cloud コンソールのメニューで、[Compute Engine] を選択します。

    Compute インスタンスを選択するためのユーザー インターフェース。

  2. [インスタンスを作成] を選択し、[作成] をクリックします。

コードエディタに移動する

MQL の使用を開始するには次の操作を行います。

  1. Google Cloud コンソールで、[ Metrics Explorer] ページに移動します。

    Metrics Explorer に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. クエリビルダー ペインのツールバーで、[MQL] または [PROMQL] という名前のボタンを選択します。
  3. [言語] 切り替えで [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。

コードエディタを使用して、MQL クエリを作成、テスト、実行します。

クエリを実行してグラフを作成する

インスタンスの CPU 使用率をグラフ化するクエリを作成します。

  1. 次のクエリをコードエディタに貼り付けます。

    fetch gce_instance::compute.googleapis.com/instance/cpu/utilization
    | {
        top 1, max(val())
      ;
        bottom 1, min(val())
      }
    | union
    

    このクエリは、グラフ化用に最大 CPU 使用率と最小 CPU 使用率を持つ時系列を選択します。このクエリの詳細については、選択を union で組み合わせるをご覧ください。

  2. [RUN QUERY] をクリックします。グラフには、インスタンスの最大と最小の CPU 使用率を示す 2 行が表示されます。

    グラフには、最大 と最小の CPU 使用率が表示されます。

  3. グラフを保存するには、[グラフを保存] をクリックします。グラフに名前を付けて、既存のダッシュボードまたは新しいダッシュボードに追加します。[保存] をクリックします。

グラフにアクセスするには、[モニタリングの概要] ページに移動するか、ダッシュボードに保存した場合は、ダッシュボードのページに移動します。

クエリベースのアラートを設定する

クエリの結果をモニタリングするアラート ポリシーを作成できます。このようなアラート ポリシーを作成する手順は次のとおりです。

  1. Google Cloud コンソールで [アラート] ページに移動します。

    アラートに移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. [アラート] ページで、[通知チャンネルの編集] をクリックします。このステップでは、アラート通知を受け取るメールアドレスを構成します。

    1. [通知チャンネル] ページで [メール] に移動し、[新しく追加] をクリックします。

    2. [メールアドレス] フィールドに、アラート通知の送信先のメールアドレスを入力します。

    3. [表示名] フィールドに、このチャンネルの簡単な説明(「Alert on-call」など)を入力します。

    4. [保存] をクリックします。

    5. ページヘッダーの [ 戻る] をクリックして、[アラート] ページに戻ります。

  3. [アラート] ページで、[ポリシーを作成] をクリックします。

    このページでは、アラート ポリシーの作成手順について説明します。

    1. アラートの内容の説明。
    2. この問題に対処する方法に関する情報の提供。
    3. アラートの通知チャネルの指定。
  4. アラートの内容を記述するには、[新しい条件] をクリックします。この操作を行うと、フォームベースの条件エディタが表示されます。

    1. [ポリシー構成モード] で、[コードエディタ(MQL または PromQL)] を選択します。

    2. [言語] 切り替えで [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。

    3. コードエディタで、モニタリングするデータを選択するクエリを入力します。次のクエリは、インスタンスの CPU 使用時間が 20 秒を超える状態が継続した場合にアラートをトリガーします。

      fetch gce_instance::compute.googleapis.com/instance/cpu/usage_time
      | window 1m
      | condition val() > 20 's'
      

      condition オペレーションにより、アラートの対象となるパフォーマンスしきい値が確立されます。condition やその他のアラート オペレーションの詳細については、MQL リファレンスのアラートをご覧ください。

      [自動実行] が有効になっている場合、MQL グラフには選択したデータとしきい値線が表示されます。

      アラート条件クエリのグラフ。

    4. アラート トリガーを構成するには、[次へ] をクリックします。

      1. [Alert trigger] メニューで、アラート ポリシーをトリガーするまでにアラート オペレーションを満たす必要がある時系列の数を選択します。次の基準から選択できます。

        • 単一の時系列。
        • 特定の数の時系列。
        • 時系列の割合。
        • すべての時系列。
      2. 省略可: [詳細オプション] メニューを開き、[この時間の長さに対して条件が満たされた場合にトリガー] フィールドで、値を入力または選択します。

        このフィールドは、アラート ポリシーがトリガーされるまでに条件が満たされる必要がある期間を定義します。[再テスト ウィンドウ] は、MQL クエリで使用されるアライメント ウィンドウとは異なります。これらの値の関係について詳しくは、アライメント期間と継続時間をご覧ください。

      3. 条件の名前を入力します(「基本的な MQL 条件」など)。

  5. 通知、ドキュメント、アラート ポリシー名を設定するには、[次へ] をクリックします。

    1. 先ほど作成した通知チャンネルを選択します。

    2. 重大度レベルを選択します。

    3. [ドキュメント] フィールドに、アラート通知とともに送信されるテキストを入力します。このテキストは通常、問題に対処するために役立つ情報とともに通知を示します。この演習では、「Your CPU usage has exceeded 20 seconds」と入力します。

    4. [アラート ポリシー名] フィールドにアラート ポリシーの名前を入力します。この値により、さまざまなアラート ポリシーからの通知を区別できます。

  6. [ポリシーを作成] をクリックしてポリシーを保存します。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

  1. Google Cloud Console の Identity and Access Management ページに移動します。

    プロジェクト設定に移動

  2. [Shut down] をクリックし、手順に従います。

次のステップ