Monitoring
Korvet provides comprehensive monitoring through Spring Boot Actuator and Micrometer.
Health Checks
Korvet exposes health check endpoints:
# Overall health
curl http://localhost:8080/actuator/health
# Liveness probe (for Kubernetes)
curl http://localhost:8080/actuator/health/liveness
# Readiness probe (for Kubernetes)
curl http://localhost:8080/actuator/health/readiness
Metrics
Metrics are exposed in Prometheus format:
curl http://localhost:8080/actuator/prometheus
| Custom Korvet metrics (produce/fetch/redis operations) are not yet implemented. Only standard JVM and system metrics are currently available. |
Available Metrics
Standard JVM and system metrics from Micrometer:
-
jvm.memory.used: JVM memory used
-
jvm.memory.max: JVM maximum memory
-
jvm.gc.pause: Garbage collection pause time
-
jvm.threads.live: Live threads
-
process.cpu.usage: Process CPU usage
-
system.cpu.usage: System CPU usage
-
system.load.average.1m: System load average
Prometheus Configuration
Add Korvet to your Prometheus scrape config:
scrape_configs:
- job_name: 'korvet'
static_configs:
- targets: ['korvet:8080']
metrics_path: '/actuator/prometheus'
Grafana Dashboards
Create dashboards to visualize:
-
Resources: CPU usage, memory usage
-
JVM: Heap memory, GC pauses, thread count
-
System: Load average, disk space
Alerting
Set up alerts for:
-
Memory pressure: JVM heap > 80%
-
High GC activity: Frequent or long GC pauses
-
High CPU usage: Process CPU > 80%
Logging
See Logging for log-based monitoring.