𝗠𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴 𝗱𝗮𝗹𝗮𝗺 𝗦𝗽𝗿𝗶𝗻𝗴 𝗕𝗼𝗼𝘁

Aplikasi produksi harus melakukan lebih dari sekadar berjalan. Aplikasi tersebut harus dapat diobservasi dan mudah diperbaiki saat terjadi kegagalan. Anda memerlukan health checks, metrik, log, dan prosedur yang jelas untuk menangani insiden.

Spring Boot menggunakan Actuator untuk menyediakan fitur-fitur ini. Actuator memberi Anda endpoint seperti health, metrics, dan info. Anda dapat mengeksposnya melalui HTTP atau JMX.

Area utama yang perlu dimonitor:

• Ketersediaan: Periksa uptime, readiness, dan liveness. • Performa: Pantau waktu respons, latensi, dan throughput. • Error: Awasi error HTTP 4xx/5xx dan pesan yang gagal. • JVM: Monitor heap, memori, CPU, dan thread. • Database: Pantau connection pool dan query yang lambat. • Kafka: Monitor consumer lag dan tingkat retry.

Pengumpulan Metrik

Spring Boot menggunakan Micrometer untuk mengumpulkan metrik. Anda dapat menggunakan registry Prometheus untuk mengekspos metrik ini. Pengaturan umum melibatkan:

Spring Boot App → Prometheus → Grafana

Ini memungkinkan Anda untuk memvisualisasikan data aplikasi pada dashboard.

Praktik Terbaik Logging

Log membantu Anda memahami apa yang terjadi selama kegagalan. Gunakan structured JSON logging di produksi agar log dapat dibaca oleh mesin.

Lakukan:

Jangan:

Stabilitas Operasional

Dukungan operasional berarti menjaga layanan tetap stabil setelah Anda mendeploy-nya. Anda harus fokus pada:

Layanan Spring Boot yang kuat mudah dimonitor, mudah di-debug, dan mudah dipulihkan.

Sumber: https://dev.to/antonio_casado_1fe39cd90e/monitoring-in-spring-boot-1220