選択した Cloud Monitoring 通知チャネルにエラー通知を送信するように Error Reporting を構成できます。
Error Reporting では、次の場合に通知を送信します。
既存のエラーに分類できないエラーが初めて Google Cloud プロジェクトで発生した場合
解決済みとマークされたエラーが再発した場合
通知チャンネルを管理
Monitoring で通知チャンネルを作成、編集、削除します。 通知チャンネルを作成したら、通知チャンネルを使用するように Error Reporting を構成できます。
Error Reporting では、メール、モバイル、Slack、Webhook の 4 種類の通知チャンネルを選択できます。
始める前に
Google Cloud コンソールを使用して通知チャネルを表示および構成するために必要な権限を取得するには、プロジェクトに対する Monitoring 編集者(roles/monitoring.editor
)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Cloud Monitoring のロールの詳細については、Identity and Access Management を使用してアクセスを制御するをご覧ください。
通知チャンネルを作成する
Cloud Console を使用して通知チャネルを作成するには、次の表に示すチャネル固有の手順を行います。
メール
メール通知チャネルを追加する手順は次のとおりです。
-
Google Cloud コンソールで、notifications [アラート] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- [Edit notification channels] をクリックします。
- [メール] セクションで [新しく追加] をクリックします。
- 1 つのメールアドレスと説明を入力します。
- [保存] をクリックします。
アラート ポリシーの通知チャネルとしてグループのメールアドレスを使用する場合は、ErrorReportingNotifications-noreply@google.com
からのメールを受け入れるようにグループを構成します。
モバイル アプリ
Google Cloud コンソール モバイルアプリを使用すると、Google Cloud コンソール リソースと Monitoring 情報をどこからでもモニタリングできます。Google Cloud コンソール モバイルアプリ通知は、特定のデバイスまたはユーザーに送信されます。
- デバイスは、通知チャンネルを作成した特定のデバイスにのみ通知を送信することを示します。デバイス スコープの通知チャンネルの場合、[表示名] フィールドにはデバイス情報が含まれます。
- ユーザーは、Google Cloud コンソール モバイルアプリがインストールされているすべてのデバイスに通知を送信することを示します。
チャンネルが作成されると、Cloud Monitoring によって通知スコープが決定されます。スコープを選択または変更することはできません。
特定の Google Cloud プロジェクトの Cloud Console モバイルアプリ通知チャンネルを構成する手順は次のとおりです。
- モバイル デバイスのアプリストアから Google Cloud Console モバイルアプリをインストールします。
Google Cloud コンソール モバイルアプリに表示するプロジェクトを選択します。
プロジェクトを選択すると、アプリと選択した Google Cloud プロジェクトの間でデータ交換が行われます。通知チャネルが存在しない場合は自動的に作成され、数分後に [通知チャネル] ページの [モバイル デバイス] セクションに表示されます。
アラート ポリシーの通知チャンネルとしてモバイル デバイスを追加するには、アラートの [通知] セクションで [Google Cloud Console(モバイル)] を選択し、リストからモバイル デバイスを選択します。
Slack
Slack 通知を設定する方法は次のとおりです。
Slackの場合: Slack サイトで Slack ワークスペースとチャネルを作成します。チャンネル URL をメモしておきます。
-
Google Cloud コンソールで、notifications [アラート] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
[Edit notification channels] をクリックします。
[Slack] セクションで、[新規追加] をクリックして Slack のログインページを開きます。
- Slack ワークスペースを選択します。
- [許可] をクリックして Cloud Monitoring の Slack ワークスペースへのアクセスを有効にします。この操作を行うと、通知チャンネルの Monitoring 構成ページに戻ります。
- [Slack チャンネルの名前] フィールドに、通知に使用する Slack チャンネルの名前を入力します。
- [Cloud Alerting の表示名] フィールドに、短い説明文を入力します。Monitoring は、[Notifications channel] ページにこのフィールドの値を表示します。
- (省略可)Cloud Monitoring と Slack ワークスペースの間の接続をテストするには、[テスト通知を送信する] をクリックします。接続に成功すると、指定した Slack 通知チャネルにメッセージ
This is a test alert notification...
が表示されます。通知チャネルで通知の受信を確認してください。
通知に使用する Slack チャネルがプライベート チャネルの場合は、Monitoring アプリをそのチャネルに手動で招待する必要があります。
- Slack を開きます。
Monitoring の通知として指定したチャネルに移動します。
チャネルで次のメッセージを入力して送信することで、Monitoring アプリをチャネルに招待します。
/invite @Google Cloud Monitoring
Monitoring で通知チャネルを作成するときに指定したチャネルに、Monitoring アプリを招待するようにしてください。Monitoring アプリをパブリック チャネルに招待する方法は省略可能です。
Webhook
Webhooks 通知を設定するには、次の手順を行います。
- webhook ハンドラ: Monitoring から webhook データを受信するパブリック エンドポイント URL を指定します。
-
Google Cloud コンソールで、notifications [アラート] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- [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編集] をクリックします。変更が完了したら、[保存] をクリックします。
- エントリを削除するには、[ 削除] をクリックします。確認ダイアログで、[削除] をクリックします。
Google Cloud コンソールから通知チャンネルを選択する
既存の通知チャンネルを選択するには、次のいずれかのロールが必要です。
- Error Reporting ユーザー
- Error Reporting 管理者
- プロジェクト編集者
- プロジェクト オーナー
新しいエラーグループが発生したときに通知を送信する場所を選択するには、次の手順を行います。
-
Google Cloud コンソールで、[Error Reporting] ページに移動します。
このページは、検索バーを使用して見つけることもできます。
[通知の構成] をクリックして [エラー通知] ページを開きます。
[通知チャネル] プルダウン メニューで、通知を送信するチャネルを選択します。
必要なチャンネルが表示されない場合は、[通知チャンネルを管理] をクリックして、新しいチャンネルを作成します。通知チャンネルを作成するには、チャンネルの作成に記載されているロールが必要です。
チャンネルを選択したら [保存] をクリックします。
その他の情報
以下は、Error Reporting で通知を作成および管理する際に役立つ追加情報です。
通知の内容
エラーグループの通知には、グループ内のログエントリに関連する情報が含まれます。含まれる情報は、エラーが発生したモニタリング対象リソースのタイプによって異なります。たとえば、一部の通知には、モニタリング対象リソースの名前とバージョンが含まれる場合があります。
エラー メッセージは、リージョンが global
のログバケット内のログエントリによってエラーグループが識別された場合にのみ、通知に含まれます。
通知が送信されるタイミング
Error Reporting では、次の 2 つの場合に通知を送信します。
- Error Reporting でエラーグループが確認されていない場合。
- 既存のエラーグループでエラーが発生し、エラーグループのステータスが
Resolved
に設定されている場合。
エラーグループに関する今後の通知を受け取るには、エラーグループのステータスを Resolved
に設定する必要があります。API を使用してエラーグループを削除する、データの期限が切れるまで待機するなどの他のアクションを実行しても、別のエラーが発生していない場合には通知されません。
通知のレート制限
Error Reporting では、次のルールを使用して、エラーが原因で受信する通知の数を制限します。
エラーが原因で発生する通知は、60 分間に最大 5 回送信できます。
60 分間に 5 件を超えるエラーが発生した場合は、次のようになります。
今後 6 時間通知はオフになるという通知が届きます。
警告の重大度を含むログエントリが書き込まれます。
エラーグループを解決すると、そのエラーグループに対する通知は 5 分間停止されます。
解決ステータス
解決ステータスが [解決済み] のエラーが再発した場合、そのエラーがすでに削除されていても、解決ステータスが [対応待ち] に戻され、Error Reporting から通知が送信されます。
[ミュート中] のエラーが再発した場合は、Error Reporting から通知は送信されません。
エラーの解決ステータスを管理するには、エラーの管理をご覧ください。
モバイル通知
Error Reporting は、Android と iOS の Cloud コンソール アプリにモバイル通知を送信します。モバイル通知を有効にするには、まずご使用のモバイル デバイスにアプリをインストールする必要があります。