Tempah Konsultasi Hantar Tiket

Prometheus, Grafana dan OpenTelemetry: Panduan Praktikal untuk Kebolehcerapan Produksi

Post ini membimbing melalui senario dunia sebenar untuk membina kebolehcerapan hujung-ke-hujung dengan OpenTelemetry, Prometheus, dan Grafana di Kubernetes, meliputi gejala, diagnosis, arahan, kawalan risiko, pengembalian, pengesahan, dan bila perlu menghantar tiket OpsGlobal.

Prometheus, Grafana dan OpenTelemetry: Panduan Praktikal untuk Kebolehcerapan Produksi
Observability 6min 17 paparan 2026-06-18
KubernetesSRE

Senario

Anda menguruskan aplikasi mikroservis yang berjalan di Kubernetes. Pengguna melaporkan peningkatan masa respons dan tamat masa sekali-sekala. Anda perlu mengenal pasti punca dengan cepat.

Gejala

  • Kependaman aplikasi keseluruhan melonjak: P99 meningkat dari 200ms ke 2s.
  • Sesetengah permintaan mengembalikan ralat HTTP 500.
  • Amaran pemantauan diaktifkan, tetapi metrik sedia ada (CPU, memori) tidak menunjukkan anomali.

Diagnosis

  1. Sahkan bahawa Pengumpul OpenTelemetry telah digunakan dan menerima jejak/metrik daripada aplikasi.
  2. Di Grafana, semak papan pemuka "Kependaman Perkhidmatan" yang telah dibina. Perhatikan lonjakan kependaman pertanyaan pangkalan data dalam satu mikroservis.
  3. Beralih ke paparan jejak, cari jejak yang sepadan, dan kenal pasti pertanyaan SQL perlahan (masa pelaksanaan 1.8s).
  4. Periksa Prometheus untuk metrik kolam sambungan pangkalan data; sambungan telah habis.

Arahan

Arahan ini menganggap persekitaran Kubernetes dengan Helm dan kubectl dikonfigurasikan.

1. Gunakan Pengumpul OpenTelemetry

helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm upgrade --install otel-collector open-telemetry/opentelemetry-collector \
  --set config.exporters.prometheus.endpoint="0.0.0.0:8889" \
  --set config.service.pipelines.metrics.exporters="[prometheus]" \
  --namespace observability --create-namespace

2. Konfigurasikan Prometheus untuk mengikis metrik

cat <<EOF | kubectl apply -f -
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: otel-collector
  namespace: observability
spec:
  selector:
    matchLabels:
      app.kubernetes.io/instance: otel-collector
  endpoints:
  - port: metrics
    interval: 15s
EOF

3. Import papan pemuka Grafana

Gunakan UI atau API Grafana untuk mengimport papan pemuka OpenTelemetry yang telah dibina (ID: 15905).

Kawalan Risiko

  • Tetapkan kadar persampelan yang sesuai (contohnya persampelan berasaskan kepala) untuk mengelakkan kehabisan memori dalam Pengumpul di bawah beban tinggi.
  • Pastikan selang pengikisan Prometheus munasabah (tidak terlalu pendek) untuk mengurangkan beban.
  • Sandarkan peraturan Prometheus sedia ada dan papan pemuka Grafana sebelum membuat perubahan.

Pengembalian

Jika perubahan menyebabkan masalah:

helm rollback otel-collector -n observability
kubectl delete servicemonitor otel-collector -n observability

Pulihkan konfigurasi Prometheus dan papan pemuka Grafana daripada sandaran.

Pengesahan

  1. Di Grafana, semak bahawa papan pemuka baharu menunjukkan kependaman dan kadar ralat yang betul untuk semua perkhidmatan.
  2. Gunakan kubectl logs untuk mengesahkan Pengumpul OpenTelemetry tiada ralat.
  3. Simulasikan permintaan perlahan dan sahkan jejak baharu direkodkan dengan betul.

Bila Perlu Menghantar Tiket OpsGlobal

Hantar tiket jika: - Kependaman atau kadar ralat tidak bertambah baik selepas integrasi. - Anda memerlukan papan pemuka tersuai atau peraturan amaran. - Kluster anda besar dan memerlukan penalaan prestasi untuk Pengumpul. - Anda menghadapi ralat yang tidak dapat dijelaskan (contohnya Pengumpul ranap, kehilangan data).

Senario Penggunaan

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

Latar Belakang Masalah

Post ini membimbing melalui senario dunia sebenar untuk membina kebolehcerapan hujung-ke-hujung dengan OpenTelemetry, Prometheus, dan Grafana di Kubernetes, meliputi gejala, diagnosis, arahan, kawalan risiko, pengembalian, pengesahan, dan bila perlu menghantar tiket OpsGlobal.

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