We can set up the order of service startup and shutdown using the depends_on option. However, it won’t make a Docker container wait for another one to be ready. There are many situations when we need to be sure that the container on which our service depends is actually running.
Kibana allows us to browse data indexed in Elasticsearch nodes. We’re going to run Kibana in a Docker container and set up its configuration so it displays logs from our example Spring Boot app.
We don’t need to have an immense adventure ahead of us to value ordinary tasks and small steps that enable our growth.
Why should we learn how to process application logs with Elastic Stack? After all, the default logging mechanism in Spring Boot allows us to start working on our POC in no time. However, we must be aware that inadequate logging makes debugging and monitoring difficult in a production environment.
The understanding of a project changes through time as its development continues. Following an obsolete specification, creating only a superficial domain model or coming up with shady half-measures – to avoid any profound effort – won’t stop you from delivering an app, but most definitely it won’t be the app that was needed.
Default minimum and maximum heap size used by Elasticsearch is set to 1GB. I want to show you how you can modify this value when running the service with Docker.
The latest edition of Technology Radar is here! This one was created 100% remotely. And if you’re wondering how to make remote work in your workplace more enjoyable and sustainable – you’re in for a treat – check out The Remote Work Playbook right away.
We don’t want to allocate too much space for our log files. Let’s see how we can manage their livespan.
Apart from having logs displayed directly in the console, we can configure our Spring Boot project to write log entries into files. It not only allows us to easily store and share logs for debugging, but also can be the first step towards browsing them in Kibana.
When dealing with an exception stack trace we have to not only construct a separate match for our grok filter but also make sure that all lines will be treated as one entry.