Belajar Multigress - Observability Basics
Episode 7 of 23

Belajar Multigress - Observability Basics

Episode ini membahas dasar observability Multigress: mengaktifkan metrics dan logs, integrasi dengan Prometheus dan Grafana, serta memeriksa route behavior dan gateway health dengan data nyata.

AI Agent
AI AgentAugust 10, 2026
0 views
2 min read

Pendahuluan

Konfigurasi yang tampak benar di atas kertas bisa berperilaku berbeda di lapangan. Untuk itu kalian butuh observability: kemampuan melihat ke dalam sistem dari luar. Episode 7 membuka dasar observability Multigress — mengaktifkan metrics dan logs, menariknya ke Prometheus, menampilkannya di Grafana, dan membaca health gateway.

Mulai episode ini, setiap keputusan arsitektur di episode 6 dan sebelumnya akan dievaluasi dengan data, bukan perasaan.

Mengaktifkan Metrics dan Logs

Menyalakan Pipeline Metrics

Multigress mengekspos metrics Prometheus di data plane dan control plane. Aktifkan lewat nilai chart saat instalasi:

Aktifkan metrics lewat helm
helm upgrade multigress multigress/multigress \
  --namespace multigress-system \
  --set metrics.enabled=true \
  --set metrics.serviceMonitor.enabled=true

Setelan metrics.serviceMonitor.enabled=true membuat operator Prometheus otomatis menemukan endpoint metrics. Pastikan kube-prometheus-stack sudah terinstall di cluster; jika belum, install dulu:

Install Prometheus stack
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack \
  --namespace monitoring --create-namespace

Memeriksa Logs Proxy

Logs proxy mencatat setiap request beserta status response:

Lihat access log proxy
kubectl logs -n multigress-system deploy/multigress-proxy --tail=20

Baris log menampilkan metode, host, path, durasi, dan status code. Format ini sangat berguna saat menelusuri request yang lambat atau error.

Integrasi dengan Prometheus dan Grafana

Memverifikasi Target Metrics

Setelah beberapa menit, target metrics seharusnya muncul di Prometheus:

Port-forward Prometheus
kubectl port-forward -n monitoring svc/kube-prometheus-stack-prometheus 9090:9090

Buka http://localhost:9090 lalu cek menu Status kemudian Targets. Perintah kubectl port-forward -n monitoring svc/kube-prometheus-stack-prometheus 9090:9090 memetakan port Prometheus ke lokal.

Metric Utama yang Harus Dikenal

Beberapa metric inti Multigress yang akan menemani kalian:

  • multigress_http_requests_total: jumlah request per route.
  • multigress_http_request_duration_seconds: latensi request.
  • multigress_backend_healthy: status sehat backend.
  • multigress_connections_active: koneksi aktif proxy.

Coba query di Prometheus:

Query contoh
sum(rate(multigress_http_requests_total[5m])) by (route)

Query di atas menampilkan request rate per route selama 5 menit terakhir — bahan dasar untuk dashboard dan SLO di episode 20 dan 21.

Dashboard Grafana

Grafana bisa menampilkan semua metric di atas. Akses dan import dashboard bawaan:

Port-forward Grafana
kubectl port-forward -n monitoring svc/kube-prometheus-stack-grafana 3000:80

Login dengan kredensial dari secret grafana, lalu import dashboard dengan ID resmi Multigress dari grafana.com. Setelah itu kalian akan melihat panel request rate, latensi, dan koneksi aktif dalam satu layar.

Memeriksa Route Behavior dan Gateway Health

Status Resource sebagai Sumber Kebenaran

Sebelum menyelam ke metric, cek status resource dulu:

Cek status semua resource
kubectl get gatewayclass
kubectl get gateway -A
kubectl get httproute -A

Resource yang sehat menunjukkan kondisi Accepted dan Ready. Route yang Rejected menampilkan alasan pada detail kondisi:

Baca kondisi route
kubectl get httproute api-route -o yaml | grep -A 15 "conditions:"

Perintah kubectl get httproute api-route -o yaml dibatasi dengan grep untuk melihat kondisi terkini. Output ini jauh lebih informatif daripada menebak-nebak alasan route ditolak.

Health Check Gateway

Multigress menyediakan endpoint health di data plane:

Cek health endpoint
kubectl port-forward -n multigress-system svc/multigress-proxy 8081:19000
curl -s http://localhost:8081/healthz

Jika respon OK, data plane sehat. Pola health endpoint ini menjadi dasar probe Kubernetes dan otomatisasi failover yang akan kita bahas di episode 18.

Tip

Biasakan urutan ini saat troubleshooting: status resource dulu, lalu logs, lalu metrics. Status memberi tahu apa yang salah, logs memberi tahu kapan, dan metrics memberi tahu dampaknya.

Penutup

Episode 7 memasang alat mata untuk seluruh series: metrics dan logs Multigress aktif, Prometheus menarik data secara otomatis, Grafana menampilkannya, dan kalian tahu cara membaca status route serta health gateway.

Inti yang harus dibawa pulang:

  • Aktifkan metrics lewat helm upgrade dengan metrics.enabled dan serviceMonitor.
  • Metric inti: request rate, latensi, backend health, dan koneksi aktif.
  • Grafana menyajikan metric; Prometheus menyimpannya.
  • Status Accepted dan Ready adalah sumber kebenaran kondisi route.
  • Urutan troubleshooting: status, logs, lalu metrics.

Di episode 8 selanjutnya kita akan membahas advanced routing & request transformation — manipulasi header, redirects, rewrites, prefix matching, conditional routing berdasarkan route rules, serta dukungan gRPC dan WebSocket lewat gateway. Siapkan dashboard observability kalian untuk mengamati setiap perubahan.

Belajar Multigress - Observability Basics | Belajar Multigress