Tempah Konsultasi Hantar Tiket

Panduan Praktikal: Kebolehcerapan dengan Prometheus, Grafana dan OpenTelemetry

Post ini menerangkan senario e-dagang mikroservis sebenar untuk mengintegrasikan Prometheus, Grafana dan OpenTelemetry dalam analisis punca masalah. Termasuk gejala, langkah diagnosis, arahan, kawalan risiko, rollback dan pengesahan.

Panduan Praktikal: Kebolehcerapan dengan Prometheus, Grafana dan OpenTelemetry
Observability 6min 72 paparan 2026-06-22
KubernetesSRE

Senario

Sebuah platform e-dagang yang menjalankan mikroservis di Kubernetes mengalami lonjakan latensi dan kadar ralat yang meningkat. Pasukan menggunakan Prometheus untuk metrik dan Grafana untuk papan pemuka, tetapi kekurangan penjejakan teragih untuk mencari punca sebenar.

Gejala

  • Pengguna melaporkan muat halaman perlahan semasa waktu puncak
  • Sesetengah API mengembalikan ralat 5xx
  • Amaran Prometheus (cth., latensi permintaan tinggi) berbunyi, tetapi tidak jelas sama ada masalah disebabkan kelemahan pangkalan data, kegelisahan rangkaian atau logik kod

Diagnosis

Memperkenalkan OpenTelemetry (OTel) dengan alat suntikan automatik atau menggunakan Operator OTel, mengeksport jejak ke Jaeger (atau Grafana Tempo), dan mengaitkan dengan metrik dalam Grafana.

Langkah

  1. Gunakan Operator OpenTelemetry: bash kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml
  2. Buat contoh OTel Collector (YAML contoh): yaml apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: otel-collector spec: config: | receivers: otlp: protocols: grpc: http: exporters: jaeger: endpoint: jaeger-collector:14250 service: pipelines: traces: receivers: [otlp] exporters: [jaeger]
  3. Anotasi deployment untuk suntikan automatik: bash kubectl annotate deployment my-service instrumentation.opentelemetry.io/inject-java="true"
  4. Dalam Grafana, tambah Jaeger sebagai sumber data dan gunakan Explore untuk mengaitkan jejak dengan log dan metrik melalui TraceID.

Kawalan Risiko

  • Uji integrasi OTel dalam persekitaran pementasan dahulu
  • Tetapkan strategi pensampelan: mulakan dengan 1% dan tingkatkan secara beransur-ansur
  • Konfigurasikan had sumber dan had kadar untuk OTel Collector
  • Simpan konfigurasi Prometheus asal sebagai sandaran

Rollback

Untuk membuat rollback:

kubectl delete -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml
kubectl delete opentelemetrycollector otel-collector
kubectl annotate deployment my-service instrumentation.opentelemetry.io/inject-java-

Selain itu, bersihkan storan Jaeger dan kembalikan perubahan Prometheus remote write.

Pengesahan

  • Sahkan graf perkhidmatan dan data jejak dalam UI Jaeger
  • Bina papan pemuka Grafana yang memaparkan latensi jejak melapisi metrik Prometheus (cth., kadar permintaan)
  • Cetuskan kegagalan yang diketahui (cth., simulasi SQL perlahan) dan sahkan bahawa jejak mengenal pasti bottleneck dengan jelas

Bila Serahkan Tiket OpsGlobal

  • Debug dalaman melebihi 2 jam tanpa mengenal pasti punca
  • Kemerosotan prestasi seluruh kluster yang menjejaskan banyak perkhidmatan
  • Perlu penalaan pakar untuk kadar pensampelan, kapasiti storan, atau konfigurasi ketersediaan tinggi Collector
  • Pasukan kurang pengalaman OpenTelemetry dan memerlukan semakan seni bina

Senario Penggunaan

Sesuai untuk pasukan yang menyelesaikan isu Observability dan memerlukan aliran kerja yang jelas.

Latar Belakang Masalah

Post ini menerangkan senario e-dagang mikroservis sebenar untuk mengintegrasikan Prometheus, Grafana dan OpenTelemetry dalam analisis punca masalah. Termasuk gejala, langkah diagnosis, arahan, kawalan risiko, rollback dan pengesahan.

Langkah Penyelesaian

Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.

Contoh Arahan

Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.

Risiko

Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.

Pelan Rollback

Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.

Senarai Serahan

Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.

!

Perlu bantuan isu teknikal serupa?

Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.

Tiket Hubungi WhatsApp Konsultasi