The Spring Advanced Observability Demo is a comprehensive project designed to demonstrate advanced observability techniques using the Spring Boot framework. This project integrates multiple powerful tools and technologies to provide a full-stack observability solution, including tracing, logging, and monitoring of microservices.
-
Clone the repository:
git clone https://github.com/watlas/spring-advanced-observability-demo.git
-
Navigate to the project directory:
cd spring-advanced-observability-demo
-
Enter the docker directory:
cd docker
-
setup docker compose:
docker compose up setup
-
Build the services using Docker Compose:
docker-compose build
-
Start the services using Docker Compose:
docker-compose up -d
To generate an orderDTO and observe the system's logs, metrics, and traces, follow these steps:
-
Access the Order Service:
- Open your web browser and navigate to http://localhost:8527/swagger-ui/index.html#/Order/save.
- Use the Swagger UI to generate a new orderDTO by interacting with the available API endpoints.
-
Observe Logs, Metrics, and Traces:
Service User Password URL Kibana elastic
changeme
localhost:5601 Grafana grafana
changeme
localhost:3000 Prometheus - - localhost:9090 Jaeger - - localhost:16686 Zipkin - - localhost:9411 Mongo Express mongo
changeme
localhost:8081 AKHQ - - localhost:8080 -
Example POST request to create an orderDTO:
- Alternatively, you can use the following
curl
command to create an orderDTO:
curl -X POST http://localhost:8527/order \ -H "Content-Type: application/json" \ -d '{ "user": { "name": "John Doe" }, "product": { "name": "Widget", "description": "A very useful widget", "price": 19.99 } }'
- Alternatively, you can use the following
- OpenTelemetry Documentation
- OpenTelemetry GitHub Repository
- OpenTelemetry Spring Boot Instrumentation