--- - name: APT https transport is enabled apt: name: apt-transport-https state: present tags: - logstash - packages - name: Look for legacy apt keyring stat: path: /etc/apt/trusted.gpg register: _trusted_gpg_keyring tags: - logstash - packages - name: Elastic embedded GPG key is absent apt_key: id: "D88E42B4" keyring: /etc/apt/trusted.gpg state: absent when: _trusted_gpg_keyring.stat.exists tags: - logstash - packages - name: Elastic GPG key is installed copy: src: elastic.asc dest: "{{ apt_keyring_dir }}/elastic.asc" force: yes mode: "0644" owner: root group: root tags: - logstash - packages - name: Elastic sources list is available apt_repository: repo: "deb https://artifacts.elastic.co/packages/{{ elastic_stack_version | mandatory }}/apt stable main" filename: elastic state: present update_cache: yes tags: - logstash - packages - name: Logstash is installed apt: name: logstash state: present tags: - logstash - packages - name: Logstash service is enabled systemd: name: logstash enabled: yes tags: - logstash - name: JVM Heap size (min) is set lineinfile: dest: /etc/logstash/jvm.options regexp: "^-Xms" line: "-Xms{{ logstash_jvm_xms }}" tags: - logstash - config - name: JVM Heap size (max) is set lineinfile: dest: /etc/logstash/jvm.options regexp: "^-Xmx" line: "-Xmx{{ logstash_jvm_xmx }}" tags: - logstash - config - name: Add a configuration template: src: "{{ item }}" dest: /etc/logstash/conf.d/logstash.conf owner: logstash group: logstash mode: "0640" force: "{{ logstash_config_force | bool }}" loop: "{{ query('first_found', templates) }}" vars: templates: - "templates/logstash/logstash.{{ inventory_hostname }}.conf.j2" - "templates/logstash/logstash.{{ host_group | default('all') }}.conf.j2" - "templates/logstash/logstash.default.conf.j2" - "templates/logstash.default.conf.j2" register: logstash_template tags: - logstash - config - debug: var: logstash_template verbosity: 1 - include: logs.yml - include: tmpdir.yml