nix-config/ansible/roles/elastic.beats/tasks/beats-config.yml

88 lines
2.0 KiB
YAML

---
# Configure Beats Node
- name: Set default facts
set_fact:
pid_file: '{{ beats_pid_dir }}/{{ beat }}.pid'
instance_default_file: '{{ default_file }}/{{ beat }}'
conf_file: '{{ beats_conf_dir }}/{{ beat }}.yml'
beat_output_conf:
output: '{{ output_conf }}'
- name: Set beat_shipper_conf
set_fact:
beat_shipper_conf:
shipper: '{{ shipper_conf }}'
when: shipper_conf is defined
- name: Set beat_logging_conf
set_fact:
beat_logging_conf:
logging: '{{ logging_conf }}'
- name: Check pid_dir status
stat:
path: '{{ beats_pid_dir }}'
register: pid_stat
- name: Create PID Directory
become: yes
file:
path: '{{ beats_pid_dir }}'
state: directory
when: pid_stat.stat.isdir is not defined or pid_stat.stat.islnk is not defined
# fail if pid and config directories are not links or not directories i.e files
- name: Create Config Directory
become: yes
file:
path: '{{ beats_conf_dir }}'
state: directory
# Copy the default file
- name: Copy Default File for Instance
become: yes
template:
src: beat.j2
dest: '{{ instance_default_file }}'
mode: 0644
force: true
owner: root
group: root
notify: restart the service
# Copy templated config file
- name: Copy Configuration File for {{ beat }}
become: yes
template:
src: beat.yml.j2
dest: '{{ conf_file }}'
mode: 0644
force: true
owner: root
group: root
notify: restart the service
# Copy default ILM policy file
- name: Create default policies config directory
become: yes
file:
path: '{{ beat_conf.setup.ilm.policy_file | dirname }}'
state: directory
mode: 0755
owner: root
group: root
when: default_ilm_policy is defined
- name: Copy default ILM policy file for {{ beat }}
become: yes
copy:
src: '{{default_ilm_policy}}'
dest: '{{ beat_conf.setup.ilm.policy_file }}'
mode: 0644
owner: root
group: root
when: default_ilm_policy is defined
notify: restart the service