複合ヘルスをモニタリングする

このページでは、複合ヘルスを使用する公開サービスのヘルスをモニタリングする方法について説明します。以下の操作を行うことができます。

  • 現在のヘルス状態をモニタリングする: 公開されたサービスまたは個々のバックエンド サービスのリアルタイムのヘルス状態を確認します。
  • 健全性状態の遷移に関するログを表示する: Cloud Logging を使用して、モニタリング対象リソースの健全性状態の変化を記録するログエントリを表示します。

公開サービスは、関連付けられた複合ヘルスチェックを通じてモニタリングします。個々のバックエンド サービスは、関連付けられたヘルスソースを通じてモニタリングします。サービス コンシューマーは、複合ヘルスを使用する公開サービスに接続する Private Service Connect NEG のログを表示できます。

複合ヘルスは、次の状態を使用して、公開サービスとバックエンド サービスの健全性を表します。

健全性 モニタリング対象リソース 説明
HEALTHY ヘルスソース 関連付けられたバックエンド サービスは、ヘルス集計ポリシーで定義されているとおりに正常です。
複合ヘルスチェック 関連付けられた各ヘルスソースが正常であるため、公開されたサービスは正常です。
Private Service Connect NEG 関連付けられた公開サービスは、プロデューサーの複合ヘルスチェックで定義されているとおりに正常です。
UNHEALTHY ヘルスソース バックエンド サービスが、ヘルス集計ポリシーで定義された基準を満たしていません。
複合ヘルスチェック 関連付けられた 1 つ以上のヘルスソースが正常でないため、公開されたサービスは正常ではありません。
Private Service Connect NEG 関連付けられた公開サービスは、プロデューサーの複合ヘルスチェックで定義されているように異常です。このステータスは、クロスリージョン フェイルオーバーをトリガーできます。
UNKNOWN ヘルスソース ヘルス ステータスはまだ利用できません。これは、リソースが新しく作成または構成されたときに発生する一時的な状態です。
複合ヘルスチェック 関連付けられたヘルスソースはすべて正常ですが、1 つ以上のヘルスソースが不明です。
Private Service Connect NEG 関連付けられた公開サービスのヘルス ステータスはまだ使用できません。

始める前に

公開されたサービスの健全性をモニタリングするには、事前に複合ヘルスを構成する必要があります。

必要なロール

複合ヘルスをモニタリングするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

  • ヘルスソースまたは複合ヘルスチェックの健全性状態を確認する: Compute 閲覧者 roles/compute.viewer
  • 複合ヘルス ロギングを表示する: ログビューア roles/logging.viewer

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

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

単一のヘルスソースのヘルス状態を確認する

このセクションでは、ヘルスソースに関する次の情報を取得する方法について説明します。

  • 全体的なヘルス状態
  • ヘルスソースのバックエンド サービスに関連付けられている各インスタンス グループまたは NEG のエンドポイントの総数と比較した正常なエンドポイントの数

ヘルスソースが、複数の転送ルールを持つ内部パススルー ネットワーク ロードバランサのバックエンド サービスに関連付けられている場合、ヘルス状態はロードバランサの転送ルールごとに個別に計算されます。この場合、ヘルス状態の詳細には、評価対象の転送ルールを識別する forwardingRule フィールドが含まれます。

コンソール

  1. Google Cloud コンソールで、[複合ヘルス] ページに移動します。

    [複合ヘルス] に移動

  2. [健康状態のソース] をクリックします。

  3. 表示するヘルスソースの名前をクリックします。

  4. 詳細を表示するには、[ヘルスステータス] セクションで、表示するバックエンド サービスの横にある 展開矢印をクリックします。転送ルールが表示されたら、転送ルールの横にある展開矢印をクリックして、関連付けられているバックエンドのステータスを表示します。

gcloud

gcloud compute health-sources get-health コマンドを使用します。

gcloud compute health-sources get-health HEALTH_SOURCE \
    --region=REGION

次のように置き換えます。

  • HEALTH_SOURCE: ヘルスソースの名前
  • REGION: ヘルスソースのリージョン

API

リクエストを regionHealthSources.getHealth メソッドに送信します。

HTTP メソッドと URL:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE/getHealth

次のように置き換えます。

  • PROJECT_ID: オブジェクトの ID
  • REGION: ヘルスソースのリージョン
  • HEALTH_SOURCE: ヘルスソースの名前

複合ヘルスチェックのヘルス状態を確認する

このセクションでは、複合ヘルスチェックの健全性状態を確認する方法について説明します。これには、次の情報が含まれます。

  • モニタリング対象のリージョン公開サービスの全体的なヘルス状態
  • 複合ヘルスチェックに関連付けられている各ヘルスソースの個々のヘルス状態

コンソール

  1. Google Cloud コンソールで、[複合ヘルス] ページに移動します。

    [複合ヘルス] に移動

  2. 表示する複合ヘルスチェックの名前をクリックします。

  3. 詳細を表示するには、[ヘルスステータス] セクションで、表示する複合ヘルスチェックの横にある 展開矢印をクリックします。

gcloud

gcloud compute composite-health-checks get-health コマンドを使用します。

gcloud compute composite-health-checks get-health COMPOSITE_CHECK_NAME \
    --region=REGION

次のように置き換えます。

  • COMPOSITE_CHECK_NAME: 複合ヘルスチェックの名前
  • REGION: 複合ヘルスチェックのリージョン

API

リクエストを regionCompositeHealthChecks.getHealth メソッドに送信します。

HTTP メソッドと URL:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks/COMPOSITE_CHECK_NAME/getHealth

次のように置き換えます。

  • PROJECT_ID: オブジェクトの ID
  • REGION: 複合ヘルスチェックのリージョン
  • COMPOSITE_CHECK_NAME: 複合ヘルスチェックの名前

複合ヘルスログを表示する

Cloud Logging を使用して、健全性の変化を追跡できます。これらのログは、健全性の状態が変化するたびに(HEALTHY から UNHEALTHY など)生成されます。

ロギングは、複合ヘルスを使用するように構成された公開サービスに接続するヘルスソース、複合ヘルスチェック、Private Service Connect NEG でデフォルトで有効になっています。

ログデータのクエリと分析の詳細については、ログ エクスプローラとオブザーバビリティ分析を使用してログを分析するをご覧ください。

コンソール

複合ヘルスログを表示する手順は次のとおりです。

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

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

  2. [クエリ] ペインにクエリ エディタ フィールドが表示されない場合は、[クエリを表示] をクリックします。

  3. クエリエディタ フィールドで、次の操作を行います。

    • プロデューサー リソース(ヘルスソースと複合ヘルスチェック)のログを表示するには、次のクエリを入力します。

      logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fcompositehealth"
      
    • コンシューマー リソース(複合ヘルスチェックを使用する公開サービスに接続された Private Service Connect NEG)のログを表示するには、次のクエリを入力します。

      logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fservicehealthchecks"
      

    PROJECT_ID は、実際のプロジェクト ID に置き換えます。

  4. [クエリを実行] をクリックします。