すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Service Mesh:テレメトリフィールドの説明

最終更新日:Mar 15, 2025

テレメトリ カスタムリソース定義 (CRD) は、サービスメッシュ (ASM) インスタンスにおけるデータの監視と収集に関連するポリシーと動作を定義および構成するために使用されます。ログ、メトリック、トレースなど、詳細なレベルで Istio が提供するテレメトリ機能を管理できます。テレメトリ CRD を使用すると、ビジネス要件に基づいてテレメトリデータを収集および処理する方法をカスタマイズおよび調整できます。このトピックでは、テレメトリ CRD を構成する方法と、CRD のフィールドについて説明します。

構成例

Istio は、3 つの異なるレベルの可観測性構成をサポートしています。これらは、ASM コンソールでは次の可観測性構成に対応しています。

  1. グローバル構成 (ASM コンソール の [グローバル] タブ)

  2. 名前空間固有の構成 (ASM コンソール の [名前空間] タブ)

  3. ワークロード固有の構成 (ASM コンソールの[カスタム]タブ)

次のテレメトリ YAML ファイルのサンプルは、さまざまなレベルで可観測性を構成する方法を示しています。

グローバル構成

YAML ファイルを表示

apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  labels:
    provider: asm
  # 名前が default で名前空間が istio-system の場合、構成はグローバルに有効になります。
  name: default
  namespace: istio-system
spec:
  accessLogging:
  - disabled: false
    # これは ASM のデフォルト構成であり、変更できません。
    providers:
    - name: envoy
  metrics:
  # クライアントとサーバーの各メトリックを構成する必要があります。
  - overrides:
    - disabled: false
      match:
        metric: REQUEST_COUNT
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_COUNT
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_DURATION
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_DURATION
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_SIZE
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_SIZE
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: RESPONSE_SIZE
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: RESPONSE_SIZE
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_REQUEST_MESSAGES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_REQUEST_MESSAGES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_RESPONSE_MESSAGES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_RESPONSE_MESSAGES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_SENT_BYTES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_SENT_BYTES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_RECEIVED_BYTES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_RECEIVED_BYTES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_OPENED_CONNECTIONS
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_OPENED_CONNECTIONS
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_CLOSED_CONNECTIONS
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_CLOSED_CONNECTIONS
        mode: SERVER
      tagOverrides: {}
    # これは ASM のデフォルト構成であり、変更できません。
    providers:
    - name: prometheus
  tracing:
  - customTags:
    foo:
      literal:
        value: bar
    randomSamplingPercentage: 10

名前空間固有の構成

YAML ファイルを表示する

apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  labels:
    provider: asm
  # 名前が default の場合、構成は名前空間全体に適用されます。
  name: default
  # 構成は、default 名前空間に適用されます。
  namespace: default
spec:
  accessLogging:
  - disabled: false
    providers:
    - name: accesslogging.default.default
  metrics:
  - overrides:
    - disabled: false
      match:
        metric: REQUEST_COUNT
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_COUNT
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_DURATION
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_DURATION
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_SIZE
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_SIZE
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: RESPONSE_SIZE
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: RESPONSE_SIZE
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_REQUEST_MESSAGES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_REQUEST_MESSAGES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_RESPONSE_MESSAGES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_RESPONSE_MESSAGES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_SENT_BYTES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_SENT_BYTES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_RECEIVED_BYTES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_RECEIVED_BYTES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_OPENED_CONNECTIONS
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_OPENED_CONNECTIONS
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_CLOSED_CONNECTIONS
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_CLOSED_CONNECTIONS
        mode: SERVER
      tagOverrides: {}
    providers:
    - name: prometheus

ワークロード固有の構成

YAML ファイルを表示

apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  labels:
    provider: asm
  # name が default に設定されていない場合、構成は、selector フィールドで指定されたラベルと一致するワークロードに対してのみ有効になります。
  name: test
  # 構成は、デフォルトの名前空間で指定されたワークロードに対して有効になります。
  namespace: default
spec:
  accessLogging:
  - disabled: false
    providers:
    - name: accesslogging.default.test
  metrics:
  - overrides:
    - disabled: false
      match:
        metric: REQUEST_COUNT
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_COUNT
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_DURATION
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_DURATION
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_SIZE
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: REQUEST_SIZE
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: RESPONSE_SIZE
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: RESPONSE_SIZE
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_REQUEST_MESSAGES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_REQUEST_MESSAGES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_RESPONSE_MESSAGES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: GRPC_RESPONSE_MESSAGES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_SENT_BYTES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_SENT_BYTES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_RECEIVED_BYTES
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_RECEIVED_BYTES
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_OPENED_CONNECTIONS
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_OPENED_CONNECTIONS
        mode: SERVER
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_CLOSED_CONNECTIONS
        mode: CLIENT
      tagOverrides: {}
    - disabled: false
      match:
        metric: TCP_CLOSED_CONNECTIONS
        mode: SERVER
      tagOverrides: {}
    providers:
    - name: prometheus
  # このフィールドは、構成が有効になるワークロードを指定します。
  selector:
    matchLabels:
      foo: bar

フィールドの説明

テレメトリ

フィールド

タイプ

必須

説明

selector

WorkloadSelector

いいえ

テレメトリ ポリシーを構成するワークロードを指定します。

tracing

Tracing

いいえ

選択したすべてのワークロードのトレース動作を指定します。

metrics

Metrics

いいえ

選択したすべてのワークロードのメトリック動作を指定します。

accessLogging

AccessLogging

いいえ

選択したすべてのワークロードのアクセス ログ記録動作を指定します。

トレース

フィールド

タイプ

必須

説明

randomSamplingPercentage

double

いいえ

トレース対象としてトラフィックが選択される割合を指定します。値 0 は、サンプリングが実行されないことを示します。

customTags

map<string, CustomTag>

いいえ

生成されたトレース スパンに追加される追加のカスタム タグを指定します。

メトリック

フィールド

タイプ

必須

説明

overrides

MetricsOverrides[]

いいえ

特定のメトリックまたはすべての定義済み標準メトリックのカスタム生成方法と表示を定義します。

providers

ProviderRef[]

いいえ

構成が適用されるプロバイダーの名前を指定します。 値は prometheus に設定する必要があります。

アクセスログ記録

フィールド

種類

必須

説明

無効

ブール値

いいえ

ログの動作を指定します。

プロバイダー

ProviderRef[]

いいえ

構成が適用されるプロバイダーの名前を指定します。値は envoy に設定する必要があります。

WorkloadSelector

フィールド

タイプ

必須

説明

matchLabels

map<string, string>

いいえ

ポリシーが適用される ポッド または 仮想マシン (VM) のセットを示す 1 つ以上のラベルを指定します。ラベル検索の範囲は、リソースが存在する構成名前空間に限定されます。

カスタムタグ

フィールド

タイプ

必須

説明

literal

Tracing.Literal

いいえ

このフィールドは、各スパンに同じハードコードされた値を追加します。

environment

Tracing.Environment

いいえ

このフィールドは、環境変数の値を各スパンに追加します。

header

Tracing.RequestHeader

いいえ

このフィールドは、リクエストのヘッダーの値を各スパンに追加します。

Tracing

フィールド

種類

必須

説明

一致

ワークロードセレクター

いいえ

オーバーライドされるメトリックと一致します。すべてのクライアント メトリックとサーバー メトリックを追加および構成する必要があります

無効

ブール値

いいえ

メトリックレポートを無効にするかどうかを指定します。このパラメーターが true に設定されている場合、メトリックレポートは無効になります。

タグの上書き

map<string、MetricsOverrides>

いいえ

選択したメトリックでオーバーライドするタグ名とタグ式の コレクション を指定します。

Metrics

フィールド

種類

必須

説明

メトリック

MetricSelector.IstioMetric

いいえ

メトリックを指定します。

モード

ワークロードモード

いいえ

メトリック生成のモードを指定します。有効な値:CLIENT および SERVER。

ProviderRef

フィールド

タイプ

必須

説明

name

文字列

はい

MeshConfig 内の Telemetry プロバイダーの名前を指定します。

Tracing.Literal

フィールド

タイプ

必須

説明

value

string

はい

使用するタグ値。

Tracing.Environment

フィールド

タイプ

必須

説明

name

string

はい

タグ値の抽出元の環境変数の名前を指定します。

defaultValue

string

いいえ

環境変数が見つからない場合に使用されるデフォルト値を指定します。

Tracing.RequestHeader

フィールド

タイプ

必須

説明

name

string

はい

タグ値の抽出元のヘッダーの名前を指定します。

defaultValue

string

いいえ

ヘッダーが見つからない場合に使用されるデフォルト値を指定します。

MetricsOverrides.TagOverride

フィールド

タイプ

必須

説明

operation

MetricsOverrides.TagOverride.Operation

いいえ

タグを更新、追加、または削除するかどうかを指定します。

value

string

いいえ

operationUPSERT に設定されている場合にのみ使用されるタグ値を指定します。

MetricSelector.IstioMetric

名前

説明

REQUEST_COUNT

アプリケーションに対する、またはアプリケーションからの HTTP、HTTP/2、および gRPC リクエストのカウンター

REQUEST_DURATION

HTTP、HTTP/2、および gRPC リクエストの期間

REQUEST_SIZE

HTTP、HTTP/2、および gRPC リクエストの本文サイズ

RESPONSE_SIZE

HTTP、HTTP/2、および gRPC 応答の本文サイズ

TCP_OPENED_CONNECTIONS

ワークロードのライフタイム全体で開かれた TCP 接続のカウンター

TCP_CLOSED_CONNECTIONS

ワークロードのライフタイム全体で閉じられた TCP 接続のカウンター

TCP_SENT_BYTES

TCP 接続での応答中に送信されたバイト数のカウンター

TCP_RECEIVED_BYTES

TCP 接続での応答中に受信されたバイト数のカウンター

GRPC_REQUEST_MESSAGES

クライアントから送信された gRPC メッセージのカウンター

GRPC_RESPONSE_MESSAGES

サーバーから送信された gRPC メッセージのカウンター

MetricsOverrides.TagOverride.Operation

名前

説明

UPSERT

タグを挿入または更新することを指定します。

REMOVE

メトリックの生成中に、メトリックにタグを含めないことを指定します。

WorkloadMode

名前

説明

CLIENT

ワークロードがネットワーク トラフィックの送信元であるシナリオの場合は、この値を選択します。

SERVER

ワークロードがネットワーク トラフィックの宛先であるシナリオの場合は、この値を選択します。

注意事項

原則として、このトピックで説明されていないフィールドは、対応するバージョンの ASM と Istio 間で互換性があります。 ASM コンソールでは、これらのフィールドの編集はサポートされていません。そのため、これらのフィールドを使用する場合は、kubectl またはその他のメソッドを使用して、対応する Telemetry カスタム リソース(CR)のフィールドを直接更新できます。 Telemetry CRD のフィールドの詳細については、「Telemetry」をご参照ください。