ダッシュボードにイベントを表示する

このドキュメントでは、イベント アノテーションを表示するようにダッシュボードを構成する方法について説明します。イベントとは、システムのオペレーションに影響するデプロイやクラッシュなどのアクティビティです。イベント アノテーションを表示すると、問題のトラブルシューティング時にさまざまなソースのデータの相関関係を把握できます。

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

イベント アノテーションについて

Google Cloud コンソールの [ダッシュボード] ページに一覧表示されるほとんどのダッシュボードでイベントを表示できます。同様に、Compute Engine や Google Kubernetes Engine など、サービス固有の [オブザーバビリティ] タブを構成して、イベントを表示することもできます。ダッシュボードまたは [オブザーバビリティ] タブに表示されるイベントタイプを構成するには、 Google Cloud コンソールを使用します。作成したダッシュボード(カスタム ダッシュボードと分類)では Cloud Monitoring API を使用することもできます。

Cloud Monitoring API を使用するか、イベントタイプの選択を保存する操作を行わない限り、選択内容は現在のセッションにのみ適用されます。 Google Cloud コンソールを使用する場合は、選択内容を固定すると保存されます。

イベントタイプのリスト、トラブルシューティングのリファレンスなどの情報については、イベントタイプのページをご覧ください。

イベントタイプを選択していない場合でも、ダッシュボードまたは [オブザーバビリティ] タブで次のイベントタイプが有効になっていることがあります。

イベントタイプが自動的に追加される場合、それは推奨イベントタイプです。これらのイベントタイプを推奨状態のままにするか、ダッシュボード JSON に保存するか、これらを閉じて推奨事項を削除します。保存されているイベントタイプを確認するには、[アノテーション] メニューを開き、[固定] セクションを表示します。

イベントの特定方法

ダッシュボードは、さまざまなデータソースにクエリを実行して、ダッシュボードに表示するイベントを特定します。

  • アラート イベントは Monitoring によって特定されます。アラート イベントには、インシデントが開かれた日時に関する情報が表示されます。

  • Personalized Service Health イベントは、Monitoring が Service Health API に送信するクエリによって特定されます。これらのイベントは、 Google Cloud サービスの中断がいつ発生したかを示します。

  • 他のすべてのイベントタイプは、 Google Cloud プロジェクトの Cloud Logging シンクを通過するログエントリを分析することで特定されます。これらのログエントリには、プロジェクトによって生成されたエントリと、プロジェクトに転送されたエントリが含まれます。これらのイベントのいずれかが発生したときに通知を受け取るには、ログベースのアラート ポリシーを作成します。アラート ポリシーで、[イベントタイプ] ページに表示されているクエリを使用します。

イベントの表示方法

すべてのイベントについて、イベントが発生すると、ダッシュボードのグラフにアノテーションが付けられます。ログエントリの分析によって特定されたイベントは、1 つの時間参照とともに表示されます。一方、Service Health イベントは開始時間とともに表示され、イベントの期間中はグラフの背景が変更されます。これらのイベントではハートアイコンも表示されます。

次のスクリーンショットは、ログエントリの分析によって特定された複数のイベントと、1 つの Service Health イベントが表示されているグラフを示しています。

警告と情報のイベント アノテーションを示すグラフ。

上のスクリーンショットに示すとおり、イベントのツールチップには次のような情報が表示されます。

  • イベント名。
  • イベントの日時と開始時間。
  • Service Health イベントの場合、影響を受けるプロダクトとロケーションの数を示すチップ。影響を受けるプロダクトまたはロケーションを一覧表示するには、対応するチップの上にポインタを置きます。
  • [表示] ボタン。選択すると、イベントの詳細情報が表示されるページが開きます。たとえば、ログ エクスプローラを開いてログエントリを表示したり、Service Health イベントの詳細ページを開いたりできます。

ダッシュボードに表示されるデータを制限するダッシュボード フィルタは、通常、時系列データとイベントの両方をフィルタします。

始める前に

ダッシュボードでイベントを表示する Google Cloud プロジェクトで、次の操作を行います。

  • ダッシュボードでイベントを確認および表示するために必要な権限を取得し、アラート ポリシーを作成するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。

    • ダッシュボードとアラート ポリシーを表示して作成する: モニタリング編集者(roles/monitoring.editor)。
    • Google Cloud プロジェクトで作成されたデータアクセス以外のログエントリから特定されたイベントを確認および表示する: ログ閲覧者(roles/logging.viewer)。
    • Google Cloud プロジェクトで作成されたログエントリから特定されたイベントを確認および表示する: プライベート ログ閲覧者(roles/logging.privateLogViewer)。
    • Service Health イベントを表示する: Personalized Service Health 閲覧者roles/servicehealth.viewer

    ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

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

  • Service Health イベントをダッシュボードに表示する場合は、Service Health API を有効にします。

    Enable the API

イベントを表示する

このセクションでは、イベントを表示するようにダッシュボードまたは [オブザーバビリティ] タブを構成する方法について説明します。

イベントを表示するようにダッシュボードを構成する

このセクションでは、 Google Cloud コンソールの [ダッシュボード] ページに一覧表示されるダッシュボードを構成して、イベントを表示する方法について説明します。

イベントタイプのリスト、トラブルシューティングのリファレンス、ログ エクスプローラまたはログベースのアラート ポリシーで使用できるクエリについては、イベントタイプのページをご覧ください。

コンソール

ダッシュボードにイベントを表示する手順は次のとおりです。

  1. Google Cloud コンソールで [ ダッシュボード] ページに移動します。

    [ダッシュボード] に移動

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

  2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
  3. 表示するダッシュボードを選択します。
  4. ダッシュボードのツールバーで、[ アノテーション] をクリックし、ダッシュボードに表示するイベントタイプを選択します。
  5. 次のいずれかを行います。

    • 選択内容を保存して、ダッシュボードを再読み込みしたときにイベントが表示されるようにするには、[選択内容を固定] をクリックします。ダッシュボードで自動保存が無効になっている場合は、ダッシュボードのツールバーに移動して [保存] をクリックします。

      選択内容を固定すると、ダッシュボードの JSON 定義が変更されます。そのため、ダッシュボードを再度開くと、選択内容が読み込まれ、対応するイベントタイプのアノテーションがダッシュボードに表示されます。

    • 現在のセッションでのみイベントタイプを表示するには、[適用] をクリックします。

    表示するイベントタイプのリストを更新すると、Cloud Monitoring によってクエリが発行されます。これには少し時間がかかります。その後、ダッシュボードのグラフにアノテーションが追加されます。

  6. イベントの概要を表示するか、または詳細情報へのリンクにアクセスするには、ポインタを使用してツールチップを有効にします。

API

イベントを表示するようにカスタム ダッシュボードを構成するには、Dashboard オブジェクトに annotations フィールドを含めます。annotations フィールドには、次の 2 つのフィールドを含む DashboardAnnotations オブジェクトのインスタンスが含まれています。

  • defaultResourceName フィールドには、イベントを検索するGoogle Cloud プロジェクトのダッシュボード レベルのデフォルト値が一覧表示されます。このフィールドを指定しない場合、選択したプロジェクトが検索されます。

  • EventAnnotation オブジェクトの配列。各オブジェクトには次のフィールドが含まれます。

    • displayName フィールド。イベント固有の切り替えのラベルを定義できます。このフィールドが指定されていない場合、またはこのフィールドの値が空の文字列の場合、イベントのデフォルト名が表示されます。
    • enabled フィールド。イベントの切り替えの値を制御します。true の場合、切り替えは on になっており、イベントがダッシュボードに表示されます。false の場合、切り替えは off になっています。
    • eventType フィールド。EventType 列挙型の値が含まれます。
    • filter フィールド。イベント固有のクエリに追加するクエリを指定できます。このフィールドの値が空の文字列の場合、イベント固有のクエリが使用されます。
    • resourceNames フィールド。イベントを検索するGoogle Cloud プロジェクトのリストを定義できます。このフィールドが空の配列の場合、選択したプロジェクトが検索されます。

以下は、クラスタ更新イベントの annotations オブジェクトの例を示しています。この例の filter フィールドは、イベントを特定のクラスタに制限します。

"annotations": {
  "defaultResourceNames": [],
  "eventAnnotations": [
    {
      "displayName": "",
      "enabled": true,
      "eventType": "GKE_CLUSTER_UPDATE",
      "filter": "resource.labels.cluster_name=my-cluster",
      "resourceNames": []
    }
  ]
}

Cloud Monitoring API を使用してダッシュボードを作成する方法の詳細については、API でダッシュボードを作成して管理する例: ダッシュボードでイベントを有効にするをご覧ください。

イベントを表示するように [オブザーバビリティ] タブを構成する

このセクションでは、イベントを表示するように [オブザーバビリティ] タブを構成する方法について説明します。Compute Engine や Google Kubernetes Engine などの一部のサービスには、指標とログデータを表示する [オブザーバビリティ] タブがあります。

コンソール

イベントを表示するように [オブザーバビリティ] タブを構成する手順は次のとおりです。

  1. サービスまたはプロダクトの [オブザーバビリティ] タブに移動します。

    たとえば、[Kubernetes クラスタ] ページに移動し、[オブザーバビリティ] タブを選択します。同様に、[Kubernetes ワークロード] ページまたは仮想マシン(VM)インスタンスの詳細ページに移動してから、[オブザーバビリティ] タブを選択します。

  2. [ダッシュボード] メニューが [事前定義] に設定されていることを確認します。イベントをカスタム ダッシュボードに表示することはできません。

  3. ツールバーで [ アノテーション] をクリックし、ダイアログを完了します。

    表示するイベントのリストを更新すると、イベントデータを取得するためのクエリが発行され、ダッシュボードが更新されます。

    [ アノテーション] メニューが表示されない場合、そのタブはイベントを表示するように構成できません。

API

利用できません。

イベントの詳細を表示する

イベント アノテーションが表示されているグラフを表示している場合は、ツールチップに表示されているリンクを使用して、詳細情報を確認できます。

特定のイベントの詳細を確認するには、[表示] をクリックします。

[表示] ボタンで開かれる Google Cloud コンソール ページは、イベントタイプに応じて決まります。たとえば、稼働時間チェック イベントの場合、このボタンをクリックすると、稼働時間チェックのダッシュボードが開きます。別のイベントタイプの場合、ログ エクスプローラが開くことがあります。

アラート ポリシーを作成する

Google Cloud プロジェクトの Cloud Logging シンクを通過するログエントリの分析によってイベントが特定された場合、ログベースのアラートを構成することで、それらのイベントが発生したときに通知を受け取ることができます。ログベースのアラート ポリシーは、ログエントリを受け取ると、ログエントリに対しクエリを実行します。クエリにより空ではない結果が返されると、インシデントが作成され、通知が送信されます。

コンソール

ログベースのアラートを作成するには、次の操作を行います。

  1. 通知チャンネルを構成していない場合は、次の手順を行います。

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

      [アラート] に移動

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

    2. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ対応フォルダの管理プロジェクトを選択します。
    3. [通知チャンネルを編集] をクリックします。
    4. 構成する通知チャンネルの種類に移動し、[新しく追加] をクリックして、ダイアログを完了します。
  2. Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。

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

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

  3. Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。

  4. ツールバーで [アラートを作成] を選択します。

  5. アラート ポリシーの名前を入力してから、[次へ] をクリックします。

  6. [Define log entries to alert on] セクションでクエリを入力するか、[アラートを作成] を選択したときに [クエリ] ペインからコピーしたクエリを更新します。

    イベントタイプのページには、イベントタイプごとに、ログベースのアラート ポリシーでの使用に適したクエリが一覧表示されています。

  7. ダイアログの項目を入力して、[保存] をクリックします。

API

Cloud Monitoring API を使用してログベースのアラート ポリシーを作成するには、次の操作を行います。

  1. アラート ポリシーの条件に含めるクエリを特定します。イベントタイプのページには、イベントタイプごとに、ログベースのアラート ポリシーでの使用に適したクエリが一覧表示されています。

  2. アラート ポリシーの表現を含む JSON ファイルを作成します。この手順の詳細と例については、アラート ポリシーを設計するをご覧ください。

  3. alertPolicies.create API メソッドを呼び出します。たとえば、gcloud alpha monitoring policies create コマンドを発行します。

イベントを非表示にする

コンソール

すべてのイベントを非表示にするには、ダッシュボード ツールバーで [ アノテーション] をクリックし、[消去] を選択してから、[適用] を選択します。

1 つのタイプのイベントを非表示にするには、[ アノテーション] をクリックし、そのイベントタイプの選択を解除してから、[適用] を選択します。

API

カスタム ダッシュボードで 1 つのタイプのイベントを非表示にするには、イベントタイプの EventAnnotation オブジェクトを見つけてから、enabled フィールドを false に設定します。

Cloud Monitoring API の使用方法の詳細については、API でダッシュボードを作成して管理するをご覧ください。

次のステップ