A dumb project to test the whole Elastic stack including APM solution using Docker.
The project is written and compiled with Java 11.
It uses a Gradle wrapper to build the app.
To build the project, simply run:
./gradlew build
It describes the base pathes of the application. By default, the application runs on port 8080
.
/foos
/foos/{a-foo-id}
/users
This endpoint is secured and require an authorization header. The user is user
and its password is ekino
.
You can add the header Authorization
with value Basic dXNlcjpla2lubw==
.
The whole stack is based on Docker and it uses the docker-compose.yml
to manage it.
N.B. The Java application must have been built before because its JAR is included in a Docker image.
To build and deploy the whole stack, run:
docker-compose -f docker-compose.yml up -d
The interesting part here is the Kibana application to view the APM metrics and logs.
It is accessible here: http://localhost:5601/app/kibana
The other components: APM server: http://localhost:8200 Elasticsearch: http://localhost:9200 Logstash: http://localhost:9600
In order to have a bit of date without spamming the endpoints on my own ; I used JMeter.
The profile I used is jmeter-profile.jmx
.
You can find more information on JMeter here.