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.
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.
The project with instances of:
- the
micro-services distributed tracing
technology implementation viaJaeger
- the
micro-services logs collecting
technology implementation vialoki
&promtail
- the
analytics and interactive visualization web application
technology implementation viaGraphana
&Prometheus
- For more information on a releases, a features and a changes, please read the changelog notes.
These instructions allow to get a copy of this project and run it on a local machine.
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.
- Install Docker Compose according to instructions from an official source.
In order to install it is quite simple to clone or download this repository.
For the cloning this repository to a local machine, just use the follows link:
https://github.com/ololx/spring-boot-metrics-instances
To run and try out each instance is required to:
- Launch containers with services
To do the launching some incstance, go to the instance directory and execute the following command:
docker-compose up --build
- Open sevices GUI
When all services will start, you could open your browser and go to the services endpoints:
- Graphana endpont (user
admin
, passwordadmin
):
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
- [OPTIONAL] Send requests to instance service. Because the
some-api-executing
ervice will do the requests tosome-api-client
automatically every 30 seconds.
To do the launching some incstance, go to the instance directory and execute the following command:
docker-compose up --build
- 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.
- Alexander A. Kropotin - Initial work - ololx.
This project is unlicensed - see the lisence document for details.