通知チャンネルを作成して管理する

このドキュメントでは、 Google Cloud コンソールを使用して通知チャンネルを構成する方法について説明します。Cloud Monitoring は、アラート ポリシーが呼び出されると、これらのチャンネルを使用して通知またはオンコール チームに通知します。アラート ポリシーを作成する場合は、構成済みの通知チャンネルのリストから通知先を選択します。たとえば、Compute Engine インスタンスをモニタリングして Pub/Sub トピックをパブリッシュし、オンコール チームに Slack チャンネルを通知するアラート ポリシーを構成できます。

詳細については、通知のレイテンシインシデントあたりの通知をご覧ください。

このドキュメントでは、 Google Cloud コンソールの使用方法について説明します。Cloud Monitoring API を使用する場合は、API による通知チャンネルの作成と管理をご覧ください。

この機能は Google Cloud プロジェクトでのみサポートされています。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。

始める前に

Google Cloud コンソールを使用して通知チャンネルを表示および構成するために必要な権限を取得するには、プロジェクトに対する Monitoring 編集者roles/monitoring.editor)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

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

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

作成する通知チャンネルを決定する

冗長性を確保するため、次の理由から複数のタイプの通知チャンネルを作成することをおすすめします。

  • 多くの場合、Google Cloud では、通知を渡した後の配信システムを管理していません。
  • 1 つの Google Cloud サービスで Cloud モバイルアプリ、PagerDuty、Webhooks、Slack に対応しています。これらの通知チャンネルのいずれかを使用する場合は、冗長チャンネルとしてメールまたは Pub/Sub を使用してください。
  • 通知を SMS チャンネルにのみ依存することはおすすめしません。

自動化ツールを使用して通知の読み取り、再ルーティング、変換、その他の操作を行う場合は、Webhook または Pub/Sub チャンネルを使用してください。通知形式が変更される可能性があるため、自動化ツールで他のチャンネル タイプを使用することはおすすめしません。

通知チャンネルを作成する

アラート ポリシーを作成するときに、構成済みの通知チャンネルを選択してポリシーに追加できます。通知チャンネルを事前に構成することも、アラート ポリシーの作成プロセスの中で構成することもできます。詳細については、オンデマンドでチャンネルを作成するをご覧ください。

Google Cloud コンソールを使用して通知チャンネルを作成するには、次の表に示すチャンネル固有の手順に沿って操作してください。

メール

メール通知チャンネルを追加する手順は次のとおりです。

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

    [アラート] に移動

    このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

  2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
  3. [Edit notification channels] をクリックします。
  4. [メール] セクションで [新しく追加] をクリックします。
  5. 1 つのメールアドレスと説明を入力します。
  6. [保存] をクリックします。

アラート ポリシーの通知チャンネルとしてグループのメールアドレスを使用する場合は、alerting-noreply@google.com からのメールを受け入れるようにグループを構成します。

アラート ポリシーの作成中にメール チャンネルを作成できます。詳しくは、オンデマンドでチャンネルを作成するをご覧ください。

モバイルアプリ

Google Cloud コンソール モバイルアプリを使用すると、 Google Cloud コンソール リソースとモニタリング情報をどこからでもモニタリングできます。 Google Cloud コンソール モバイルアプリの通知は、特定のデバイスまたは特定のユーザーに送信されます。

 Google Cloud コンソール モバイルアプリの通知チャンネルのリスト。

  • デバイスは、通知チャンネルを作成した特定のデバイスにのみ通知を送信することを示します。デバイス スコープの通知チャンネルの場合、[表示名] フィールドにはデバイス情報が含まれます。
  • ユーザーは、 Google Cloud コンソール モバイルアプリがインストールされているすべてのデバイスに通知を送信することを示します。

チャンネルが作成されると、Cloud Monitoring によって通知スコープが決定されます。スコープの選択または変更はできません。

特定の Google Cloud プロジェクトに Google Cloud コンソール モバイルアプリ通知チャンネルを構成する手順は次のとおりです。

  1. モバイル デバイスのアプリストアから Google Cloud コンソール モバイルアプリをインストールします。
  2. Google Cloud コンソール モバイルアプリに表示するプロジェクトを選択します。

    プロジェクトを選択すると、選択した Google Cloud プロジェクトとアプリの間でデータ交換が行われます。通知チャンネルが存在しない場合は自動的に作成され、数分後に [通知チャンネル] ページの [モバイル デバイス] セクションに表示されます。

アラート ポリシーの通知チャンネルとしてモバイル デバイスを追加するには、アラートの [通知] セクションで [Google Cloud console (モバイル)] を選択し、リストからモバイル デバイスを選択します。

PagerDuty

PagerDuty は、Monitoring との双方向同期をサポートしています。その結果、次のようになります。

  • Monitoring でインシデントが作成された場合、そのインシデントは PagerDuty で開かれます。
  • PagerDuty を使用して Monitoring のインシデントをクローズすることはできません。
  • PagerDuty でインシデントを解決し、Monitoring がインシデントを開いている場合、そのインシデントは PagerDuty で再度開かれます。

PagerDuty の通知を設定するには、次の操作を行います。

  1. PagerDuty アカウントで、新しいサービスで統合を構成するか、既存のサービスに統合を追加します。
    1. アカウントを作成するか、既存のアカウントにログインします。
    2. [サービス] ページに移動します。
      • サービスを作成するには、次の操作を行います。
        1. [+ 新しいサービス] をクリックします。
        2. サービス名と説明を入力し、[次へ] をクリックします。
        3. エスカレーション ポリシーを構成し、[次へ] をクリックします。
        4. PagerDuty アカウントがアラートのグループ化と一時的なアラートに対応している場合は、それらを構成し、[次へ] をクリックします。
        5. 統合の設定ページにある [Search for an integration(s)] ツールバーに「Events API v1」と入力し、[サービスの作成] をクリックします。新しいサービスの [統合] パネルに戻ります。
      • 既存のサービスを編集するには、次の操作を行います。
        1. Service Directory からサービスを選択します。
        2. サービスページで [統合] パネルを選択します。
        3. [+ Add another integration] をクリックして、統合の設定ページに移動します。
        4. 統合の設定ページにある [Search for an integration(s)] ツールバーに「Events API v1」と入力し、[追加] をクリックします。編集したサービスの [統合] パネルに戻ります。
    3. サービスの [統合] パネルで新しい統合のリストを見つけ、そのメニューを開いて統合キーをコピーします。
    4. 省略可: Monitoring のインシデントの重大度値を正確にマッピングするように PagerDuty を構成します
  2. Cloud Monitoring で、PagerDuty 通知チャンネルを追加します。
    1. Google Cloud コンソールで、[ アラート] ページに移動します。

      [アラート] に移動

      このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

    2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
    3. [Edit notification channels] をクリックします。
    4. [PagerDuty] セクションで、[新しく追加] をクリックします。
    5. 表示名を入力します。この名前は、手順 1 で新しい統合を構成した PagerDuty サービスの名前と一致する必要があります。
    6. 手順 1 でコピーした統合キーを [サービスキー] フィールドに貼り付けます。
    7. [保存] をクリックします。

アラート ポリシーを作成するときは、[通知] セクションで [PagerDuty] を選択し、PagerDuty の構成を選択します。

PagerDuty の JSON パケットの形式は次のとおりです。

 {
     "description": A string of various fields in the incident,
     "details": JSON payload with schema version 1.2.
 }

details フィールドの例とスキーマを表示するには、次のセクションを開きます。

非推奨ポリシー

ペイロード スキーマには、Google Cloud Platform 利用規約のセクション 1.4(d)に記載されている Google Cloud 非推奨ポリシーが適用されます。なお、生成されたフィールド値の形式は、スキーマによって管理されず、予告なく変更される場合があります。たとえば、incident.summaryincident.documentation.contentincident.url は、フィールドに関連するデータを含むように作られていますが、スキーマがこうしたフィールドを正確に解析することを保証する制約はありません。値全体はまとめて使用でき、非推奨ポリシーを遵守していることを期待できますが、生成されたフィールドの解析に頼りすぎないようにしてください。

重大度レベルをマッピングするように PagerDuty を構成する

デフォルトでは、PagerDuty の通知ではすべてのインシデントの重大度レベルが「重大」と示されます。PagerDuty のアラート重大度が Monitoring のインシデントの重大度と一致するように、PagerDuty でイベント オーケストレーション ルールを構成できます。

  1. PagerDuty アカウントで、[サービス] ページに移動します。
  2. Google Cloud通知を受け取る PagerDuty サービスを選択します。
  3. [設定] をクリックします。
  4. [Event Management] セクションに移動し、[View Orchestration Rules] をクリックします。
  5. [+ 新しいルール] をクリックします。
  6. 変換する Monitoring の重大度値ごとに、重大度値を同等の PagerDuty 値にマッピングする条件ルールを作成します。
    1. メニューの [Step 1: When should this rule be applied?] で、[If events match certain conditions] を選択します。
    2. コードエディタを選択します。
    3. [If] セクションに「event.custom_details.incident.severity matches part 'VALUE'」と入力します。ここで、VALUE は Monitoring の重大度値の名前です。[次へ] をクリックします。
    4. [Step 2: What action(s) should be applied] で [Alert Data] を選択します。
    5. アラートの重大度を、ステップ C で入力した Monitoring の値と一致する値に設定し、変更を保存します。
  7. 省略可: ルールを追加するには、[Else rule] をクリックします。

SMS

SMS 通知を構成するには、次の操作を行います。

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

    [アラート] に移動

    このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

  2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
  3. [Edit notification channels] をクリックします。
  4. [SMS] セクションで、[新しく追加] をクリックします。
  5. ダイアログの項目を入力して、[保存] をクリックします。

アラート ポリシーを設定したら、通知タイプに [SMS] を選択し、リストから確認済みの電話番号を選択します。

Slack

Monitoring と Slack を統合すると、新しいインシデントが発生したときに、アラート ポリシーで Slack チャンネルに投稿できるようになります。Slack 通知を設定する方法は次のとおりです。

  1. Slack: Slack サイトで Slack ワークスペースとチャンネルを作成します。チャンネルの URL をメモしておきます。

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

    [アラート] に移動

    このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

  3. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。

  4. [Edit notification channels] をクリックします。

  5. [Slack] セクションで、[新しく追加] をクリックして Slack のログインページを開きます。

    1. Slack ワークスペースを選択します。
    2. [許可] をクリックして Cloud Monitoring の Slack ワークスペースへのアクセスを有効にします。この操作を行うと、通知チャンネルの Monitoring 構成ページに戻ります。
    3. [Slack Channel Name] フィールドに、通知に使用する Slack チャンネルの名前を入力します。
    4. [Cloud Alerting Display Name] フィールドに、短い説明文を入力します。このフィールドの値は、[通知チャンネル] ページに表示されます。
    5. (省略可)Cloud Monitoring と Slack ワークスペースの間の接続をテストするには、[テスト通知を送信] をクリックします。接続に成功すると、指定した Slack 通知チャンネルにメッセージ This is a test alert notification... が表示されます。通知チャンネルで通知の受信を確認してください。
  6. 通知に使用する Slack チャンネルがプライベート チャンネルの場合は、Monitoring アプリをそのチャンネルに手動で招待する必要があります。

    1. Slack を開きます。
    2. Monitoring の通知として指定したチャンネルに移動します。

    3. チャンネルで次のメッセージを入力して送信することで、Monitoring アプリをチャンネルに招待します。

      /invite @Google Cloud Monitoring

      Monitoring で通知チャンネルの作成時に指定したチャンネルに、Monitoring アプリを招待するようにしてください。パブリック チャンネルへの Monitoring アプリの招待は任意です。

    アラート ポリシーを作成するときは、[通知] セクションの [Slack] を選択し、Slack の構成を選択します。

Webhook

Webhook 通知チャンネルを構成する前に、次の点を考慮してください。

  • Webhook は公開エンドポイントのみをサポートします。パブリック エンドポイントは、HTTP(port:80)や HTTPS(port:443)など、公共のインターネットから完全にアクセスできます。通知サービスには、エンドポイントとの接続を確立できる機能が必要です。HTTPS の場合は、サーバーのセキュリティ証明書を検証できる必要があります。プライベート エンドポイントに通知を送信する必要がある場合は、Pub/Sub 通知チャンネルを作成し、Pub/Sub トピックへのサブスクリプションを構成します。詳細については、プライベート エンドポイント用に構成した場合に Webhook 通知が失敗するをご覧ください。
  • Cloud Run Functions の関数が通知チャンネルの Webhook エンドポイントとして構成されている場合は、関数を呼び出すユーザーに必要な認証権限があることを確認してください。詳細については、呼び出しを認証する関数へのアクセスを有効にするをご覧ください。
  • Webhook 通知チャンネルは Microsoft Teams に対応していません。Monitoring から Microsoft Teams に通知データを送信するには、統合レイヤを作成して Monitoring Webhook を受信し、Microsoft Teams に転送します。

Webhook 通知チャンネルを構成する

Webhooks 通知を構成するには、次の操作を行います。

  1. Webhook ハンドラ: Monitoring から Webhook データを受信するパブリック エンドポイント URL を指定します。
  2. Google Cloud コンソールで、[ アラート] ページに移動します。

    [アラート] に移動

    このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

  3. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
  4. [Edit notification channels] をクリックします。
  5. [Webhook] セクションで [新しく追加] をクリックします。
  6. ダイアログの項目をすべて入力します。
  7. [接続をテスト] をクリックして、テスト ペイロードを Webhook エンドポイントに送信します。受信側エンドポイントに移動して配信を確認します。
  8. [保存] をクリックします。

アラート ポリシーを作成する場合は、[通知] セクションで [Webhook] を選択し、webhook 構成を選択します。Error Reporting によって送信される通知は 1.0 スキーマに準拠しますが、Monitoring によって送信される通知は 1.2 スキーマに準拠します。

基本認証

Cloud Monitoring から送信された Webhook リクエストに加えて、基本的な認証では、ユーザー名とパスワードに HTTP 仕様が使用されます。Cloud Monitoring では、サーバーが適切な WWW-Authenticate ヘッダーで 401 レスポンスを返す必要があります。基本認証の詳細については、次を参照してください。

トークン認証

トークン認証では、エンドポイント URL のクエリ文字列パラメータと、サーバーがそれ自体と Monitoring の間で秘密であると期待するキーが必要です。トークンを含む URL の例を次に示します。

https://www.myserver.com/stackdriver-hook?auth_token=1234-abcd

Monitoring がインシデントをエンドポイント URL に送信した場合、サーバーは添付されたトークンを検証できます。この認証方法は、SSL / TLS を使用して HTTP リクエストを暗号化し、トークンが傍受されないようにする場合に最も効果的です。

Python でのサーバー例については、このサンプル サーバーをご覧ください。

非推奨ポリシー

ペイロード スキーマには、Google Cloud Platform 利用規約のセクション 1.4(d)に記載されている Google Cloud 非推奨ポリシーが適用されます。なお、生成されたフィールド値の形式は、スキーマによって管理されず、予告なく変更される場合があります。たとえば、incident.summaryincident.documentation.contentincident.url は、フィールドに関連するデータを含むように作られていますが、スキーマがこうしたフィールドを正確に解析することを保証する制約はありません。値全体はまとめて使用でき、非推奨ポリシーを遵守していることを期待できますが、生成されたフィールドの解析に頼りすぎないようにしてください。

Pub/Sub

このセクションでは、Pub/Sub 通知チャンネルを構成する方法について説明します。冗長性を確保するために、複数の通知チャンネルを作成することをおすすめします。Pub/Sub は別の配信メカニズムを使用するため、 Google Cloud コンソールのモバイルアプリ、PagerDuty、Webhooks、Slack とペアリングすることをおすすめします。

Pub/Sub 通知チャンネルを構成するには:

  1. 必要な API を有効にしてトピックを作成する
  2. トピックの通知チャンネルを構成する
  3. サービス アカウントを認可する
  4. アラート ポリシーで通知チャンネルを設定する

データスキーマについて詳しくは、スキーマの例をご覧ください。

アラート通知を受信するには、pullpushBigQuery のいずれかのサブスクリプションも作成する必要があります。

サブスクリプションがトピックとは異なるプロジェクトにある場合は、サブスクライバー プロジェクトでサービス アカウントを作成し、roles/pubsub.subscriber のロールを付与します。

始める前に

Google Cloud プロジェクトに最初の Pub/Sub 通知チャンネルを追加すると、Cloud Monitoring はそのプロジェクトにサービス アカウントを作成します。また、サービス アカウントに Identity and Access Management ロールのモニタリング通知サービス エージェントが付与されます。このサービス アカウントを使用すると、Monitoring がこのプロジェクトの Pub/Sub ベースの通知チャンネルに通知を送信できます。

サービス アカウントの形式は次のとおりです。

service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

通知サービス アカウントの名前には、一意の Google Cloud プロジェクト番号が含まれます。プロジェクトの名前、ID、番号は、 Google Cloud コンソールのプロジェクトのダッシュボードで確認できます。また、次のコマンドでも取得できます。

gcloud projects describe PROJECT_ID --format="value(project_number)"

サービス アカウントを表示して編集するには、 Google Cloud コンソールまたは Google Cloud CLI を使用します。

必要な API を有効にしてトピックを作成する

通知チャンネルと Pub/Sub トピックを作成する予定の 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. Enable the Pub/Sub and Cloud Monitoring APIs.

    Enable the APIs

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

    Go to project selector

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

  7. Enable the Pub/Sub and Cloud Monitoring APIs.

    Enable the APIs

  8. Pub/Sub トピックを作成します。トピックの作成方法については、トピックを作成するをご覧ください。たとえば、Google Cloud CLI を使用して notificationTopic というトピックを作成するには、次のコマンドを実行します。

    gcloud pubsub topics create notificationTopic
  9. 次に、Pub/Sub 通知チャンネルを構成します。

    トピックの通知を構成する

    Pub/Sub 通知チャンネルを作成するには、Monitoring API、Google Cloud CLI または Google Cloud コンソールを使用します。通知チャンネルを作成したら、通知チャンネルとして使用する各トピックを公開するように通知サービス アカウントを認可します。

    Monitoring API または Google Cloud CLI を使用した通知チャネルの作成については、チャンネルの作成をご覧ください。

    Google Cloud コンソールで通知チャンネルを作成する手順は次のとおりです。

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

      [アラート] に移動

      このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

    2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
    3. 作成した Pub/Sub トピックを含む Google Cloud プロジェクトを選択します。
    4. [Edit notification channels] をクリックします。
    5. [Pub/Sub] セクションで、[新しく追加] をクリックします。

      [Created Pub/Sub Channel] ダイアログに、Monitoring によって作成されたサービス アカウントの名前が表示されます。

    6. サービス アカウントを認可します。サービス アカウントは、すべてのトピックまたは特定のトピックを公開できます。

      • すべてのトピックを公開するには、[ロールを管理] を選択して、Pub/Sub パブリッシャーのロールを追加します。

        通知チャンネルの構成手順が完了したら、次のサービス アカウントを認可するをスキップして、アラート ポリシーで通知チャンネルを設定するに進みます。

      • 特定のトピックをパブリッシュするには、通知チャンネルの構成が完了した後、次のステップに進んで、特定のトピックをパブリッシュするサービス アカウントを認可します。サービス アカウントを認可する手順については、サービス アカウントを認可するをご覧ください。
    7. チャンネルの表示名と Pub/Sub トピック名を入力します。
    8. (省略可)チャンネルが正しく構成されていることを確認するには、[テスト通知を送信] をクリックします。
    9. [チャンネルを追加] を選択します。

    次に、サービス アカウントを認可します。

    サービス アカウントを認可する

    認可を使用すると、通知チャンネルとして使用する各 Pub/Sub トピックをパブリッシュするように通知サービス アカウントを設定できます。このセクションでは、次の方法について説明します。

    • 特定のトピックのサービス アカウントを認可する。
    • すべてのトピックのサービス アカウントを認可する。

    特定のトピックのサービス アカウントを認可する

    Google Cloud コンソールと Google Cloud CLI を使用すると、サービス アカウントに特定のトピックの公開を許可できます。このセクションでは、両方の方法について説明します。

    Google Cloud コンソールで特定のトピックのサービス アカウントを認可する手順は次のとおりです。

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

      [トピック] に移動

      このページを検索バーで検索する場合は、小見出しが「Pub/Sub」の結果を選択します。

    2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
    3. トピックを選択します。
    4. [権限] タブで、[プリンシパルを追加] を選択します。
    5. [新しいプリンシパル] フィールドに、通知サービス アカウントの名前を入力します。サービス アカウントの命名規則は次のとおりです。
      service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
    6. Pub/Sub パブリッシャー ロールを選択して、[保存] を選択します。

    Google Cloud CLI を使用して、特定のトピックのサービス アカウントを認可するには、トピックの pubsub.publisher IAM ロールをサービス アカウントに付与します。たとえば、次のコマンドは、notificationTopic トピックの IAM ロールを構成します。

    gcloud pubsub topics add-iam-policy-binding \
    projects/PROJECT_NUMBER/topics/notificationTopic --role=roles/pubsub.publisher \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
     

    add-iam-policy-binding コマンドが正常に実行されると、レスポンスは次のようになります。

     Updated IAM policy for topic [notificationTopic].
     bindings:
     ‐ members:
        ‐ serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
        role: roles/pubsub.publisher
     etag: BwWcDOIw1Pc=
     version: 1
     

    詳細については、pubsub topics add-iam-policy-binding リファレンス ページをご覧ください。

    すべてのトピックでサービス アカウントを認可する

    すべてのトピックでサービス アカウントを認可する方法は次のとおりです。

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

      [IAM] に移動

      このページを検索バーで検索する場合は、小見出しが「IAM と管理」の結果を選択します。

    2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
    3. 次のスクリーンショットに示すように、[Google 提供のロール付与を含む] を選択します。
      [Google 提供のロール付与を含める] オプションを選択します。
    4. 次の形式のサービス アカウントを検索します。
      service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

      サービス アカウントが一覧にない場合は、ページを再読み込みします。

    5. 通知サービス アカウントの 編集)を選択し、[別のロールを追加] を選択してから、Pub/Sub パブリッシャー ロールを追加します。

    次に、アラート ポリシーで通知チャンネルを設定します。

    アラート ポリシーで通知チャンネルを設定する

    アラート ポリシーで Pub/Sub 通知チャンネルを使用するには、チャンネル タイプとして [Pub/Sub] を選択し、トピックを選択します。

    スキーマの例

    JSON パケットとスキーマの例を表示するには、以下のセクションを開いてください。

    非推奨ポリシー

    ペイロード スキーマには、Google Cloud Platform 利用規約のセクション 1.4(d)に記載されている Google Cloud 非推奨ポリシーが適用されます。なお、生成されたフィールド値の形式は、スキーマによって管理されず、予告なく変更される場合があります。たとえば、incident.summaryincident.documentation.contentincident.url は、フィールドに関連するデータを含むように作られていますが、スキーマがこうしたフィールドを正確に解析することを保証する制約はありません。値全体はまとめて使用でき、非推奨ポリシーを遵守していることを期待できますが、生成されたフィールドの解析に頼りすぎないようにしてください。

Google Chat

Google Cloud Monitoring アプリによって、Google Chat スペースで通知を受け取ることができます。

始める前に

組織に所属していて、Google Cloud Monitoring アプリをインストールする場合は、Google Cloud Monitoring アプリにアクセスできる必要があります。アクセス権がない場合は、Google Workspace 管理者に次のことを依頼してください。

  1. Marketplace アプリの許可リストにアプリを追加して、最上位の組織部門でアクセスを有効にします
  2. ユーザーがアプリをインストールできるように、Marketplace アプリのユーザー インストールを構成します

Google Cloud Monitoring アプリをインストールする

Google Cloud Monitoring アプリをインストールするには、次の操作を行ってください。Google Workspace Marketplace リスティングからのインストールはサポートされていません。

アプリをインストールし、通知チャンネルとしてスペースを構成するには、次のようにします。

  1. Google Chat で、通知を受け取るスペースを開くか、作成します。

  2. Google Cloud Monitoring アプリをインストールします。

    1. スペース名を選択し、[Apps and Integrations] を選択します。

    2. Google Cloud Monitoring アプリがアプリリストに表示されない場合は、スペースに戻って「@Google Cloud Monitoring」と入力し、Enter キーを押します。

    3. [Add to space] をクリックします。

  3. Chat スペース ID をクリップボードにコピーします。

    Google Cloud Monitoring アプリをインストールした場合は、インストールの確認に Chat スペース ID が含まれています。それ以外の場合は、Chat スペース URL の末尾にある space/ の後に、一連の数字と文字として Chat スペース ID が含まれています。

  4. 新しいブラウザタブを開き、通知チャンネルを構成します。

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

      [アラート] に移動

      このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

    2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。

    3. [Edit notification channels] をクリックします。

    4. [Google Chat] セクションに移動して、[新しく追加] をクリックします。

    5. [Chat Space ID] フィールドに Chat スペース ID を入力し、[保存] をクリックします。

オンデマンドでチャンネルを作成する

アラート ポリシーに通知チャンネルを追加する際は、リストからチャンネルを選択する必要があります。アラート ポリシーの作成中にオプションのリストを更新するには、次のプロセスを使用します。

  1. 通知ダイアログで、[通知チャンネルを管理] をクリックします。新しいブラウザタブの [通知チャンネル] ウィンドウに移動します。
  2. 新しい通知チャンネルを追加するには、チャンネルの種類を見つけて [新しく追加] をクリックし、以前の表に含まれるチャンネル固有の手順に沿って操作します。
  3. 元のタブに戻り、通知ダイアログで [ 更新] をクリックします。

    更新ボタンとチャンネルを管理するボタンを表示する通知ダイアログ。

  4. 更新されたリストから通知チャンネルを選択します。

サポートされていないチャンネルに関する通知を受け取る

目的の通知チャンネルがサポートされていない場合は、Pub/Sub への通知の送信に依存するパイプラインの作成を検討してください。Flask を使用する Python の例については、Cloud Monitoring と Cloud Run を使用したカスタム通知の作成をご覧ください。他の例については、cloud-alerting-notification-forwarding Git リポジトリをご覧ください。

通知チャンネルをテストする

Cloud Monitoring は通知チャンネルのテスト オプションをサポートしていません。ただし、アラート ポリシーを作成し、満たす条件を構成することで、通知チャンネルが正しく構成されていることを確認できます。

通知チャンネルを手動でテストするには、いずれかの仮想マシン(VM)インスタンスの CPU 使用率をモニタリングするアラート ポリシーを作成します。

  1. 省略可: Google Cloud プロジェクトに VM がない場合や、テストに別の VM を使用する場合は、VM を作成します。

    1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

      このページを検索バーで検索する場合は、小見出しが「Compute Engine」の結果を選択します。

    2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
    3. [インスタンスを作成] を選択し、VM を構成します。VM の作成の詳細については、公開イメージから VM インスタンスを作成するをご覧ください。
  2. Google Cloud コンソールで、[ アラート] ページに移動します。

    [アラート] に移動

    このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

  3. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。

  4. [ポリシーを作成] を選択します。

  5. [指標を選択] メニューを使用して、VM インスタンスの [CPU 使用率] 指標を選択します。

  6. [フィルタを追加] をクリックし、VM 用のフィルタを追加します。

  7. [トリガーの設定] フィールドを次のように更新します。

    1. [しきい値の位置] フィールドで [しきい値より下] を選択します。
    2. インスタンスの CPU 使用率より大きい値を選択します。たとえば、グラフに CPU 使用率が約 5% と表示されている場合は、しきい値を 10% に設定します。

      これらの設定は、VM インスタンスの CPU 使用率が指定したしきい値を下回った場合に満たす条件を構成します。しきい値を VM インスタンスの CPU 使用率よりも大きく選択したため、アラート ポリシーの条件が満たされています。

  8. ポリシーに通知チャンネルを追加します。

  9. [インシデントの自動クローズ期間] を開き、[30 分] を選択します。

  10. ポリシー名を入力し、[ポリシーを作成] をクリックします。

  11. 条件が満たされたら、各通知チャンネルで通知を受け取ったことを確認します。

  12. アラート ポリシーを削除します。自動クローズ期間が終了すると、インシデントは自動的にクローズされます。

  13. このテスト用に VM インスタンスを作成した場合は、それを削除します。

想定した通知が届かない場合は、ログ エクスプローラで、欠落している通知に関する情報を含むログエントリを検索できます。詳しくは、通知が受信されないをご覧ください。

通知チャンネルの編集と削除

Google Cloud コンソールを使用して通知チャンネルを編集または削除するには、次の操作を行います。

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

    [アラート] に移動

    このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。

  2. [Edit notification channels] をクリックします。

    [通知チャンネル] ダッシュボードには、通知チャネルの種類ごとにセクションがあります。各セクションには、その種類のすべての構成が一覧表示されます。

    • エントリを変更するには、[ 編集] をクリックします。変更が完了したら、[保存] をクリックします。
    • エントリを削除するには、[ 削除] をクリックします。確認ダイアログで、[削除] をクリックします。

通知チャンネルのログを表示する

ログ エクスプローラを使用して、通知チャンネルのエラーを表示できます。

  1. Google Cloud コンソールで [ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

    このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。

  2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
  3. クエリを入力して実行します。通知チャンネル エラーに固有のクエリについては、Cloud Monitoring のクエリをご覧ください。

次のステップ

インシデントの詳細については、次のドキュメントをご覧ください。