Senario
Anda mempunyai kluster Kubernetes yang menjalankan mikroperkhidmatan yang diinstrumentasi dengan SDK OpenTelemetry, menggunakan Pengumpul OpenTelemetry untuk mengeksport metrik ke Prometheus, dan Grafana untuk visualisasi. Tiba-tiba, metrik perkhidmatan tertentu berhenti muncul dalam papan pemuka Grafana, dan amaran berdasarkan metrik tersebut gagal diaktifkan.
Gejala
- Papan pemuka Grafana memaparkan "Tiada data" atau kehilangan titik data.
- Sasaran Prometheus menunjukkan status "turun" atau "tidak diketahui".
- Log Pengumpul OpenTelemetry dipenuhi dengan ralat (cth., tamat masa sambungan, kegagalan eksport).
Diagnosis
- Periksa kesihatan dan log Pengumpul OpenTelemetry:
bash kubectl logs -n observability <nama-pod-pengumpul> - Sahkan sasaran Prometheus: Gunakan UI Prometheus atau API:
bash curl -s http://prometheus:9090/api/v1/targets | jq - Semak konfigurasi Pengumpul OpenTelemetry (biasanya ConfigMap) untuk eksport, penerima, dan saluran paip yang betul.
- Uji sambungan rangkaian antara komponen—contohnya, hantar metrik ujian dari pod pengumpul ke Prometheus:
bash kubectl exec -it <nama-pod-pengumpul> -- curl -X POST -H "Content-Type: application/json" -d '{"resourceMetrics":[{"resource":{},"scopeMetrics":[{"scope":{},"metrics":[{"name":"test","unit":"1","sum":{"dataPoints":[{"asDouble":1.0}],"aggregationTemporality":1}}]}]}]}' http://prometheus:9090/api/v1/otlp/v1/metrics
Arahan
- Senaraikan semua pod berkaitan:
kubectl get pods -n observability - Dapatkan konfigurasi pengumpul:
kubectl get configmap -n observability otel-collector-config -o yaml - Periksa konfigurasi scrape Prometheus:
kubectl get configmap -n monitoring prometheus-config -o yaml - Ikuti log pengumpul secara langsung:
kubectl logs -f -n observability <nama-pod-pengumpul>
Kawalan Risiko
- Uji semua perubahan dalam persekitaran pementasan sebelum pengeluaran.
- Gunakan
kubectl diffuntuk pratonton perubahan:kubectl diff -f new-config.yaml - Elakkan mengedit ConfigMap yang berjalan secara langsung; kemas kini melalui fail YAML yang dikawal versi.
Rollback
- Jika konfigurasi pengumpul menyebabkan masalah, pulihkan konfigurasi terakhir yang diketahui baik:
bash kubectl apply -f previous-otel-config.yaml -n observability - Jika konfigurasi scrape Prometheus rosak, pulihkan ConfigMap Prometheus sebelumnya dan mulakan semula pod Prometheus.
- Simpan sejarah Git fail konfigurasi untuk rollback pantas.
Pengesahan
- Sahkan sasaran Prometheus adalah "UP".
- Muat semula papan pemuka Grafana untuk melihat metrik muncul semula.
- Cetusan amaran ujian untuk mengesahkan peraturan amaran berfungsi.
- Periksa log pengumpul untuk tiada ralat.
Bila Perlu Hantar Tiket OpsGlobal
Jika isu berterusan selepas mengikuti langkah-langkah ini, atau anda memerlukan bantuan pakar dalam mengoptimumkan prestasi Pengumpul OpenTelemetry, menskala storan Prometheus, mereka bentuk papan pemuka kompleks, atau jika anda menghadapi masalah peringkat infrastruktur (cth., rangkaian, storan), hantar tiket dengan segera. Kami menyediakan sokongan SRE 24×7 untuk memulihkan timbunan kebolehcerapan anda dengan cepat.
Senario Penggunaan
Sesuai untuk pasukan yang menyelesaikan isu Observability dan memerlukan aliran kerja yang jelas.
Latar Belakang Masalah
Panduan praktikal mendalam untuk mengintegrasikan Prometheus, Grafana, dan OpenTelemetry di Kubernetes, merangkumi diagnosis senario, arahan, rollback, dan bila perlu menghubungi 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.