Tempah Konsultasi Hantar Tiket

Prometheus + Grafana + OpenTelemetry: Panduan Pemerhatian Pengeluaran

Artikel ini menerangkan senario sebenar menggunakan OpenTelemetry untuk instrumentasi bersatu, Prometheus untuk storan metrik, dan Grafana untuk papan pemuka, lengkap dengan arahan, kawalan risiko, pengembalian, dan bila untuk menghubungi OpsGlobal.

Prometheus + Grafana + OpenTelemetry: Panduan Pemerhatian Pengeluaran
Observability 6min 35 paparan 2026-07-21
KubernetesSREOpenTelemetryPrometheusGrafana

Senario

Platform e-dagang dengan mikroservis di Kubernetes mengalami respons perlahan (P99 naik ke 2s). Pemantauan sedia ada hanya menunjukkan CPU/memori, tanpa pandangan peringkat perkhidmatan. Pasukan menggunakan OpenTelemetry untuk instrumentasi bersatu, Prometheus untuk metrik, dan Grafana untuk papan pemuka.

Gejala

  • Latensi API Pesanan P99 meningkat dari 200ms ke 2s
  • Tiada peningkatan kadar ralat, tetapi beberapa permintaan tamat masa
  • Tiada korelasi antara metrik dan jejak permintaan

Diagnosis

Tambah instrumentasi automatik OpenTelemetry Java ke perkhidmatan. Gunakan OpenTelemetry Collector untuk menerima data OTLP, mengeksport metrik ke Prometheus dan jejak ke Jaeger/Tempo.

Arahan

1. Sebarkan OpenTelemetry Collector

kubectl apply -f - <<EOF
apiVersion: v1
kind: ConfigMap
metadata:
  name: otel-collector-conf
data:
  config.yaml: |
    receivers:
      otlp:
        protocols:
          grpc:
          http:
    processors:
      batch:
    exporters:
      prometheus:
        endpoint: "0.0.0.0:8889"
      logging:
        loglevel: debug
    service:
      pipelines:
        metrics:
          receivers: [otlp]
          processors: [batch]
          exporters: [prometheus, logging]
---
apiVersion: v1
kind: Service
metadata:
  name: otel-collector
spec:
  selector:
    app: otel-collector
  ports:
  - name: otlp-grpc
    port: 4317
    targetPort: 4317
  - name: otlp-http
    port: 4318
    targetPort: 4318
  - name: prometheus
    port: 8889
    targetPort: 8889
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: otel-collector
spec:
  replicas: 1
  selector:
    matchLabels:
      app: otel-collector
  template:
    metadata:
      labels:
        app: otel-collector
    spec:
      containers:
      - name: otel-collector
        image: otel/opentelemetry-collector-contrib:0.96.0
        args: ["--config=/conf/config.yaml"]
        ports:
        - containerPort: 4317
        - containerPort: 4318
        - containerPort: 8889
        volumeMounts:
        - name: otel-collector-config
          mountPath: /conf
      volumes:
      - name: otel-collector-config
        configMap:
          name: otel-collector-conf
EOF

2. Konfigurasi Prometheus Scrape

Kemas kini prometheus.yml:

scrape_configs:
  - job_name: 'otel-collector'
    scrape_interval: 10s
    static_configs:
      - targets: ['otel-collector:8889']

3. Papan Pemuka Grafana

Tambah sumber data Prometheus, import papan pemuka (contohnya OTel Metrics Mixin).

Kawalan Risiko

  • Sebarkan Collector dalam staging dahulu
  • Tetapkan had sumber: CPU 200m, memori 512Mi
  • Aktifkan pemproses batch
  • Pantau log Collector melalui eksport logging

Pengembalian

  1. Padamkan Collector: kubectl delete deployment otel-collector
  2. Kembalikan konfigurasi scrape Prometheus
  3. Alih keluar instrumentasi dari aplikasi

Pengesahan

  • Halaman sasaran Prometheus menunjukkan status UP
  • Grafana menunjukkan metrik seperti http_server_duration_ms
  • Jejak dalam UI Jaeger dengan span yang betul

Bila Menghantar Tiket OpsGlobal

  • Instrumentasi tersuai menyebabkan kemerosotan prestasi atau kehilangan data
  • Perlu bantuan untuk talaan metrik kardinaliti tinggi (cth. label user_id)
  • Konfigurasi exemplar kompleks untuk korelasi metrik-jejak
  • Collector menjadi bottleneck atau kehabisan memori

Senario Penggunaan

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

Latar Belakang Masalah

Artikel ini menerangkan senario sebenar menggunakan OpenTelemetry untuk instrumentasi bersatu, Prometheus untuk storan metrik, dan Grafana untuk papan pemuka, lengkap dengan arahan, kawalan risiko, pengembalian, dan bila untuk 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.

Tiket Hubungi WhatsApp Konsultasi