Error Reporting を構成して Cloud Monitoring チャネル経由で通知を送信し、新しいエラーが発生したときや解決済みのエラーが再発したときにチームにリアルタイムでアラートを送信できます。
Error Reporting は、次のような場合に通知をトリガーします。
- エラー イベントを既存のエラーにグループ化できない場合(新しい問題を示している場合)。
- 解決済みとマークされたエラー グループでエラー イベントが発生し、回帰を示している場合。
始める前に
-
Error Reporting で通知を構成するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
Error Reporting で通知を構成する: Error Reporting ユーザー (
roles/errorreporting.user) -
Monitoring で通知チャンネルを表示する: モニタリング閲覧者 (
roles/monitoring.viewer) -
Monitoring で通知チャンネルを作成する: Monitoring 編集者 (
roles/monitoring.editor)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
-
Error Reporting で通知を構成する: Error Reporting ユーザー (
使用する通知チャンネルが存在することを確認します。Error Reporting では、メール、モバイル、Slack、Webhook の通知チャンネルを使用できます。
-
Google Cloud コンソールで、[notifications アラート] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
ツールバーで [通知チャネルを編集] を選択します。
[通知チャンネル] ページが開き、構成済みのチャンネルが一覧表示されます。
使用するチャネルが存在する場合は、次の手順で Error Reporting で通知を構成します。それ以外の場合は、これらのチャンネルを作成します。さまざまな種類の通知チャンネルのダイアログを完成させる方法については、Monitoring で通知チャンネルを作成して管理するをご覧ください。
-
Error Reporting で通知を構成する
新しいエラーグループが発生したときに通知を送信する場所を選択する手順は次のとおりです。
-
Google Cloud コンソールで [Error Reporting] ページに移動します。
このページは、検索バーを使用して見つけることもできます。
[通知の構成] をクリックして [エラー通知] ページを開きます。
[通知チャンネル] メニューで、通知を受け取るチャンネルを選択します。
チャンネルを選択したら [保存] をクリックします。
Monitoring で通知チャンネルを作成して管理する
Monitoring で通知チャンネルを作成、編集、削除します。 通知チャンネルを作成したら、通知チャンネルを使用するように Error Reporting を構成できます。
Error Reporting では、メール、モバイル、Slack、Webhook の 4 種類の通知チャンネルを選択できます。
通知チャンネルを作成する
Google Cloud コンソールを使用して通知チャンネルを作成するには、次の表に示すチャンネル固有の手順に沿って操作してください。
メール
メール通知チャンネルを追加する手順は次のとおりです。
-
Google Cloud コンソールで、[notifications アラート] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。
- Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub の構成には、App Hub ホスト プロジェクトまたは管理プロジェクトを選択します。
- [Edit notification channels] をクリックします。
- [メール] セクションで [新しく追加] をクリックします。
- 1 つのメールアドレスと説明を入力します。
- [保存] をクリックします。
アラート ポリシーの通知チャネルとしてグループのメールアドレスを使用する場合は、ErrorReportingNotifications-noreply@google.com からのメールを受け入れるようにグループを構成します。
モバイル アプリ
Google Cloud コンソール モバイルアプリを使用すると、 Google Cloud コンソール リソースと Monitoring の情報をどこからでもモニタリングできます。 Google Cloud コンソール モバイルアプリの通知は、特定のデバイスまたは特定のユーザーに送信されます。
- デバイスは、通知チャンネルを作成した特定のデバイスにのみ通知を送信することを示します。デバイス スコープの通知チャンネルの場合、[表示名] フィールドにはデバイス情報が含まれます。
- ユーザーは、 Google Cloud コンソール モバイルアプリがインストールされているすべてのデバイスに通知を送信することを示します。
チャンネルが作成されると、Cloud Monitoring によって通知スコープが決定されます。スコープの選択または変更はできません。
特定の Google Cloud プロジェクトに Google Cloud コンソール モバイルアプリ通知チャンネルを構成する手順は次のとおりです。
- モバイル デバイスのアプリストアから Google Cloud コンソール モバイルアプリをインストールします。
Google Cloud コンソール モバイルアプリに表示するプロジェクトを選択します。
プロジェクトを選択すると、選択した Google Cloud プロジェクトとアプリの間でデータ交換が行われます。通知チャンネルが存在しない場合は自動的に作成され、数分後に [通知チャンネル] ページの [モバイル デバイス] セクションに表示されます。
アラート ポリシーの通知チャンネルとしてモバイル デバイスを追加するには、アラートの [通知] セクションで [Google Cloud console (モバイル)] を選択し、リストからモバイル デバイスを選択します。
Slack
Slack 通知を設定する方法は次のとおりです。
Slack: Slack サイトで Slack ワークスペースとチャンネルを作成します。チャンネルの URL をメモしておきます。
-
Google Cloud コンソールで、[notifications アラート] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。
Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub の構成には、App Hub ホスト プロジェクトまたは管理プロジェクトを選択します。
[Edit notification channels] をクリックします。
[Slack] セクションで、[新しく追加] をクリックして Slack のログインページを開きます。
- Slack ワークスペースを選択します。
- [許可] をクリックして Cloud Monitoring の Slack ワークスペースへのアクセスを有効にします。この操作を行うと、通知チャンネルの Monitoring 構成ページに戻ります。
- [Slack Channel Name] フィールドに、通知に使用する Slack チャンネルの名前を入力します。
- [Cloud Alerting Display Name] フィールドに、短い説明文を入力します。Monitoring は、[通知チャンネル] ページにこのフィールドの値を表示します。
- (省略可)Cloud Monitoring と Slack ワークスペースの間の接続をテストするには、[テスト通知を送信] をクリックします。接続に成功すると、指定した Slack 通知チャンネルにメッセージ
This is a test alert notification...が表示されます。通知チャンネルで通知の受信を確認してください。
通知に使用する Slack チャンネルがプライベート チャンネルの場合は、Monitoring アプリをそのチャンネルに手動で招待する必要があります。
- Slack を開きます。
Monitoring の通知として指定したチャンネルに移動します。
チャンネルで次のメッセージを入力して送信することで、Monitoring アプリをチャンネルに招待します。
/invite @Google Cloud Monitoring
Monitoring で通知チャンネルを作成するときに指定したプライベート チャネルに、Monitoring アプリを招待する必要があります。パブリック チャンネルへの Monitoring アプリの招待は任意です。
Webhook
Webhook 通知チャンネルを構成する前に、次の点を考慮してください。
- Webhook は公開エンドポイントのみをサポートします。パブリック エンドポイントは、HTTP(
port:80)や HTTPS(port:443)など、公共のインターネットから完全にアクセスできます。通知サービスには、エンドポイントとの接続を確立できる機能が必要です。HTTPS の場合は、サーバーのセキュリティ証明書を検証できる必要があります。 - Cloud Run Functions の関数が通知チャンネルの Webhook エンドポイントとして構成されている場合は、関数を呼び出すユーザーに必要な認証権限があることを確認してください。詳細については、呼び出しを認証すると関数へのアクセスを有効にするをご覧ください。
- Monitoring から Microsoft Teams に通知データを送信するには、Power Automate や Cloud Run functions などの仲介サービスを使用する必要があります。Monitoring Webhook 通知を受信し、データを Teams 互換形式に変換して、適切な Microsoft Teams チャネルに転送するようにサービスを構成します。
Webhook 通知チャンネルを構成する
webhook 通知を構成するには、次の操作を行います。
- Webhook ハンドラ: Monitoring から Webhook データを受信するパブリック エンドポイント URL を指定します。
-
Google Cloud コンソールで、[notifications アラート] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。
- Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub の構成には、App Hub ホスト プロジェクトまたは管理プロジェクトを選択します。
- [Edit notification channels] をクリックします。
- [Webhook] セクションで、[新しく追加] をクリックします。
- ダイアログの項目をすべて入力します。
- [接続をテスト] をクリックして、テスト ペイロードを Webhook エンドポイントに送信します。受信側エンドポイントに移動して配信を確認します。
- [保存] をクリックします。
Webhook スキーマ
Error Reporting の Webhook スキーマ構造を表示するには、以下をクリックします。
基本認証
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 コンソールを使用して通知チャンネルを編集または削除するには、次の操作を行います。
-
Google Cloud コンソールで、[notifications アラート] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。
[Edit notification channels] をクリックします。
[通知チャンネル] ダッシュボードには、通知チャネルの種類ごとにセクションがあります。各セクションには、その種類のすべての構成が一覧表示されます。
- エントリを変更するには、[edit 編集] をクリックします。変更が完了したら、[保存] をクリックします。
- エントリを削除するには、[ 削除] をクリックします。確認ダイアログで、[削除] をクリックします。
通知の動作と上限
以降のセクションでは、Error Reporting の通知の内容、トリガー、レート制限について説明します。
通知の内容
エラーグループの通知には、グループ内のログエントリに関連する情報が含まれます。含まれる情報は、エラー イベントが発生したモニタリング対象リソースのタイプによって異なります。たとえば、モニタリング対象リソースの名前とバージョンが通知に含まれることがあります。
エラーイベントを説明するメッセージは、リージョンが global のログバケット内のログエントリによってエラーグループが特定された場合にのみ、通知に含まれます。
通知のトリガーと解決策
Error Reporting では、次の 2 つのシナリオで通知を送信します。
エラー イベントが発生し、既存のエラーグループがない場合。
エラーグループの今後の通知を受け取るには、エラーグループのステータスを [解決済み] に設定する必要があります。API を使用してエラーグループを削除する、データの期限が切れるまで待機するなどの他のアクションを実行しても、別のエラー イベントが発生していない場合には通知されません。
既存のエラーグループでエラー イベントが発生し、エラーグループのステータスが [解決済み] に設定されている場合。
Error Reporting は、エラーグループのステータスを [オープン] に更新します。
エラーイベントが発生し、対応するエラーグループのステータスが [ミュート中] の場合、Error Reporting は通知を送信しません。
エラーグループの解決ステータスを管理するには、エラーグループの管理をご覧ください。
通知のレート制限
Error Reporting では、次のルールを使用して、エラーイベントが原因で受信する通知の数を制限します。
Google Cloud プロジェクトごとに、60 分間に最大 5 件の通知を送信できます。
60 分間に Google Cloud プロジェクト全体で 5 件を超えるエラー通知が発生した場合は、次のようになります。
Google Cloud プロジェクトの通知が今後 6 時間オフになるという通知が届きます。
重大度レベルが
WARNINGのログエントリが書き込まれます。
エラーグループを解決すると、そのエラーグループに対する通知は 5 分間停止されます。
モバイル通知
Error Reporting は、Android と iOS のGoogle Cloud アプリにモバイル通知を送信します。モバイル通知を受け取るには、まずご使用のモバイル デバイスにアプリをインストールする必要があります。
