mirror of
https://github.com/KevinMidboe/playbooks-retailor.git
synced 2025-10-29 01:30:35 +00:00
65 lines
1.9 KiB
YAML
65 lines
1.9 KiB
YAML
---
|
|
- name: Create a Docker network for Logstash
|
|
docker_network:
|
|
name: elk_network
|
|
state: present
|
|
|
|
- name: Create logstash directory on host
|
|
file:
|
|
path: /etc/logstash
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Copy logstash config
|
|
copy:
|
|
src: templates/pipelines.yml.j2
|
|
dest: /etc/logstash/pipelines.yml
|
|
|
|
- name: Create logstash directory on host
|
|
file:
|
|
path: /etc/logstash/pipeline
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Copy logstash input configs
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: /etc/logstash/pipeline/{{ item | basename | regex_replace('\.j2$', '') }}
|
|
loop: "{{ query('fileglob', 'templates/logstash-conf.d/*.j2') }}"
|
|
|
|
- name: Pull Logstash Docker image
|
|
docker_image:
|
|
name: docker.elastic.co/logstash/logstash:{{ elk_version }}
|
|
source: pull
|
|
|
|
# TODO rember to move CA cert from elastic to Logstash
|
|
# docker cp elasticsearch:/usr/share/elasticsearch/config/certs/http_ca.crt .
|
|
# docker cp http_ca.crt logstash:/usr/share/logstash/config/certs/ca/http_ca.crt
|
|
- name: Start Logstash container
|
|
docker_container:
|
|
name: logstash
|
|
image: docker.elastic.co/logstash/logstash:{{ elk_version }}
|
|
state: started
|
|
restart: yes
|
|
restart_policy: unless-stopped
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
echo "Waiting for Elasticsearch availability";
|
|
until curl -s {{ env_vars.ELASTIC_HOSTS }} | grep -q "missing authentication credentials"; do sleep 1; done;
|
|
echo "Starting logstash";
|
|
/usr/share/logstash/bin/logstash
|
|
published_ports:
|
|
- "5044-5049:5044-5049"
|
|
volumes:
|
|
- /etc/logstash/pipelines.yml:/usr/share/logstash/config/pipelines.yml
|
|
- /etc/logstash/pipeline:/usr/share/logstash/pipeline
|
|
env:
|
|
xpack.monitoring.enabled: "false"
|
|
ELASTIC_USER: elastic
|
|
ELASTIC_PASSWORD: "{{ env_vars.ELASTIC_PASSWORD }}"
|
|
ELASTIC_HOSTS: "{{ env_vars.ELASTIC_HOSTS }}"
|
|
networks:
|
|
- name: elk_network
|