全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Deskripsi bidang Telemetri

更新时间:Jun 28, 2025

CustomResourceDefinition (CRD) Telemetri digunakan untuk mendefinisikan dan mengonfigurasi kebijakan serta perilaku terkait observabilitas dan pengumpulan data dalam instance Service Mesh (ASM). Ini memungkinkan Anda mengelola fitur telemetri yang disediakan oleh Istio secara granular, seperti logging, metrik, dan tracing. Dengan Telemetry CRD, Anda dapat menyesuaikan metode pengumpulan dan pemrosesan data telemetri sesuai dengan kebutuhan bisnis Anda. Topik ini menjelaskan cara mengonfigurasi Telemetry CRD dan memberikan deskripsi bidang-bidang dalam CRD.

Contoh konfigurasi

Istio mendukung konfigurasi observabilitas di tiga tingkat berbeda, yang sesuai dengan konfigurasi observabilitas berikut di konsol ASM:

  1. Konfigurasi global (tab Global di konsol ASM)

  2. Konfigurasi spesifik namespace (tab Namespace di konsol ASM)

  3. Konfigurasi spesifik workload (tab Kustom di konsol ASM)

Berikut adalah contoh file YAML Telemetri yang menunjukkan cara mengonfigurasi observabilitas di berbagai tingkat:

Konfigurasi global

Tampilkan file YAML

apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  labels:
    provider: asm
  # Saat nama adalah default dan namespace adalah istio-system, konfigurasi berlaku secara global.
  name: default
  namespace: istio-system
spec:
  accessLogging:
  - disabled: false
    # Ini adalah konfigurasi default dari ASM dan tidak dapat diubah.
    providers:
    - name: envoy
  metrics:
  # Anda perlu mengonfigurasi setiap metrik dari klien dan server.
  - 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: {}
    # Ini adalah konfigurasi default dari ASM dan tidak dapat diubah.
    providers:
    - name: prometheus
  tracing:
  - customTags:
    foo:
      literal:
        value: bar
    randomSamplingPercentage: 10

Konfigurasi spesifik namespace

Tampilkan file YAML

apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  labels:
    provider: asm
  # Saat nama adalah default, konfigurasi berlaku untuk seluruh namespace.
  name: default
  # Konfigurasi berlaku untuk namespace 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

Konfigurasi spesifik workload

Tampilkan file YAML

apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  labels:
    provider: asm
  # Saat nama tidak disetel ke default, konfigurasi hanya berlaku untuk workload yang labelnya cocok dengan yang ditentukan di bidang selector.
  name: test
  # Konfigurasi berlaku untuk workload tertentu di namespace default.
  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
  # Bidang ini menentukan workload tempat konfigurasi berlaku
  selector:
    matchLabels:
      foo: bar

Deskripsi bidang

Telemetri

Bidang

Tipe

Diperlukan

Deskripsi

selector

WorkloadSelector

Tidak

Menentukan workload tempat kebijakan Telemetri akan dikonfigurasi.

tracing

Tracing[]

Tidak

Menentukan perilaku tracing untuk semua workload yang dipilih.

metrics

Metrics[]

Tidak

Menentukan perilaku metrik untuk semua workload yang dipilih.

accessLogging

AccessLogging[]

Tidak

Menentukan perilaku pencatatan akses untuk semua workload yang dipilih.

Tracing

Bidang

Tipe

Diperlukan

Deskripsi

randomSamplingPercentage

double

Tidak

Menentukan laju pemilihan lalu lintas untuk tracing. Nilai 0 menunjukkan bahwa tidak ada sampling yang dilakukan.

customTags

map<string, CustomTag>

Tidak

Menentukan tag kustom tambahan yang ditambahkan ke rentang jejak yang dihasilkan.

Metrics

Bidang

Tipe

Diperlukan

Deskripsi

overrides

MetricsOverrides[]

Tidak

Mendefinisikan metode pembuatan kustom dan presentasi untuk metrik tertentu atau semua metrik standar preset.

providers

ProviderRef[]

Tidak

Menentukan nama penyedia tempat konfigurasi berlaku. Nilainya harus disetel ke prometheus.

AccessLogging

Bidang

Tipe

Diperlukan

Deskripsi

disabled

bool

Tidak

Menentukan perilaku pencatatan.

providers

ProviderRef[]

Tidak

Menentukan nama penyedia tempat konfigurasi berlaku. Nilainya harus disetel ke envoy.

WorkloadSelector

Bidang

Tipe

Diperlukan

Deskripsi

matchLabels

map<string, string>

Tidak

Menentukan satu atau lebih label yang menunjukkan set pod atau mesin virtual (VM) tempat kebijakan berlaku. Ruang lingkup pencarian label dibatasi pada namespace konfigurasi tempat sumber daya tersebut berada.

CustomTag

Bidang

Tipe

Diperlukan

Deskripsi

literal

Tracing.Literal

Tidak

Bidang ini menambahkan nilai hard-coded yang sama ke setiap rentang.

environment

Tracing.Environment

Tidak

Bidang ini menambahkan nilai variabel lingkungan ke setiap rentang.

header

Tracing.RequestHeader

Tidak

Bidang ini menambahkan nilai header dari permintaan ke setiap rentang.

MetricsOverrides

Bidang

Tipe

Diperlukan

Deskripsi

match

WorkloadSelector

Tidak

Memilih metrik yang akan diganti. Anda perlu menambahkan dan mengonfigurasi semua metrik klien dan server.

disabled

bool

Tidak

Menentukan apakah pelaporan metrik dinonaktifkan. Jika parameter ini disetel ke true, pelaporan metrik dinonaktifkan.

tagOverrides

map<string, MetricsOverrides>

Tidak

Menentukan kumpulan nama tag dan ekspresi tag untuk mengganti dalam metrik yang dipilih.

MetricSelector

Bidang

Tipe

Diperlukan

Deskripsi

metric

MetricSelector.IstioMetric

Tidak

Menentukan metrik.

mode

WorkloadMode

Tidak

Menentukan mode pembuatan metrik. Nilai valid: CLIENT dan SERVER.

ProviderRef

Bidang

Tipe

Diperlukan

Deskripsi

name

string

Ya

Menentukan nama penyedia Telemetri di MeshConfig.

Tracing.Literal

Bidang

Tipe

Diperlukan

Deskripsi

value

string

Ya

Nilai tag yang akan digunakan.

Tracing.Environment

Bidang

Tipe

Diperlukan

Deskripsi

name

string

Ya

Menentukan nama variabel lingkungan tempat nilai tag diekstraksi.

defaultValue

string

Tidak

Menentukan nilai default yang digunakan jika variabel lingkungan tidak ditemukan.

Tracing.RequestHeader

Bidang

Tipe

Diperlukan

Deskripsi

name

string

Ya

Menentukan nama header tempat nilai tag diekstraksi.

defaultValue

string

Tidak

Menentukan nilai default yang digunakan jika header tidak ditemukan.

MetricsOverrides.TagOverride

Bidang

Tipe

Diperlukan

Deskripsi

operation

MetricsOverrides.TagOverride.Operation

Tidak

Menentukan apakah akan memperbarui, menambahkan, atau menghapus tag.

value

string

Tidak

Menentukan nilai tag, yang hanya digunakan saat operation disetel ke UPSERT.

MetricSelector.IstioMetric

Nama

Deskripsi

REQUEST_COUNT

Penghitung permintaan HTTP, HTTP/2, dan gRPC ke atau dari aplikasi

REQUEST_DURATION

Durasi permintaan HTTP, HTTP/2, dan gRPC

REQUEST_SIZE

Ukuran body permintaan HTTP, HTTP/2, dan gRPC

RESPONSE_SIZE

Ukuran body respons HTTP, HTTP/2, dan gRPC

TCP_OPENED_CONNECTIONS

Penghitung koneksi TCP yang dibuka selama masa pakai workload

TCP_CLOSED_CONNECTIONS

Penghitung koneksi TCP yang ditutup selama masa pakai workload

TCP_SENT_BYTES

Penghitung byte yang dikirim selama respons melalui koneksi TCP

TCP_RECEIVED_BYTES

Penghitung byte yang diterima selama respons melalui koneksi TCP

GRPC_REQUEST_MESSAGES

Penghitung pesan gRPC yang dikirim dari klien

GRPC_RESPONSE_MESSAGES

Penghitung pesan gRPC yang dikirim dari server

MetricsOverrides.TagOverride.Operation

Nama

Deskripsi

UPSERT

Menentukan bahwa tag harus dimasukkan atau diperbarui.

REMOVE

Menentukan bahwa tag tidak boleh disertakan dalam metrik selama pembuatan metrik.

WorkloadMode

Nama

Deskripsi

CLIENT

Pilih nilai ini untuk skenario ketika workload adalah sumber lalu lintas jaringan.

SERVER

Pilih nilai ini untuk skenario ketika workload adalah tujuan lalu lintas jaringan.

Perhatian

Secara prinsip, bidang-bidang yang tidak dijelaskan dalam topik ini kompatibel antara ASM dan Istio versi terkait. Konsol ASM tidak mendukung pengeditan bidang-bidang tersebut. Oleh karena itu, jika Anda ingin menggunakan bidang-bidang ini, Anda dapat langsung memperbarui bidang-bidang tersebut di custom resource (CR) Telemetry yang sesuai menggunakan kubectl atau metode lainnya. Untuk informasi lebih lanjut tentang bidang-bidang Telemetry CRD, lihat Telemetry.