Consul + Consul Template + Filebeat
687
This image starts Consul and other processes in folder /docker/run. In this folder, scripts have been created to run Consul Template and Filebeat. To customize, just remove processes that's no matters, and/or add others.
The Consul process, which is initialized by /consul.sh script, uses dump-init to run the process, this allows Consul process to capture signals from OS like SIGTERM and SIGHUP to reload configuration or be gracefully shutdown.
Consul Template watches for updates on key-pair values stored by Consul to reload templates that use these key-pair values. Any update to this information triggers the rewrite of template and, optionally, runs a command that could be to restart a service that uses the template.
This image contains a template defined to Filebeat, the template configurations are founded on /etc/consul-template, are files with .list extension. The script /etc/consul-template/consul-template-loader.sh read all files inside /etc/consul-template folder with .list extension, sorting by name, and for each line of these files is created a entry for Consul template configuration.
Record in .list file:
/etc/filebeat/filebeat.ctmpl:/etc/filebeat/filebeat.yml:/docker/run/filebeat.sh
/etc/consul-template/config.hcl entry:
template {
source = "/etc/filebeat/filebeat.ctmpl"
destination = "/etc/filebeat/filebeat.yml"
command = "/docker/run/filebeat.sh"
}
Filebeat reads the logs and sends information to Kibana. To configure it, just set the following keys in Consul.
- `config/filebeat/output/logstash/index`: `Kibana` index name
- `config/filebeat/logging/files/path`: Path to `Filebeat` application logs
- `config/filebeat/output/logstash/hosts`: `Kibana` Hostname and port
- `config/filebeat/output/logstash/worker`: `Filebeat` number of `workers`
- `$APPLICATION_NAME/filebeat/name`: Application name used for `beat.name`
- `$APPLICATION_NAME/filebeat/tags`: Tags to identify and filter application logs
- `$APPLICATION_NAME/filebeat/prospectors/paths`: Path to logs that be send to `Kibana`
* Note: By default, the value of `$APPLICATION_NAME` variable is the value defined in `$APPLICATION_DEFAULT_NAME`, which is `consul-filebeat-agents`. Set a value in `$APPLICATION_NAME` to change default application name.
By default, this image is configured to use en_US.UTF-8 locale and UTC localtime.
To change this configuration, set the variables LOCALE and LOCALTIME.
Examples:
FROM consul-filebeat-agents:latest
...
ENV LOCALE "pt_BR.UTF-8"
ENV LOCALTIME "America/Sao_Paulo"
...
version: '3'
services:
consul-client:
image: consul-filebeat-agents:latest
environment:
- 'LOCALE=pt_BR.UTF-8'
- 'LOCALTIME=America/Sao_Paulo'
$ docker run -e 'LOCALE=pt_BR.UTF-8' \
-e 'LOCALTIME=America/Sao_Paulo' \
consul-filebeat-agents:latest
Content type
Image
Digest
Size
72.8 MB
Last updated
over 8 years ago
docker pull rodrigozc/consul-filebeat-agents