Tempah Konsultasi Hantar Tiket

Membina Kebolehcerapan dengan Prometheus, Grafana dan OpenTelemetry: Panduan Praktikal Debugging

Dalam persekitaran mikrosistem Kubernetes, mengintegrasikan Prometheus, Grafana dan OpenTelemetry meningkatkan kebolehcerapan. Artikel ini membimbing melalui senario sebenar, mendiagnosis isu data hilang dan kependaman, dengan arahan, kawalan risiko, langkah undur, dan bila melibatkan OpsGlobal.

Membina Kebolehcerapan dengan Prometheus, Grafana dan OpenTelemetry: Panduan Praktikal Debugging
Observability 6min 7 paparan 2026-06-14
KubernetesSREPrometheusGrafanaOpenTelemetryKebolehcerapan

Senario

Pasukan anda menjalankan mikrosistem di Kubernetes dan telah menggunakan OpenTelemetry Collector untuk mengumpulkan jejak (traces), metrik dan log. Prometheus mengikis metrik dari Collector, dan Grafana memaparkan papan pemuka. Namun, anda perasan peningkatan masa tindak balas untuk perkhidmatan tertentu, metrik hilang dalam panel Grafana, dan ralat kerap dalam jejak teragih.

Gejala

  • Pengguna melaporkan kependaman respons API melebihi 5 saat.
  • Panel Grafana untuk "Kependaman Permintaan" menunjukkan data kosong atau tidak lengkap.
  • Jejak span dalam Jaeger atau Grafana Tempo menunjukkan status ralat.
  • Sasaran Prometheus menunjukkan up sebagai 0 atau kegagalan separa.

Diagnosis

  1. Periksa Status OpenTelemetry Collector: Gunakan kubectl get pods -n observability untuk melihat sama ada Pod Collector berjalan. Periksa log: kubectl logs -n observability <collector-pod> --tail=50 untuk sebarang ralat eksport atau isu konfigurasi.
  2. Sahkan Konfigurasi Pengikisan Prometheus: Periksa scrape_configs dalam konfigurasi Prometheus untuk memastikan titik akhir Collector disertakan. Jalankan promtool check config /etc/prometheus/prometheus.yml jika ada.
  3. Uji Titik Akhir Metrik Collector: Curl titik akhir /metrics Collector untuk mengesahkan metrik format Prometheus terdedah. Contoh: kubectl exec -n observability <collector-pod> -- curl localhost:8888/metrics | head
  4. Periksa Sumber Data Grafana: Pastikan sumber data Prometheus dikonfigurasi dengan betul dan uji sambungan.
  5. Analisis Jejak: Dalam Grafana Explore, gunakan sumber data Tempo atau Jaeger untuk menanyakan jejak terkini, fokus pada span ralat dan span induk.

Arahan (Contoh)

# Lihat status Pod Collector
kubectl get pods -n observability -l app=otel-collector

# Lihat log Collector
LOG=$(kubectl logs -n observability --tail=100 -l app=otel-collector)
echo "$LOG" | grep -i error

# Curl metrik dari Collector
METRIK=$(kubectl exec -n observability deploy/otel-collector -- curl -s localhost:8888/metrics)
echo "$METRIK" | grep -E "(otelcol|go_|process_)" | head -20

# Periksa konfig Prometheus dengan promtool (jika dipasang)
promtool check config /etc/prometheus/prometheus.yml 2>&1 || true

# Query status sasaran Prometheus
kubectl port-forward svc/prometheus-server 9090:80 -n monitoring &
curl -s http://localhost:9090/api/v1/targets | jq '.data.activeTargets[] | {job: .labels.job, health: .health}'

Kawalan Risiko

  • Tiru isu dalam persekitaran bukan pengeluaran sebelum membuat perubahan.
  • Sandarkan config.yaml Collector sebelum mengubahnya.
  • Gunakan bendera --web.enable-lifecycle Prometheus untuk muat semula panas, tetapi lebih baik kemas kini melalui ConfigMap dalam pengeluaran.
  • Jangan edit konfigurasi Prometheus atau Collector secara langsung; gunakan kawalan versi (Git).

Langkah Undur

  • Jika perubahan pada konfig Collector menyebabkan masalah, pulihkan ConfigMap sebelumnya: kubectl apply -f backup-otel-collector-config.yaml, kemudian reboot Pod.
  • Untuk konfig Prometheus, rollback ConfigMap dan cetus muat semula: kubectl exec -n monitoring prometheus-server -- kill -HUP 1.
  • Dalam Grafana, gunakan sejarah versi papan pemuka untuk kembali ke konfigurasi panel atau sumber data sebelumnya.

Pengesahan

  • Pastikan semua Pod berjalan dan sedia: kubectl get pods -n observability.
  • Periksa sasaran Prometheus semuanya UP.
  • Muat semula papan pemuka Grafana; metrik sepatutnya dipaparkan dengan betul.
  • Lakukan ujian jejak hujung ke hujung: gunakan pelanggan contoh untuk menghantar permintaan dan lihat jejak lengkap dalam Grafana Tempo.

Bila Menghantar Tiket OpsGlobal

Hantar tiket jika: - Pemeriksaan konfigurasi asas tidak menyelesaikan isu, dan anda mengesyaki masalah keserasian antara Collector dan Prometheus. - OpenTelemetry Collector terus dimulakan semula atau menunjukkan kebocoran memori. - Sambungan sumber data Grafana berjaya tetapi tiada data muncul, sedangkan Prometheus mempunyai data. - Anda perlu mengkonfigurasi ciri lanjutan (contohnya, dasar persampelan, pengeksport berbilang hujung) dan kurang berpengalaman.

Semasa menghantar, sertakan: - Log Pod yang relevan dan output deskribe. - Fail konfigurasi untuk Prometheus dan Collector (tanpa rahsia). - Model JSON papan pemuka Grafana. - Langkah khusus untuk menghasilkan semula isu.

Senario Penggunaan

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

Latar Belakang Masalah

Dalam persekitaran mikrosistem Kubernetes, mengintegrasikan Prometheus, Grafana dan OpenTelemetry meningkatkan kebolehcerapan. Artikel ini membimbing melalui senario sebenar, mendiagnosis isu data hilang dan kependaman, dengan arahan, kawalan risiko, langkah undur, dan bila melibatkan 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