--- # 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