Skip to content

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.

Notifications You must be signed in to change notification settings

Watlas/spring-advanced-observability-demo

Repository files navigation

Spring Advanced Observability Demo

Elasticsearch Logstash Kibana Fleet APM Filebeat Metricbeat Prometheus Loki Grafana Tempo Jaeger Zipkin OpenTelemetry Collector AKHQ Zookeeper Kafka MongoDB Mongo Express PostgreSQL Java Spring Boot

Project Overview

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.

Architecture Overview

arch.gif

Getting Started

  1. Clone the repository:

    git clone https://github.com/watlas/spring-advanced-observability-demo.git
  2. Navigate to the project directory:

    cd spring-advanced-observability-demo
  3. Enter the docker directory:

     cd docker
  4. setup docker compose:

     docker compose up setup
  5. Build the services using Docker Compose:

    docker-compose build
  6. 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:

  1. Access the Order Service:

  2. 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
  3. 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
      }
    }'
    

Some things you will be able to see when uploading this project

APM Service Map

img_2.png

APM Traces

img_1.png

APM Dependencies

img_5.png

Dashboard for overview of the system

img_13.png

Kibana Data Discovery

img_12.png

Agent Management with Fleet

img_3.png

Cluster Overview

img_4.png

Grafana Dashboard for Spring

img_6.png

Grafana Dashboard for OpenTelemetry

img_7.png

Monitoring Trace with Jaeger

img_8.png

Monitoring Trace Details with Jaeger

img_9.png

Monitoring Trace with Zipkin

img_11.png

Monitoring Service Map with Zipkin

img_10.png

Referências

Spring Boot

Docker

OpenTelemetry

Elastic Stack

Grafana

Prometheus

Jaeger

Zipkin

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published