Changes
Upgrade to ELK v9! @sherifabdlnaby (#127)
This PR upgrades ElastDocker from Elasticsearch 8.17.0 to the latest stable version 9.2.3, implementing all necessary breaking changes in the process.
🎯 What's Changed
Versions
- Upgraded from
8.17.0to9.2.3(latest stable release) - All components synchronized: Elasticsearch, Kibana, Logstash, APM Server, Filebeat
- Drop support for docker-compose v1, it's all
docker composenow.
Stack Monitoring
- Migrated from deprecated internal
xpack.monitoringto Metricbeat-based collection - Follows Elastic's recommended ES 9+ architecture
Filebeat Log Collection
- Migrated from deprecated
containerinput to modernfilestreaminput - Eliminates all deprecation warnings
- Uses built-in container parser for Docker logs
Configuration Updates
- All deprecated settings removed or updated
- Logstash, APM Server, and Elasticsearch configs modernized
- Certificate generation compatible with ES 9 containers
- Prometheus exporters updated for latest exporter versions
This is partially AI Generated but human validated and tested. 🫡
Add a setup script and according makefile target to upgrade ES keystore from older versions of ES @BendingBender (#120)
What does this implement/fix? Explain your changes.
When upgrading the stack from ES 8.13.x (and older) to newer versions of Elasticsearch, the generated keystore becomes incompatible. ES then tries to migrate the keystore automatically, but in the container the keystore is mounted via the secrets system and can't be moved or changed (a bind mount would experience the same problem). Elasticsearch then simply refuses to start.
This PR adds a setup script that manually runs the keystore migration in an independent container.
Does this close any currently open issues?
no
Any relevant logs, error output, etc?
no
Any other comments?
no
Where has this been tested?
locally
Allow changing the APM server port via .env file @BendingBender (#118)
What does this implement/fix? Explain your changes.
This PR uses the existing APMSERVER_PORT var defined in .env file to set the port of the APM server exposed by docker compose and the port used by the APM service running in the apm-server container.
Does this close any currently open issues?
Don't think so.
Any relevant logs, error output, etc?
no
Any other comments?
no
Where has this been tested?
locally
Use project name from .env for prune make target @BendingBender (#119)
What does this implement/fix? Explain your changes.
The project name can be changed in the .env file, but the make target prune uses a hardcoded value as project name. This change fixes the Makefile to use the project name from the .env file.
Does this close any currently open issues?
no
Any relevant logs, error output, etc?
no
Any other comments?
no
Where has this been tested?
locally
Introduce variables for all used docker images @BendingBender (#122)
What does this implement/fix? Explain your changes.
This allows to override the image names with images from private docker repositories.
Does this close any currently open issues?
no
Any relevant logs, error output, etc?
no
Any other comments?
no
Where has this been tested?
locally
Fix syntax error in elasticsearch healthcheck script @BendingBender (#114)
(Thanks for sending a pull request! Please make sure you click the link above to view the contribution guidelines, then fill out the blanks below.)
What does this implement/fix? Explain your changes.
There is a syntax error (an unbalanced double quote mark) in the healthcheck script for the elasticsearch image.
Does this close any currently open issues?
No
Any relevant logs, error output, etc?
(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)
Any other comments?
No
Where has this been tested?
locally