Service Mesh (ASM) インスタンスの Prometheus モニタリングを有効にすると、Envoy は、特定のメッシュ、名前空間、またはワークロード用にカスタマイズできるデフォルトのメトリックを生成します。このトピックでは、Service Mesh (ASM) でこれらのモニタリングメトリックをカスタマイズする方法について説明します。
前提条件
クラスターが ASM インスタンスに追加されていること。 詳細については、「ASM インスタンスにクラスターを追加する」をご参照ください。
背景情報
Istio はデフォルトのメトリックを生成し、各メトリックにはタグが含まれています。このセクションでは、Istio が生成するデフォルトのメトリックについて説明します。
HTTP、HTTP/2、および gRPC トラフィックの場合、Istio は次のメトリックを生成します。
リクエスト数 (istio_requests_total): Istio プロキシによって処理されるすべてのリクエストに対してインクリメントされるカウンターです。 リクエスト期間 (istio_request_duration_milliseconds): リクエストの期間を測定するディストリビューションです。 リクエストサイズ (istio_request_bytes): HTTP リクエストボディのサイズを測定するディストリビューションです。 レスポンスサイズ (istio_response_bytes): HTTP 応答ボディのサイズを測定するディストリビューションです。 gRPC リクエストメッセージ数 (istio_request_messages_total): クライアントから送信される gRPC メッセージごとにインクリメントされるカウンターです。 gRPC 応答メッセージ数 (istio_response_messages_total): サーバーから送信される gRPC メッセージごとにインクリメントされるカウンターです。TCP トラフィックの場合、Istio は次のメトリックを生成します。
送信 TCP バイト数 (istio_tcp_sent_bytes_total): TCP 接続の場合に応答中に送信された合計バイト数を測定するカウンターです。 受信 TCP バイト数 (istio_tcp_received_bytes_total): TCP 接続の場合にリクエスト中に受信した合計バイト数を測定するカウンターです。 オープンされた TCP 接続数 (istio_tcp_connections_opened_total): オープンされた接続ごとにインクリメントされるカウンターです。 クローズされた TCP 接続数 (istio_tcp_connections_closed_total): クローズされた接続ごとにインクリメントされるカウンターです。
Istio が生成する各メトリックには、次のデフォルトタグが含まれています。
DefaultStatTags=["reporter","source_namespace","source_workload","source_workload_namespace","source_principal","source_app","source_version","source_app","source_version","source_cluster","destination_namespace","destination_principal","destination_app","destination_version","destination_service","destination_service_name","destination_service_namespace","destination_port","destination_cluster","request_protocol","request_operation","response_flags","grpc_response_status","connection_security_policy","source_canonical_service","destination_canonical_service","source_canonical_revision","destination_canonical_revision"]タグの説明
タグ | 説明 |
reporter | リクエストのレポーター。タグの値はレポーターによって異なります。
|
source_workload | ソースワークロードの名前。タグの値が収集されない場合、値は |
source_workload_namespace | ソースワークロードの名前空間。タグの値が収集されない場合、値は |
source_principal | トラフィックソースのピアプリンシパル。このタグの値は、ピア認証が作成された場合にのみ収集できます。 |
source_app | ソースワークロードのアプリケーションタグによって識別されるソースアプリケーション。タグの値が収集されない場合、値は |
source_version | ソースワークロードのバージョン。タグの値が収集されない場合、値は |
source_cluster | ソースワークロードのクラスター。 |
destination_namespace | 宛先ワークロードの名前空間。タグの値が収集されない場合、値は |
destination_workload | 宛先ワークロードの名前。タグの値が収集されない場合、値は |
destination_workload_namespace | 宛先ワークロードの名前空間。タグの値が収集されない場合、値は |
destination_principal | トラフィック宛先のピアプリンシパル。このタグの値は、ピア認証が作成された場合にのみ収集できます。 |
destination_app | 宛先ワークロードのアプリケーションタグによって識別される宛先アプリケーション。タグの値が収集されない場合、値は |
destination_version | 宛先ワークロードのバージョン。タグの値が収集されない場合、値は |
destination_service | 受信リクエストを担当する宛先サービスホスト。 |
destination_service_name | 宛先サービスの名前。 |
destination_service_namespace | 宛先サービスの名前空間。 |
destination_port | 宛先ポート。 |
destination_cluster | 宛先ワークロードのクラスター。 |
request_protocol | リクエストのプロトコル。 |
request_operation | リクエストされた操作。 |
response_flags | プロキシからの応答または接続に関する追加の詳細。 |
grpc_response_status | gRPC 応答ステータス。 |
connection_security_policy | リクエストのサービス認証ポリシー。 |
手順
V1.15.3.65 より前の ASM インスタンスの場合
(オプション) Prometheus モニタリングを有効にします。
説明Prometheus モニタリングを有効にしている場合は、このステップをスキップしてください。
ASM コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[基本情報] ページで、右上隅にある [機能設定] をクリックします。
[機能設定の更新] パネルで、[Prometheus メトリック収集の有効化] を選択し、必要に応じて有効化方法を選択して、[OK] をクリックします。
メトリックをカスタマイズします。
左側のナビゲーションウィンドウで、 を選択し、[作成] をクリックします。
[作成] ページで、パラメーターを設定し、[作成] をクリックします。
設定項目
説明
一致ラベル
[名前] をタグ名に、[値] をアプリケーション名に設定します。 ASM は指定された値に基づいてアプリケーションを照合します。 カスタムメトリックはこのアプリケーションに対してのみ有効になります。
inboundSidecar
[inboundSidecar] をクリックし、[メトリックの追加] をクリックして、インバウンドトラフィックのカスタムタグを設定します。
メトリック名: すべてのメトリックに適用するには、これを空のままにします。
メトリックディメンション: [メトリックディメンションの追加] をクリックして、[タグ] と [式] を設定します。
削除するタグ: メトリックディメンションから削除するタグを指定します。
outboundSidecar
[outboundSidecar] をクリックし、[メトリックの追加] をクリックして、アウトバウンドトラフィックのカスタムタグを設定します。
メトリック名: すべてのメトリックに適用するには、これを空のままにします。
メトリックディメンション: [メトリックディメンションの追加] をクリックして、[タグ] と [式] を設定します。
削除するタグ: メトリックディメンションから削除するタグを指定します。
ゲートウェイ
[ゲートウェイ] をクリックし、[メトリックの追加] をクリックして、ゲートウェイのカスタムタグを設定します。
メトリック名: すべてのメトリックに適用するには、これを空のままにします。
メトリックディメンション: [メトリックディメンションの追加] をクリックして、[タグ] と [式] を設定します。
削除するタグ: メトリックディメンションから削除するタグを指定します。
説明[inboundSidecar] のみを設定し、[outboundSidecar] と [gateway] を未設定のままにした場合、カスタムタグはインバウンドトラフィックにのみ使用されます。 アウトバウンドトラフィックとゲートウェイのメトリックは、デフォルトのメソッドを使用して生成されます。
V1.15.3.65 以降、V1.17.2.35 より前の ASM インスタンスの場合
ASM は [カスタムメトリック] ページをアップグレードし、[モニタリングメトリック] に名前を変更しました。 新しい UI により、設定が簡素化され、効率が向上します。 この機能を使用するには、ASM インスタンスが V1.15.3.65-g97cc18dd-aliyun 以降である必要があります。 ASM インスタンスのスペックアップ方法の詳細については、「ASM インスタンスのスペックアップ」をご参照ください。
ASM コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[モニタリングメトリック] ページで、[メトリック設定] タブをクリックします。 必要に応じて [グローバル] または [カスタム] メトリックを設定します。
グローバルメトリックの設定
ASM は、デフォルトで有効になっているいくつかのグローバルメトリックを提供します。 必要に応じて、これらのメトリックを有効または無効にしたり、ディメンションを変更したりできます。 メトリックの詳細については、「メトリックの説明」をご参照ください。
操作
説明
グローバルメトリックの有効化または無効化
グローバルメトリックを有効にするには: [グローバル] タブをクリックします。 ターゲットメトリックについて、[クライアント側のメトリック] または [サーバー側のメトリック] 列で [有効化] を選択し、[保存] をクリックします。
グローバルメトリックを無効にするには: [グローバル] タブをクリックします。 ターゲットメトリックについて、[クライアント側のメトリック] または [サーバー側のメトリック] 列で [有効化] をクリアし、[保存] をクリックします。
メトリックディメンションの変更
[グローバル] タブをクリックします。 ターゲットメトリックについて、[クライアント側のメトリック] または [サーバー側のメトリック] 列の [ディメンションの編集] をクリックします。
[クライアント側のカスタムディメンションの設定] ダイアログボックスで、ターゲットディメンションを選択し、[OK] をクリックしてから [保存] をクリックします。

カスタムメトリックの設定
[カスタム] タブをクリックし、[作成] をクリックしてパラメーターを設定し、ページの下部にある [作成] をクリックします。 これらのメトリックの詳細については、「メトリックの説明」をご参照ください。
設定項目
説明
名前空間
カスタムモニタリングメトリックが有効になる名前空間を選択します。
名前
カスタムメトリックの名前を入力します。
ワークロードセレクター
[一致ラベルの追加] をクリックして、タグ名とワークロード名を設定します。 ASM は設定に基づいてアプリケーションを照合します。 カスタムメトリックはこのアプリケーションに対してのみ有効になります。
メトリック設定
ASM は、デフォルトで有効になっているいくつかのグローバルメトリックを提供します。 メトリックを有効または無効にしたり、ディメンションを変更したりできます。
グローバルメトリックの有効化または無効化:
グローバルメトリックを有効にするには: ターゲットメトリックについて、[クライアント側のメトリック] または [サーバー側のメトリック] 列で [有効化] を選択します。
グローバルメトリックを無効にするには: ターゲットメトリックについて、[クライアント側のメトリック] または [サーバー側のメトリック] 列で [有効化] をクリアします。
ディメンションの変更:
ターゲットメトリックについて、[クライアント側のメトリック] または [サーバー側のメトリック] 列の [ディメンションの編集] をクリックします。
[クライアント側のカスタムディメンションの設定] ダイアログボックスで、ターゲットディメンションを選択し、[OK] をクリックします。

セレクターを使用して、名前空間内の単一のワークロードのメトリックを設定できます。 セレクターは、タグに基づくワークロードの選択をサポートします。
同じ名前空間では、次の設定は無効です:
セレクターを使用して、同じワークロードに対して複数のカスタムメトリック (テレメトリカスタムリソース) を作成する。
セレクターを指定せずに複数のカスタムメトリックを作成する。
詳細については、「ワークロードの選択」をご参照ください。
ASM インスタンス V1.17.2.35 以降の場合
詳細については、「可観測性設定の構成」をご参照ください。
メトリックの説明
次の表に、ASM モニタリングメトリックを示します。 詳細については、「MetricSelector.IstioMetric」をご参照ください。
ASM ゲートウェイは、クライアント側のメトリックのエクスポートのみをサポートします。 サイドカーは、クライアント側とサーバー側の両方のメトリックをエクスポートできます。
メトリック | 説明 | Prometheus の対応するメトリック |
ALL_METRICS | すべてのデフォルト Istio メトリック。 | - |
REQUEST_COUNT | HTTP、HTTP/2、および gRPC トラフィックに対して生成されたアプリケーションリクエストのカウンター。 | istio_requests_total |
REQUEST_DURATION | HTTP、HTTP/2、および gRPC トラフィックのリクエスト期間のヒストグラム。 | istio_request_duration_milliseconds |
REQUEST_SIZE | HTTP、HTTP/2、および gRPC トラフィックのリクエストボディサイズのヒストグラム。 | istio_request_bytes |
RESPONSE_SIZE | HTTP、HTTP/2、および gRPC トラフィックの応答ボディサイズのヒストグラム。 | istio_response_bytes |
TCP_OPENED_CONNECTIONS | ワークロードのライフサイクル中にオープンされた TCP 接続のカウンター。 | istio_tcp_connections_opened_total |
TCP_CLOSED_CONNECTIONS | ワークロードのライフサイクル中にクローズされた TCP 接続のカウンター。 | istio_tcp_connections_closed_total |
TCP_SENT_BYTES | TCP 接続を介した応答中に送信されたバイト数のカウンター。 | istio_tcp_sent_bytes_total |
TCP_RECEIVED_BYTES | TCP 接続を介したリクエスト中に受信されたバイト数のカウンター。 | istio_tcp_received_bytes_total |
GRPC_REQUEST_MESSAGES | クライアントから送信された各 gRPC メッセージに対してインクリメントされるカウンター。 | istio_request_messages_total |
GRPC_RESPONSE_MESSAGES | サーバーから送信された各 gRPC メッセージに対してインクリメントされるカウンター。 | istio_response_messages_total |