Cloud Load Balancing コールアウトのロギングとモニタリング

このページでは、Cloud Load Balancing の Service Extensions コールアウトで Cloud LoggingCloud Monitoring を構成して使用する方法について説明します。

ロギング

このセクションでは、アプリケーション ロードバランサのコールアウトのロギングについて説明します。

バックエンド サービスでロギングを有効にする

アプリケーション ロードバランサのコールアウトのロギングを有効にするには、サービスを作成するときに、リクエストのターゲット であるバックエンド サービス(拡張機能に関連付けられたバックエンド サービスではない)でロギングを有効にします。

ターゲット バックエンド サービスのロギングを有効にするには、 gcloud compute backend-services update コマンドを使用します。

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

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

  • BACKEND_SERVICE: バックエンド サービスの名前
  • RATE0.01.0 の値。0.0 はリクエストがログに記録されないことを意味し、1.0 はリクエストの 100% がログに記録されることを意味します。デフォルト値は 1.0 です。この設定は、 パラメータとともに使用した場合にのみ有効です。enable-logging enable-logging を省略すると、ロギングは無効になります。
  • REGION: バックエンドのリージョン
  • LOGGING_OPTIONAL_MODE: 次のいずれかのモードで オプション フィールドのロギングを有効にします。

    • INCLUDE_ALL_OPTIONAL: すべてのオプション フィールドを含めます。
    • EXCLUDE_ALL_OPTIONAL(デフォルト): すべてのオプション フィールドを除外します。
    • CUSTOM: オプション フィールドのカスタムリストを含めます。
  • OPTIONAL_FIELDS: CUSTOM モードを選択した場合の オプション フィールドのカンマ区切りのリスト

バックエンド サービスでロギングを有効にすると、HTTP リクエストまたは HTTPS リクエストが Cloud Logging ログのリクエストを使用してログに記録されます。

ログを表示するには、 Google Cloud コンソールで [ログ エクスプローラ] ページに移動します。

詳細については、アプリケーション ロードバランサのドキュメントの「モニタリングとトラブルシューティング」(内部アプリケーション ロードバランサのロギングとモニタリングなど)をご覧ください。

バックエンド サービスのログメッセージ

一般に、アプリケーション ロードバランサのログエントリには、HTTP トラフィックまたは HTTPS トラフィックのモニタリングとデバッグに役立つ情報が含まれています。ログエントリには次のタイプの情報が含まれています。

HTTP ロードバランサと HTTPS ロードバランサのリクエストログには、ロードバランサのログエントリ JSON ペイロードに service_extension_info オブジェクトが含まれており、次の情報が含まれています。

フィールド タイプ 説明
backend_target_name 文字列 拡張機能のバックエンド ターゲットの名前。
backend_target_type 文字列 バックエンド ターゲットのタイプ。
chain 文字列 リクエストに一致するサービス拡張機能リソース内の拡張機能チェーンの名前。 リクエストに一致します。
extension 文字列 拡張機能チェーン内の拡張機能の名前。
failed_open ブール値 拡張機能の構成で failOpentrue に設定されている場合、この指標の値 true は、 拡張機能がタイムアウトまたは失敗したときに処理が続行されたことを示します。

リージョン外部アプリケーション ロードバランサ、リージョン内部アプリケーション ロードバランサ、 クロスリージョン内部アプリケーション ロードバランサにのみ適用されます。

grpc_status enum gRPC ストリームの最新のステータス。詳細については、 gRPC ステータス コードをご覧ください。
per_processing_request_info 配列 gRPC ストリームで発生する ext_proc 拡張機能の ProcessingRequest 統計情報または ext_authz 拡張機能の CheckRequest 統計情報のリスト。
per_processing_request_info[].event_type enum ProcessingRequest のイベントタイプ。次のいずれかになります。 REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERS、または RESPONSE_BODY
per_processing_request_info[].latency duration ProcessingRequest メッセージの最初のバイトが拡張機能に送信されてから、 ProcessingResponse メッセージの最後のバイトが受信されるまでの時間。
per_processing_request_info[].processing_effect enum 処理リクエスト内の各イベントの処理結果。

リージョン外部アプリケーション ロードバランサ、リージョン内部アプリケーション ロードバランサ、 クロスリージョン内部アプリケーション ロードバランサにのみ適用されます。

次のいずれかの値です。

  • NONE: コンテンツが変更されなかったことを示します。
  • NONE_FAILED_OPEN: 拡張機能がオープンに失敗したため、ミューテーションが実行されなかったことを示します。
  • CONTENT_MODIFIED: 正常に適用されたミューテーション リクエストによってコンテンツが変更されたことを示します。
  • IMMEDIATE_RESPONSE: 拡張機能から即時レスポンスが送信され、それ以上の処理がすべて停止したことを示します。
  • MUTATION_REJECTED: 拡張機能が少なくとも 1 つの許可されていない変更をリクエストし、それ以上の処理が中止されたことを示します。適切なエラー メッセージがログに記録されます。
  • UNSPECIFIED: 処理の効果が不明であることを示します。
per_processing_request_info[].processing_effect_details 文字列 processing_effectMUTATION_REJECTED の場合、ミューテーションが拒否された理由の詳細。

リージョン外部アプリケーション ロードバランサ、 リージョン内部アプリケーション ロードバランサ、クロスリージョン内部アプリケーション ロードバランサにのみ適用されます。

resource 文字列 拡張機能リソースの名前

モニタリング

このセクションでは、Cloud Load Balancing の Service Extensions を使用して構成されたコールアウト をモニタリングする方法について説明します。

Monitoring ダッシュボードを表示する

アプリケーション ロードバランサは、モニタリング データを Cloud Monitoringにエクスポートします。

Monitoring 指標は、次の目的で使用できます。

  • ロードバランサの構成、使用状況、パフォーマンスの評価
  • 問題のトラブルシューティング
  • リソースの使用率とユーザー エクスペリエンスの改善

事前定義されたダッシュボードを表示する手順は次のとおりです。

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

    ダッシュボードの概要に移動

  2. [カテゴリ] セクションで [GCP] をクリックします。
    • すべてのロードバランサのダッシュボードのリストを表示するには、 [GCP ダッシュボード] リストで [Google Cloud Load Balancers] というダッシュボードをクリックします。特定のロードバランサのダッシュボードを表示するには、リストでロードバランサを見つけて 名前をクリックします。
    • ロードバランサの事前定義されたダッシュボードのみを表示するには、適切なダッシュボードを選択します。

Monitoring の事前定義されたダッシュボードに加えて、カスタム ダッシュボードを作成して、アラートをセットアップし、 Cloud Monitoring API を使用して指標をクエリできます。

詳細については、アプリケーション ロードバランサのドキュメントの「モニタリングとトラブルシューティング」(内部アプリケーション ロードバランサのロギングとモニタリングなど)をご覧ください。

コールアウトのモニタリング指標

コールアウト バックエンド サービスの次の指標をモニタリングできます。

プレビュー版では、リージョン外部アプリケーション ロードバランサ、リージョン内部アプリケーション ロードバランサ、クロスリージョン内部アプリケーション ロードバランサの拡張機能について、次の指標をモニタリングできます。これらの指標には networkservices.googleapis.com という接頭辞が付いています。次の表のエントリでは、接頭辞は省略されています。

次の表に、各指標の指標タイプ、表示名、種類、タイプ、単位、説明を示します。

指標タイプ 表示名
種類、タイプ、単位
説明
extension/invocation_count 拡張機能の呼び出し回数
DELTAINT641
拡張機能に送信された呼び出しの数。
extension/invocation_latencies 拡張機能の呼び出しレイテンシ
DELTADISTRIBUTIONms
各拡張機能の呼び出しのレイテンシから計算された分布。
extension/sent_chunks_count 拡張機能から送信されたチャンク数
DELTAINT641
request_body イベントと response_body イベントにのみ適用されます。 拡張機能に送信されたデータチャンクの数。
extension/received_chunks_count 拡張機能から受信したチャンク数
DELTAINT641
request_body イベントと response_body イベントにのみ適用されます。 拡張機能から受信したチャンクの数。
extension/failed_open_count フェイルオープンで失敗した拡張機能の呼び出し
DELTAINT641
システムが フェイルオープンするように構成され、リクエストの続行が許可された場合に、呼び出しが失敗した回数。
extension/mutation_rejections_count 拡張機能のミューテーション拒否数
DELTAINT641
ヘッダー、本文、トレーラーのミューテーションをリクエストしたが 拒否された呼び出しの数。拒否は、ミューテーション が無効であるか、サイズ制限を超えているなど、さまざまな理由で発生する可能性があります。
extension/sent_bytes_count 拡張機能に送信されたバイト数
DELTAINT64By
拡張機能に送信されたバイト数。
extension/received_bytes_count 拡張機能から受信したバイト数
DELTAINT64By
拡張機能から受信したバイト数。

次の指標もモニタリングできます。これらの指標には loadbalancing.googleapis.com/という接頭辞が付いています。次の表のエントリでは、接頭辞は省略されています 。

指標タイプ 表示名
種類、タイプ、単位
説明
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
バックエンド リクエスト数
DELTAINT641
アプリケーション ロードバランサからコールアウト バックエンド サービスが呼び出された回数。
https/backend_request_bytes_count
https/external/regional/backend_request_bytes_count
https/internal/backend_request_bytes_count
バックエンド リクエストのバイト数
DELTAINT64By
ロードバランサからコールアウト バックエンド サービスに送信されたバイト数。
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
バックエンド レスポンスのバイト数
DELTAINT64By
ロードバランサが 拡張機能バックエンドから受信したバイト数。
https/backend_latencies
https/external/regional/backend_latencies
https/internal/backend_latencies
バックエンド レイテンシ
DELTADISTRIBUTIONms
ロードバランサとコールアウト バックエンド サービス間の各拡張機能の呼び出しのレイテンシの合計から計算された分布。60 秒ごとにサンプリングされます。

次のステップ