This chapter covers:
- Logging with Spring Boot, Loki, and Fluent Bit
- Using health probes with Spring Boot Actuator and Kubernetes
- Defining metrics and monitoring with Spring Boot Actuator, Prometheus, and Grafana
- Configuring distributed tracing with Spring Cloud Sleuth and Tempo
- Managing applications with Spring Boot Actuator
In the previous chapter, you learned how to configure cloud native applications using Spring and Kubernetes. We’re very close to deploying Polar Bookshop in production, but there’s still one important aspect to cover first. Before going to production, we should ensure our applications are observable and that the platform we use provides all the tools needed to monitor and gain visibility into the system.
Monitoring is about checking the telemetry available for the application and defining alerts for known failure states. Observability goes beyond that and aims at reaching a state where we can ask any arbitrary question about the system without knowing the question in advance. The product team should ensure their applications expose relevant information. The platform team should provide an infrastructure to consume that information and ask questions about their operations.