- Pengenalan Monitoring & Observability
- Tiga Pilar Observability
- Metrics: Angka yang Menceritakan Kondisi Sistem
- Logs: Cerita Peristiwa Sistem
- Distributed Traces: Jejak Request
- Prometheus: Platform Monitoring Modern
- Grafana: Visualisasi & Dashboard
- Alerting: Sistem Peringatan Cerdas
- SLA, SLO & SLI: Mengukur Kualitas Layanan
- Quiz Pemahaman
1. Pengenalan Monitoring & Observability
Monitoring dan Observability adalah dua konsep krusial dalam pengembangan dan operasi sistem modern. Monitoring adalah praktik mengumpulkan dan menganalisis data dari sistem untuk memahami kondisinya. Observability adalah kemampuan untuk memahami kondisi internal sistem hanya dari output eksternalnya.
Bayangkan sebuah mobil tanpa dashboard β Anda tidak tahu kecepatan, sisa bahan bakar, atau suhu mesin. Tanpa monitoring, sistem aplikasi Anda seperti mobil tanpa dashboard. Dengan observability, Anda bisa menjawab pertanyaan seperti "mengapa aplikasi lambat?" bahkan tanpa merencanakan pertanyaan tersebut sebelumnya.
Mengapa Monitoring & Observability Penting?
| Manfaat | Penjelasan |
|---|---|
| Detect Issues Early | Mendeteksi masalah sebelum pengguna terdampak secara signifikan |
| Root Cause Analysis | Menemukan penyebab akar masalah dengan cepat dan akurat |
| Performance Optimization | Mengidentifikasi bottleneck dan mengoptimalkan performa sistem |
| Capacity Planning | Merencanakan kebutuhan infrastruktur berdasarkan data historis |
| Compliance & Audit | Memenuhi kepatuhan regulasi dan kebutuhan audit keamanan |
| Business Intelligence | Insight bisnis dari data penggunaan dan pola aplikasi |
Monitoring vs Observability
| Aspek | Monitoring | Observability |
|---|---|---|
| Definisi | Mengumpulkan data & memberi peringatan | Memahami kondisi internal dari data eksternal |
| Fokus | What is happening? | Why is it happening? |
| Pertanyaan | Predefined (yang sudah diketahui) | Ad-hoc (spontan, tidak terduga) |
| Data | Metrics & Logs | Metrics, Logs, & Traces |
| Tool Contoh | Nagios, Zabbix | Prometheus, Grafana Tempo, Jaeger |
| Cocok untuk | Sistem sederhana, infrastructure | Microservices, distributed systems |
2. Tiga Pilar Observability
Observability modern didasarkan pada tiga pilar utama: Metrics, Logs, dan Traces. Ketiga pilar ini saling melengkapi dan memberikan gambaran komprehensif tentang kondisi sistem.
Tiga Pilar dan Fungsinya
| Pilar | Deskripsi | Format Data | Contoh Tools |
|---|---|---|---|
| Metrics | Numerik yang merepresentasikan kondisi sistem secara kuantitatif | Time series data | Prometheus, InfluxDB, Datadog |
| Logs | Catatan peristiwa detail dari aplikasi atau sistem | Structured/Unstructured text | ELK Stack, Loki, Fluentd |
| Traces | Jejak perjalanan request melalui berbagai service | Distributed trace data | Jaeger, Zipkin, Tempo |
Bayangkan Anda seorang dokter. Metrics seperti membaca detak jantung dan suhu tubuh (angka). Logs seperti rekam medis (catatan detail). Traces seperti mengikuti aliran darah dari jantung ke seluruh tubuh (perjalanan). Ketiganya dibutuhkan untuk diagnosis lengkap.
Kapan Menggunakan Pilar Mana?
LOGS
Error
Warnings
Events
Debug
METRICS
CPU
Memory
Latency
Traffic
Apa yang ingin Anda ketahui?
βΌ βΌ βΌ
Seberapa banyak? Apa yang terjadi? Bagaimana mengalir?
βΌ βΌ βΌ
TRACES
Request
Latency
Per
Service
Jangan hanya mengandalkan satu pilar! Banyak tim hanya menggunakan metrics dan mengabaikan logs/traces. Saat terjadi masalah yang tidak terprediksi, mereka kesulitan menemukan root cause. Gunakan ketiga pilar secara harmonis untuk observability yang maksimal.
3. Metrics: Angka yang Menceritakan Kondisi Sistem
Metrics adalah data numerik yang dikumpulkan dari waktu ke waktu (time series data). Metrics membantu Anda memahami kondisi sistem secara kuantitatif dan mendeteksi anomali atau tren tertentu.
Jenis-Jenis Metrics
| Jenis | Deskripsi | Contoh |
|---|---|---|
| Counter | Nilai yang selalu naik, tidak pernah turun | Jumlah request HTTP, jumlah error |
| Gauge | Nilai yang bisa naik atau turun | CPU usage, memory usage, jumlah koneksi aktif |
| Histogram | Distribusi nilai dalam range tertentu | Response time distribution |
| Summary | Statistik agregat dari data | P95/P99 latency, total request count |
RED Method untuk Microservices
RED Method adalah framework metrik yang dirancang khusus untuk microservices. Setiap service harus mengekspos metrik berikut: