Skip to content

This project presents instances of how to collect and display statistics on the use of micro-services and their logs, as well as distributed request tracing.

License

Notifications You must be signed in to change notification settings

ololx/spring-boot-metrics-instances

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

spring-boot-metrics-instances

This project presents instances of how to collect and display statistics on the use of micro-services and their logs, as well as distributed request tracing.

status last commit

license


Java Spring Boot Swagger

PostgreSQL

RabbitMQ

Grafana Prometheus Loki Jaeger Promtail

Docker

πŸ“‡ Table of Contents

πŸ“– About

This is a collection of small and focused instances, each of which covers a single and defined approach to Java application development and an required technologies implementation. This project presents instances of how to collect and display statistics on the use of micro-services and their logs, as well as distributed request tracing. A strong focus of these instances is the different cases of the micro-services distributed tracing, micro-services logs collecting and analytics and interactive visualization web application realizations.

🎚 Features

The project with instances of:

  • the micro-services distributed tracing technology implementation via Jaeger
  • the micro-services logs collecting technology implementation via loki & promtail
  • the analytics and interactive visualization web application technology implementation via Graphana & Prometheus

Changelog

  • For more information on a releases, a features and a changes, please read the changelog notes.

🚦 Getting Started

These instructions allow to get a copy of this project and run it on a local machine.

Prerequisites

Before using it, make sure that follows software are installed on the local machine:

  • Docker Compose - tool for defining and running multi-container Docker applications.

If any of the listed software is not installed, then it can be installed by instruction as described below.

Docker Compose

  • Install Docker Compose according to instructions from an official source.

Installing

In order to install it is quite simple to clone or download this repository.

Cloning

For the cloning this repository to a local machine, just use the follows link:

https://github.com/ololx/spring-boot-metrics-instances

Using

To run and try out each instance is required to:

  1. Launch containers with services

To do the launching some incstance, go to the instance directory and execute the following command:

docker-compose up --build
  1. Open sevices GUI

When all services will start, you could open your browser and go to the services endpoints:

  • Graphana endpont (user admin, password admin):
http://localhost:3000/
  • Jaeger endpont:
http://localhost:16686/
  • Prometheus endpont:
http://localhost:9090/
  • PostgreSQL Exporter endpont:
http://localhost:9187/
  • Some Api Client endpoint (with specs):
http://localhost:8082/swagger-ui.html
  • Some Api endpoint (with specs):
http://localhost:8081/swagger-ui.html
  1. [OPTIONAL] Send requests to instance service. Because the some-api-executing ervice will do the requests to some-api-client automatically every 30 seconds.

Launching

To do the launching some incstance, go to the instance directory and execute the following command:

docker-compose up --build

πŸ›  Built With

  • JDK - the java development kit;
  • Maven - the dependency management;
  • PostgreSQL 10.6 - the database management system;
  • Swagger - documentation and form generator;
  • Docker Compose - tool for defining and running multi-container Docker applications.

©️ Authors

  • Alexander A. Kropotin - Initial work - ololx.

πŸ” Licensing

This project is unlicensed - see the lisence document for details.