From a8a5ca1fd1e2576b6fb3c4f15f337f82fcdae14f Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Fri, 21 Nov 2025 11:14:26 +0100 Subject: [PATCH 01/26] parameterize cluster user privs --- roles/galera/tasks/cluster_nodes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/galera/tasks/cluster_nodes.yml b/roles/galera/tasks/cluster_nodes.yml index 313a7ac73..dbc112293 100644 --- a/roles/galera/tasks/cluster_nodes.yml +++ b/roles/galera/tasks/cluster_nodes.yml @@ -215,7 +215,7 @@ mysql_user: name: "{{ mariadb_cluster_user }}" password: "{{ mariadb_cluster_password }}" - priv: "*.*:RELOAD,PROCESS,LOCK TABLES,BINLOG MONITOR,REPLICA MONITOR" + priv: "{{ mariadb_cluster_user_privs | default('*.*:RELOAD,PROCESS,LOCK TABLES,BINLOG MONITOR,REPLICA MONITOR') }}" state: present login_user: root login_password: "{{ mariadb_root_password }}" From c0064a663203ca52f9271d76fab88d2d9e2f34ad Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 24 Jun 2026 11:00:48 +0200 Subject: [PATCH 02/26] make filebeat role working for our real environment --- roles/filebeat/TODO.md | 7 ++ roles/filebeat/defaults/main.yml | 14 +++ roles/filebeat/tasks/main.yml | 87 ++++++++++++++----- roles/filebeat/templates/filebeat.service.j2 | 15 ++++ roles/filebeat/templates/filebeat.yml.j2 | 41 ++++----- roles/rsyslog/tasks/main.yml | 18 ++-- roles/rsyslog/templates/rsyslog.conf.j2 | 8 +- .../templates/rsyslog_onlyforward.conf.j2 | 2 +- 8 files changed, 133 insertions(+), 59 deletions(-) create mode 100644 roles/filebeat/TODO.md create mode 100644 roles/filebeat/templates/filebeat.service.j2 diff --git a/roles/filebeat/TODO.md b/roles/filebeat/TODO.md new file mode 100644 index 000000000..5aa6dc58d --- /dev/null +++ b/roles/filebeat/TODO.md @@ -0,0 +1,7 @@ +- only deploy filebeat role to server in auth_processor? +- deploy certificates +- add handlers for systemctl +- install mysql? +- fix playbook, it is now a copy of the deployhost playbook +- warning for rhel family servers +- replace logdir in paths with rsyslog variable if this is in groupvars diff --git a/roles/filebeat/defaults/main.yml b/roles/filebeat/defaults/main.yml index 1723b8c41..72391261b 100644 --- a/roles/filebeat/defaults/main.yml +++ b/roles/filebeat/defaults/main.yml @@ -1,2 +1,16 @@ filebeat_tls: False filebeat_eblog: False +filebeat_version: 9.4.2 +filebeat_package: filebeat-{{ filebeat_version }}-{{ ansible_architecture }}.deb +filebeat_download_url: "https://artifacts.elastic.co/downloads/beats/filebeat" +# add instances to group or host vars: +# filebeat_instances: +# - name: filebeat_sc_prd +# description: "Filebeat instance to send logs to logstash" # description for systemd unit file +# logpaths: +# - "/opt/surfconext/logs/apps/prod_sc/eb/eb.log" +# - "/opt/surfconext/logs/log_logins/prod_sc/eb-authentication.log" +# fields: +# - "env: prod_sc" +# logstash_hosts: '["logstashserver.example.com:5044","logstashserver2.example.com:5044"]' +# logstash_ca: '["/etc/pki/tls/certs/logstash-prod-ca.pem"]' diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 67a93a73a..06beefd7d 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -1,25 +1,64 @@ --- -- name: Add Elasticsearch GPG key. - rpm_key: - key: http://packages.elasticsearch.org/GPG-KEY-elasticsearch - state: present - -- name: Add elasticsearch yum repo - copy: - src: elasticsearch.repo - dest: /etc/yum.repos.d/elasticsearch.repo - mode: 0644 - -- name: Install Filebeat - yum: name=filebeat state=present - - #- name: Install cacert certificate - #copy: src={{ inventory_dir }}/files/certs/elastic_ca.pem dest=/etc/pki/elastic/ - -- name: Install filebeat.yml - template: src=filebeat.yml.j2 dest=/etc/filebeat/filebeat.yml - notify: - - restart filebeat - -- name: Enable and start filebeat - service: name=filebeat state=started enabled=yes +- name: Install filebeat on Debian + when: ansible_os_family == "Debian" + block: + + - name: Gather installed package facts + package_facts: + manager: apt + + - name: Determine if Filebeat install is needed + set_fact: + filebeat_install_needed: "{{ 'filebeat' not in ansible_facts.packages or ansible_facts.packages['filebeat'][0].version != '9.4.2' }}" + + - name: Install or upgrade filebeat when it is not installed already + when: filebeat_install_needed + block: + + - name: Download Filebeat .deb package + ansible.builtin.get_url: + url: "{{ filebeat_download_url }}/{{ filebeat_package }}" + dest: "/tmp/{{ filebeat_package }}" + mode: '0644' + + - name: Install Filebeat + ansible.builtin.apt: + deb: "/tmp/{{ filebeat_package }}" + + +- name: Create configuration directories for all instances + ansible.builtin.file: + path: "/etc/{{ item.name }}" + state: directory + owner: root + group: root + permissions: "0755" + loop: "{{ filebeat_instances }}" + +- name: Create configuration files for all instances + ansible.builtin.template: + dest: "/etc/{{ item.name }}/filebeat.yml" + src: filebeat.yml.j2 + owner: root + group: root + permissions: "0644" + loop: "{{ filebeat_instances }}" + +- name: Create custom systemd files in /etc/systemd/system + ansible.builtin.template: + dest: "/etc/systemd/system/{{ item.name }}.service" + src: filebeat.service.j2 + owner: root + group: root + permissions: "0755" + loop: "{{ filebeat_instances }}" +# #- name: Install cacert certificate +# #copy: src={{ inventory_dir }}/files/certs/elastic_ca.pem dest=/etc/pki/elastic/ + +# - name: Install filebeat.yml +# template: src=filebeat.yml.j2 dest=/etc/filebeat/filebeat.yml +# notify: +# - restart filebeat + +# - name: Enable and start filebeat +# service: name=filebeat state=started enabled=yes diff --git a/roles/filebeat/templates/filebeat.service.j2 b/roles/filebeat/templates/filebeat.service.j2 new file mode 100644 index 000000000..1b69da3de --- /dev/null +++ b/roles/filebeat/templates/filebeat.service.j2 @@ -0,0 +1,15 @@ +[Unit] +Description={% item.description %} +Documentation=https://www.elastic.co/products/beats/filebeat +Wants=network-online.target +After=network-online.target + +[Service] +Environment="BEAT_LOG_OPTS=-e" +Environment="BEAT_CONFIG_OPTS=-c /etc/{% item.name %}/filebeat.yml" +Environment="BEAT_PATH_OPTS=-path.home /usr/share/filebeat -path.config /etc/{% item.name %} -path.data /var/lib/{% item.name %} -path.logs /var/log/filebeat_sa_prd" +ExecStart=/usr/share/filebeat/bin/filebeat $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index 3ad227cdd..eaa3876bc 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -1,29 +1,26 @@ -filebeat.prospectors: - -{% if filebeat_eblog %} +filebeat.inputs: - type: log paths: - - /var/log/messages - include_lines: ["EBLOG"] - fields: - prog: EBLOG - env: {{ env }} - fields_under_root: true -{% endif %} + {%- for logpath in item.logpaths %} + - {{ logpath -}} + {% endfor %} -- type: log - paths: - - /var/log/messages - include_lines: ['EBAUTH'] - exclude_lines: ['influxd'] fields: - prog: EBAUTH - env: {{ env }} + {%- for field in item.fields %} + - {{ field -}} + {% endfor %} fields_under_root: true - - +filebeat.config.modules: + path: ${path.config}/modules.d/*.yml + reload.enabled: false +setup.template.settings: + index.number_of_shards: 1 +setup.kibana: +processors: + - drop_fields: + fields: ["host"] output.logstash: - hosts: ["logstash.{{ base_domain }}:5044"] - {% if filebeat_tls %} - ssl.certificate_authorities: ["/etc/pki/filebeat/filebeat_ca.pem"] + hosts: {% item.logstash_hosts %} + {% if item.logstash_ca is defined %} + ssl.certificate_authorities: {% item.logstash_ca %} {% endif %} diff --git a/roles/rsyslog/tasks/main.yml b/roles/rsyslog/tasks/main.yml index 0eef86d46..e4fc916b2 100644 --- a/roles/rsyslog/tasks/main.yml +++ b/roles/rsyslog/tasks/main.yml @@ -13,7 +13,7 @@ name: - python3-dateutil state: present - when: "'sysloghost' in group_names and ansible_distribution_major_version > '7'" + when: "'centrallog_servers' in group_names and ansible_distribution_major_version > '7'" notify: - "restart rsyslog" @@ -23,7 +23,7 @@ enabled: true - name: Forwarding journalctl to rsyslog forward syslog to central logserver - when: "'sysloghost' not in group_names" + when: "'centrallog_servers' not in group_names" block: # journald forwards logs to rsyslog @@ -110,10 +110,12 @@ # central logserver -- name: Include tasks for central syslog server - ansible.builtin.include_tasks: rsyslog_central.yml - when: "'sysloghost' in group_names" +- name: Include tasks for configuring the central log server + when: "'centrallog_servers' in group_names" + block: + - name: Include tasks for central syslog server + ansible.builtin.include_tasks: rsyslog_central.yml -- name: Include tasks for authentication log processing - ansible.builtin.include_tasks: process_auth_logs.yml - when: "'auth_processor' in group_names" + - name: Include tasks for authentication log processing + ansible.builtin.include_tasks: process_auth_logs.yml + when: "'auth_processor' in group_names" diff --git a/roles/rsyslog/templates/rsyslog.conf.j2 b/roles/rsyslog/templates/rsyslog.conf.j2 index d0973e866..f77ef1068 100644 --- a/roles/rsyslog/templates/rsyslog.conf.j2 +++ b/roles/rsyslog/templates/rsyslog.conf.j2 @@ -39,7 +39,7 @@ $MarkMessagePeriod 600 $PreserveFQDN on # Order is important here: First the templates, then rules, then listerers, then forwarders -{% if 'sysloghost' in group_names %} +{% if 'centrallog_servers' in group_names %} # This directory contains templates for a central syslog host $IncludeConfig /etc/rsyslog.d/templates/*.conf {% endif %} @@ -71,7 +71,7 @@ uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log -{% if 'sysloghost' in group_names %} +{% if 'centrallog_servers' in group_names %} # Make the logs readable $DirCreateMode 0775 $FileCreateMode 0640 @@ -88,7 +88,7 @@ module(load="imudp") input(type="imudp" port="514") -{% if 'sysloghost' in group_names %} +{% if 'centrallog_servers' in group_names %} # Now we include all the listeners module(load="imrelp" ) $IncludeConfig /etc/rsyslog.d/listeners/*.conf @@ -101,7 +101,7 @@ $IncludeConfig /etc/rsyslog.d/listeners/*.conf # Remote Logging (we use TCP for reliable delivery) # -{% if rsyslog_remote_server_relp is defined and 'sysloghost' not in group_names %} +{% if rsyslog_remote_server_relp is defined and 'centrallog_servers' not in group_names %} # Forward all logs to the central logging server using relp module(load="omrelp") action(type="omrelp" diff --git a/roles/rsyslog/templates/rsyslog_onlyforward.conf.j2 b/roles/rsyslog/templates/rsyslog_onlyforward.conf.j2 index 874db8c97..bd612f534 100644 --- a/roles/rsyslog/templates/rsyslog_onlyforward.conf.j2 +++ b/roles/rsyslog/templates/rsyslog_onlyforward.conf.j2 @@ -27,7 +27,7 @@ $PreserveFQDN on $MaxMessageSize {{ rsyslog_maxmessagesize }} {% endif %} -{% if 'sysloghost' not in group_names %} +{% if 'centrallog_servers' not in group_names %} {% for relp_host in relp_remote %} # Logs are forwarded to {{ relp_host.name }} action(type="omrelp" From 77695e4a56fe4c7f748085bab72895381b54a953 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 24 Jun 2026 11:34:41 +0200 Subject: [PATCH 03/26] default min privileges --- roles/galera/tasks/cluster_nodes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/galera/tasks/cluster_nodes.yml b/roles/galera/tasks/cluster_nodes.yml index dbc112293..3f3c4c7b5 100644 --- a/roles/galera/tasks/cluster_nodes.yml +++ b/roles/galera/tasks/cluster_nodes.yml @@ -215,7 +215,7 @@ mysql_user: name: "{{ mariadb_cluster_user }}" password: "{{ mariadb_cluster_password }}" - priv: "{{ mariadb_cluster_user_privs | default('*.*:RELOAD,PROCESS,LOCK TABLES,BINLOG MONITOR,REPLICA MONITOR') }}" + priv: "{{ mariadb_cluster_user_privs | default('*.*:RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT') }}" state: present login_user: root login_password: "{{ mariadb_root_password }}" From f1622c52c3e706a3eb72eba6bad9ea9e4629620a Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Thu, 25 Jun 2026 15:50:15 +0200 Subject: [PATCH 04/26] fix indentationa nd warn non debian users --- roles/filebeat/TODO.md | 2 -- roles/filebeat/defaults/main.yml | 8 +++--- roles/filebeat/tasks/main.yml | 47 ++++++++++++++++++-------------- 3 files changed, 30 insertions(+), 27 deletions(-) diff --git a/roles/filebeat/TODO.md b/roles/filebeat/TODO.md index 5aa6dc58d..38cc49c4e 100644 --- a/roles/filebeat/TODO.md +++ b/roles/filebeat/TODO.md @@ -3,5 +3,3 @@ - add handlers for systemctl - install mysql? - fix playbook, it is now a copy of the deployhost playbook -- warning for rhel family servers -- replace logdir in paths with rsyslog variable if this is in groupvars diff --git a/roles/filebeat/defaults/main.yml b/roles/filebeat/defaults/main.yml index 72391261b..379dd5f73 100644 --- a/roles/filebeat/defaults/main.yml +++ b/roles/filebeat/defaults/main.yml @@ -1,5 +1,5 @@ -filebeat_tls: False -filebeat_eblog: False +filebeat_tls: false +filebeat_eblog: false filebeat_version: 9.4.2 filebeat_package: filebeat-{{ filebeat_version }}-{{ ansible_architecture }}.deb filebeat_download_url: "https://artifacts.elastic.co/downloads/beats/filebeat" @@ -8,8 +8,8 @@ filebeat_download_url: "https://artifacts.elastic.co/downloads/beats/filebeat" # - name: filebeat_sc_prd # description: "Filebeat instance to send logs to logstash" # description for systemd unit file # logpaths: -# - "/opt/surfconext/logs/apps/prod_sc/eb/eb.log" -# - "/opt/surfconext/logs/log_logins/prod_sc/eb-authentication.log" +# - "/opt/openconext/logs/apps/prod_sc/eb/eb.log" +# - "/opt/openconext/logs/log_logins/prod_sc/eb-authentication.log" # fields: # - "env: prod_sc" # logstash_hosts: '["logstashserver.example.com:5044","logstashserver2.example.com:5044"]' diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 06beefd7d..fb1ae502d 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -1,30 +1,35 @@ --- + +- name: Message for non redhat family servers + when: ansible_facts['os_family'] != 'Debian' + ansible.builtin.fail: + msg: "Sorry, this role only works on Debian family servers" + - name: Install filebeat on Debian when: ansible_os_family == "Debian" block: - - name: Gather installed package facts - package_facts: - manager: apt - - - name: Determine if Filebeat install is needed - set_fact: - filebeat_install_needed: "{{ 'filebeat' not in ansible_facts.packages or ansible_facts.packages['filebeat'][0].version != '9.4.2' }}" + - name: Gather installed package facts + ansible.builtin.package_facts: + manager: apt - - name: Install or upgrade filebeat when it is not installed already - when: filebeat_install_needed - block: + - name: Determine if Filebeat install is needed + ansible.builtin.set_fact: + filebeat_install_needed: "{{ 'filebeat' not in ansible_facts.packages or ansible_facts.packages['filebeat'][0].version != '9.4.2' }}" - - name: Download Filebeat .deb package - ansible.builtin.get_url: - url: "{{ filebeat_download_url }}/{{ filebeat_package }}" - dest: "/tmp/{{ filebeat_package }}" - mode: '0644' + - name: Install or upgrade filebeat when it is not installed already + when: filebeat_install_needed + block: - - name: Install Filebeat - ansible.builtin.apt: - deb: "/tmp/{{ filebeat_package }}" + - name: Download Filebeat .deb package + ansible.builtin.get_url: + url: "{{ filebeat_download_url }}/{{ filebeat_package }}" + dest: "/tmp/{{ filebeat_package }}" + mode: '0644' + - name: Install Filebeat + ansible.builtin.apt: + deb: "/tmp/{{ filebeat_package }}" - name: Create configuration directories for all instances ansible.builtin.file: @@ -32,7 +37,7 @@ state: directory owner: root group: root - permissions: "0755" + mode: "0755" loop: "{{ filebeat_instances }}" - name: Create configuration files for all instances @@ -41,7 +46,7 @@ src: filebeat.yml.j2 owner: root group: root - permissions: "0644" + mode: "0644" loop: "{{ filebeat_instances }}" - name: Create custom systemd files in /etc/systemd/system @@ -50,7 +55,7 @@ src: filebeat.service.j2 owner: root group: root - permissions: "0755" + mode: "0755" loop: "{{ filebeat_instances }}" # #- name: Install cacert certificate # #copy: src={{ inventory_dir }}/files/certs/elastic_ca.pem dest=/etc/pki/elastic/ From b2b7bfb4a32d158d2a8b9c25bfc8df99638575d4 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Thu, 25 Jun 2026 17:37:40 +0200 Subject: [PATCH 05/26] fix handler --- roles/filebeat/TODO.md | 2 +- roles/filebeat/handlers/main.yml | 6 ++++-- roles/filebeat/tasks/main.yml | 19 ++++++++++++------- .../templates/filebeat.item.service.j2 | 15 +++++++++++++++ roles/filebeat/templates/filebeat.service.j2 | 17 +++-------------- 5 files changed, 35 insertions(+), 24 deletions(-) create mode 100644 roles/filebeat/templates/filebeat.item.service.j2 diff --git a/roles/filebeat/TODO.md b/roles/filebeat/TODO.md index 38cc49c4e..341081261 100644 --- a/roles/filebeat/TODO.md +++ b/roles/filebeat/TODO.md @@ -2,4 +2,4 @@ - deploy certificates - add handlers for systemctl - install mysql? -- fix playbook, it is now a copy of the deployhost playbook +- wat te doen met de bestanande filebeat service? nu ook custom? diff --git a/roles/filebeat/handlers/main.yml b/roles/filebeat/handlers/main.yml index 96e15a224..2f89a092a 100644 --- a/roles/filebeat/handlers/main.yml +++ b/roles/filebeat/handlers/main.yml @@ -1,3 +1,5 @@ --- -- name: restart filebeat - service: name=filebeat state=restarted +- name: Restart filebeat + ansible.builtin.service: + name: filebeat + state: restarted diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index fb1ae502d..90e35b363 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -48,22 +48,27 @@ group: root mode: "0644" loop: "{{ filebeat_instances }}" + notify: "Restart filebeat" - name: Create custom systemd files in /etc/systemd/system ansible.builtin.template: dest: "/etc/systemd/system/{{ item.name }}.service" - src: filebeat.service.j2 + src: filebeat.item.service.j2 owner: root group: root mode: "0755" loop: "{{ filebeat_instances }}" -# #- name: Install cacert certificate -# #copy: src={{ inventory_dir }}/files/certs/elastic_ca.pem dest=/etc/pki/elastic/ + notify: "Restart filebeat" -# - name: Install filebeat.yml -# template: src=filebeat.yml.j2 dest=/etc/filebeat/filebeat.yml -# notify: -# - restart filebeat +- name: Create systemd file in /etc/systemd/system for managing all filebeat services + ansible.builtin.template: + dest: "/etc/systemd/system/filebeat.service" + src: filebeat.service.j2 + owner: root + group: root + mode: "0755" + loop: "{{ filebeat_instances }}" + notify: "Restart filebeat" # - name: Enable and start filebeat # service: name=filebeat state=started enabled=yes diff --git a/roles/filebeat/templates/filebeat.item.service.j2 b/roles/filebeat/templates/filebeat.item.service.j2 new file mode 100644 index 000000000..1b69da3de --- /dev/null +++ b/roles/filebeat/templates/filebeat.item.service.j2 @@ -0,0 +1,15 @@ +[Unit] +Description={% item.description %} +Documentation=https://www.elastic.co/products/beats/filebeat +Wants=network-online.target +After=network-online.target + +[Service] +Environment="BEAT_LOG_OPTS=-e" +Environment="BEAT_CONFIG_OPTS=-c /etc/{% item.name %}/filebeat.yml" +Environment="BEAT_PATH_OPTS=-path.home /usr/share/filebeat -path.config /etc/{% item.name %} -path.data /var/lib/{% item.name %} -path.logs /var/log/filebeat_sa_prd" +ExecStart=/usr/share/filebeat/bin/filebeat $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/roles/filebeat/templates/filebeat.service.j2 b/roles/filebeat/templates/filebeat.service.j2 index 1b69da3de..807a6b5d2 100644 --- a/roles/filebeat/templates/filebeat.service.j2 +++ b/roles/filebeat/templates/filebeat.service.j2 @@ -1,15 +1,4 @@ [Unit] -Description={% item.description %} -Documentation=https://www.elastic.co/products/beats/filebeat -Wants=network-online.target -After=network-online.target - -[Service] -Environment="BEAT_LOG_OPTS=-e" -Environment="BEAT_CONFIG_OPTS=-c /etc/{% item.name %}/filebeat.yml" -Environment="BEAT_PATH_OPTS=-path.home /usr/share/filebeat -path.config /etc/{% item.name %} -path.data /var/lib/{% item.name %} -path.logs /var/log/filebeat_sa_prd" -ExecStart=/usr/share/filebeat/bin/filebeat $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS -Restart=always - -[Install] -WantedBy=multi-user.target +{%- for filebeat_instance in filebeat_instances %} +Wants={% filebeat_instance %}.filebeat +{% endfor %} From 28ced0e8ba51d6a724690fd82c507239675b1821 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 1 Jul 2026 14:39:44 +0200 Subject: [PATCH 06/26] make services work with simple config --- roles/filebeat/TODO.md | 5 +- roles/filebeat/defaults/main.yml | 4 +- roles/filebeat/handlers/main.yml | 2 +- roles/filebeat/tasks/main.yml | 58 +++++++++++++---- roles/filebeat/templates/elastic.list.j2 | 1 + .../templates/filebeat.item.service.j2 | 13 ++-- roles/filebeat/templates/filebeat.service.j2 | 5 +- roles/filebeat/templates/filebeat.yml.j2 | 62 ++++++++++++------- 8 files changed, 100 insertions(+), 50 deletions(-) create mode 100644 roles/filebeat/templates/elastic.list.j2 diff --git a/roles/filebeat/TODO.md b/roles/filebeat/TODO.md index 341081261..da9a9e0e3 100644 --- a/roles/filebeat/TODO.md +++ b/roles/filebeat/TODO.md @@ -1,5 +1,4 @@ -- only deploy filebeat role to server in auth_processor? - deploy certificates -- add handlers for systemctl - install mysql? -- wat te doen met de bestanande filebeat service? nu ook custom? +- daemon reload +- config aanpassen, doen we versie 8 of 9? diff --git a/roles/filebeat/defaults/main.yml b/roles/filebeat/defaults/main.yml index 379dd5f73..27b69f126 100644 --- a/roles/filebeat/defaults/main.yml +++ b/roles/filebeat/defaults/main.yml @@ -1,8 +1,8 @@ filebeat_tls: false filebeat_eblog: false -filebeat_version: 9.4.2 +filebeat_version: 9.4.3 filebeat_package: filebeat-{{ filebeat_version }}-{{ ansible_architecture }}.deb -filebeat_download_url: "https://artifacts.elastic.co/downloads/beats/filebeat" +filebeat_apt_url: "https://artifacts.elastic.co/packages/oss-9.x/apt" # add instances to group or host vars: # filebeat_instances: # - name: filebeat_sc_prd diff --git a/roles/filebeat/handlers/main.yml b/roles/filebeat/handlers/main.yml index 2f89a092a..ee94d8c50 100644 --- a/roles/filebeat/handlers/main.yml +++ b/roles/filebeat/handlers/main.yml @@ -1,5 +1,5 @@ --- - name: Restart filebeat ansible.builtin.service: - name: filebeat + name: filebeat_all state: restarted diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 90e35b363..d55291bb0 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -15,21 +15,49 @@ - name: Determine if Filebeat install is needed ansible.builtin.set_fact: - filebeat_install_needed: "{{ 'filebeat' not in ansible_facts.packages or ansible_facts.packages['filebeat'][0].version != '9.4.2' }}" + filebeat_install_needed: "{{ 'filebeat' not in ansible_facts.packages or ansible_facts.packages['filebeat'][0].version != filebeat_version }}" - name: Install or upgrade filebeat when it is not installed already when: filebeat_install_needed block: + - name: Debug ansible facts packages + ansible.builtin.debug: + msg: "ansible facts packages: {{ ansible_facts.packages }}" + verbosity: 3 - - name: Download Filebeat .deb package + - name: Debug file install needed + ansible.builtin.debug: + msg: "filebeat_install_needed: {{ filebeat_install_needed }}" + verbosity: 2 + + - name: Ensure keyrings directory exists + ansible.builtin.file: + path: /etc/apt/keyrings + state: directory + mode: '0755' + + - name: Download Elasticsearch GPG key ansible.builtin.get_url: - url: "{{ filebeat_download_url }}/{{ filebeat_package }}" - dest: "/tmp/{{ filebeat_package }}" + url: https://artifacts.elastic.co/GPG-KEY-elasticsearch + dest: /tmp/GPG-KEY-elasticsearch + mode: '0644' + + - name: Dearmor and install Elasticsearch GPG key + ansible.builtin.command: gpg --dearmor -o /etc/apt/keyrings/elasticsearch.gpg /tmp/GPG-KEY-elasticsearch + args: + creates: /etc/apt/keyrings/elasticsearch.gpg + + - name: Add Elasticsearch repository + ansible.builtin.template: + src: "elastic.list.j2" + dest: "/etc/apt/sources.list.d/elastic-9.x.list" mode: '0644' - - name: Install Filebeat + - name: Update the repository cache and install filebeat ansible.builtin.apt: - deb: "/tmp/{{ filebeat_package }}" + name: filebeat + state: present + update_cache: true - name: Create configuration directories for all instances ansible.builtin.file: @@ -62,13 +90,21 @@ - name: Create systemd file in /etc/systemd/system for managing all filebeat services ansible.builtin.template: - dest: "/etc/systemd/system/filebeat.service" + dest: "/etc/systemd/system/filebeat_all.service" src: filebeat.service.j2 owner: root group: root - mode: "0755" - loop: "{{ filebeat_instances }}" + mode: "0644" notify: "Restart filebeat" -# - name: Enable and start filebeat -# service: name=filebeat state=started enabled=yes +- name: Disable and stop service filebeat # Because we have custom instances + ansible.builtin.service: + name: filebeat + state: stopped + enabled: false + +- name: Enable and start service filebeat_all + ansible.builtin.service: + name: filebeat_all + state: started + enabled: true diff --git a/roles/filebeat/templates/elastic.list.j2 b/roles/filebeat/templates/elastic.list.j2 new file mode 100644 index 000000000..33285265c --- /dev/null +++ b/roles/filebeat/templates/elastic.list.j2 @@ -0,0 +1 @@ +deb [signed-by=/etc/apt/keyrings/elasticsearch.gpg] {{ filebeat_apt_url }} stable main \ No newline at end of file diff --git a/roles/filebeat/templates/filebeat.item.service.j2 b/roles/filebeat/templates/filebeat.item.service.j2 index 1b69da3de..709164b0e 100644 --- a/roles/filebeat/templates/filebeat.item.service.j2 +++ b/roles/filebeat/templates/filebeat.item.service.j2 @@ -1,15 +1,14 @@ [Unit] -Description={% item.description %} +Description={{ item.description }} Documentation=https://www.elastic.co/products/beats/filebeat -Wants=network-online.target -After=network-online.target +PartOf=filebeat_all.target [Service] Environment="BEAT_LOG_OPTS=-e" -Environment="BEAT_CONFIG_OPTS=-c /etc/{% item.name %}/filebeat.yml" -Environment="BEAT_PATH_OPTS=-path.home /usr/share/filebeat -path.config /etc/{% item.name %} -path.data /var/lib/{% item.name %} -path.logs /var/log/filebeat_sa_prd" -ExecStart=/usr/share/filebeat/bin/filebeat $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS +Environment="BEAT_CONFIG_OPTS=-c /etc/{{ item.name }}/filebeat.yml" +Environment="BEAT_PATH_OPTS=--path.home /usr/share/filebeat --path.config /etc/{{ item.name }} --path.data /var/lib/{{ item.name }} --path.logs /var/log/{{ item.name }}" +ExecStart=/usr/bin/filebeat $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS Restart=always [Install] -WantedBy=multi-user.target +WantedBy=filebeat_all.target diff --git a/roles/filebeat/templates/filebeat.service.j2 b/roles/filebeat/templates/filebeat.service.j2 index 807a6b5d2..9de97f03e 100644 --- a/roles/filebeat/templates/filebeat.service.j2 +++ b/roles/filebeat/templates/filebeat.service.j2 @@ -1,4 +1,5 @@ [Unit] {%- for filebeat_instance in filebeat_instances %} -Wants={% filebeat_instance %}.filebeat -{% endfor %} + +Wants={{ filebeat_instance.name }}.service +{%- endfor -%} diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index eaa3876bc..f91bef6fb 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -1,26 +1,40 @@ filebeat.inputs: -- type: log - paths: - {%- for logpath in item.logpaths %} - - {{ logpath -}} - {% endfor %} + - type: log + enabled: true + paths: + - /var/log/*.log - fields: - {%- for field in item.fields %} - - {{ field -}} - {% endfor %} - fields_under_root: true -filebeat.config.modules: - path: ${path.config}/modules.d/*.yml - reload.enabled: false -setup.template.settings: - index.number_of_shards: 1 -setup.kibana: -processors: - - drop_fields: - fields: ["host"] -output.logstash: - hosts: {% item.logstash_hosts %} - {% if item.logstash_ca is defined %} - ssl.certificate_authorities: {% item.logstash_ca %} - {% endif %} +output.file: + path: "/tmp/filebeat-output" + filename: filebeat.json + +#filebeat.inputs: +#- type: log +# allow_deprecated_use: true # voor versie 8/9 ?? of meteen filestream +# paths: +# {%- for logpath in item.logpaths %} +# +# - {{ logpath -}} +# {% endfor %} +# +# fields: +# {%- for field in item.fields %} +# +# - {{ field -}} +# {% endfor %} +# +# fields_under_root: true +#filebeat.config.modules: +# path: ${path.config}/modules.d/*.yml +# reload.enabled: false +#setup.template.settings: +# index.number_of_shards: 1 +#setup.kibana: +#processors: +# - drop_fields: +# fields: ["host"] +#output.logstash: +# hosts: {{ item.logstash_hosts }} +# {% if item.logstash_ca is defined %} +# ssl.certificate_authorities: {{ item.logstash_ca }} +# {% endif %} From a965c7d3b737a4819389685ec5ddc64c2c3737a9 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 1 Jul 2026 14:40:55 +0200 Subject: [PATCH 07/26] use target file --- roles/filebeat/templates/filebeat.service.j2 | 5 ----- roles/filebeat/templates/filebeat.target.j2 | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 roles/filebeat/templates/filebeat.service.j2 create mode 100644 roles/filebeat/templates/filebeat.target.j2 diff --git a/roles/filebeat/templates/filebeat.service.j2 b/roles/filebeat/templates/filebeat.service.j2 deleted file mode 100644 index 9de97f03e..000000000 --- a/roles/filebeat/templates/filebeat.service.j2 +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -{%- for filebeat_instance in filebeat_instances %} - -Wants={{ filebeat_instance.name }}.service -{%- endfor -%} diff --git a/roles/filebeat/templates/filebeat.target.j2 b/roles/filebeat/templates/filebeat.target.j2 new file mode 100644 index 000000000..d4fabf018 --- /dev/null +++ b/roles/filebeat/templates/filebeat.target.j2 @@ -0,0 +1,6 @@ +[Unit] +Description=Filebeat services group +After=network.target + +[Install] +WantedBy=multi-user.target From b6fde6dbf8c61553035580078272e4f58b2d46d0 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 1 Jul 2026 14:53:19 +0200 Subject: [PATCH 08/26] use target file --- roles/filebeat/handlers/main.yml | 6 +++++- roles/filebeat/tasks/main.yml | 20 +++++++++++++++----- roles/filebeat/templates/filebeat.yml.j2 | 1 + 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/roles/filebeat/handlers/main.yml b/roles/filebeat/handlers/main.yml index ee94d8c50..b7b63374e 100644 --- a/roles/filebeat/handlers/main.yml +++ b/roles/filebeat/handlers/main.yml @@ -1,5 +1,9 @@ --- - name: Restart filebeat ansible.builtin.service: - name: filebeat_all + name: filebeat_all.target state: restarted + +- name: Reload systemd + ansible.builtin.systemd_service: + daemon_reload: true diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index d55291bb0..2b50c2eda 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -86,16 +86,20 @@ group: root mode: "0755" loop: "{{ filebeat_instances }}" - notify: "Restart filebeat" + notify: + - "Restart filebeat" + - "Reload systemd" - name: Create systemd file in /etc/systemd/system for managing all filebeat services ansible.builtin.template: - dest: "/etc/systemd/system/filebeat_all.service" - src: filebeat.service.j2 + dest: "/etc/systemd/system/filebeat_all.target" + src: filebeat.target.j2 owner: root group: root mode: "0644" - notify: "Restart filebeat" + notify: + - "Restart filebeat" + - "Reload systemd" - name: Disable and stop service filebeat # Because we have custom instances ansible.builtin.service: @@ -103,8 +107,14 @@ state: stopped enabled: false +- name: Enable filebeat instances services + ansible.builtin.service: + name: "{{ item.name }}" + enabled: true + loop: "{{ filebeat_instances }}" + - name: Enable and start service filebeat_all ansible.builtin.service: - name: filebeat_all + name: filebeat_all.target state: started enabled: true diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index f91bef6fb..669eb6368 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -1,5 +1,6 @@ filebeat.inputs: - type: log + allow_deprecated_use: true enabled: true paths: - /var/log/*.log From 63e0d00c86081d7c7217064777a16bc9d7ccf413 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 1 Jul 2026 14:56:07 +0200 Subject: [PATCH 09/26] add todo --- roles/filebeat/TODO.md | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/filebeat/TODO.md b/roles/filebeat/TODO.md index da9a9e0e3..4063d2d2d 100644 --- a/roles/filebeat/TODO.md +++ b/roles/filebeat/TODO.md @@ -2,3 +2,4 @@ - install mysql? - daemon reload - config aanpassen, doen we versie 8 of 9? +- fix warnings From 16dc596b6c3dc5ed3db5a8f8b7614c64f0ff750f Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 1 Jul 2026 16:28:27 +0200 Subject: [PATCH 10/26] sst user privs add super --- roles/galera/tasks/cluster_nodes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/galera/tasks/cluster_nodes.yml b/roles/galera/tasks/cluster_nodes.yml index c1169c0c2..7260d6cc2 100644 --- a/roles/galera/tasks/cluster_nodes.yml +++ b/roles/galera/tasks/cluster_nodes.yml @@ -220,7 +220,7 @@ mysql_user: name: "{{ mariadb_cluster_user }}" password: "{{ mariadb_cluster_password }}" - priv: "{{ mariadb_cluster_user_privs | default('*.*:RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT') }}" + priv: "{{ mariadb_cluster_user_privs | default('*.*:RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT, SUPER') }}" state: present login_user: root login_password: "{{ mariadb_root_password }}" From 07012adce7da529852e354e3739ab36d8e9774e6 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 1 Jul 2026 16:33:34 +0200 Subject: [PATCH 11/26] real config --- roles/filebeat/TODO.md | 2 - roles/filebeat/templates/filebeat.yml.j2 | 76 ++++++++++++------------ 2 files changed, 38 insertions(+), 40 deletions(-) diff --git a/roles/filebeat/TODO.md b/roles/filebeat/TODO.md index 4063d2d2d..5ff78bca4 100644 --- a/roles/filebeat/TODO.md +++ b/roles/filebeat/TODO.md @@ -1,5 +1,3 @@ - deploy certificates -- install mysql? -- daemon reload - config aanpassen, doen we versie 8 of 9? - fix warnings diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index 669eb6368..cb4a68f8f 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -1,41 +1,41 @@ +# filebeat.inputs: +# - type: log +# allow_deprecated_use: true +# enabled: true +# paths: +# - /var/log/*.log +# +# output.file: +# path: "/tmp/filebeat-output" +# filename: filebeat.json + filebeat.inputs: - - type: log - allow_deprecated_use: true - enabled: true - paths: - - /var/log/*.log +- type: log + allow_deprecated_use: true # voor versie 8/9 ?? of meteen filestream + paths: + {%- for logpath in item.logpaths %} -output.file: - path: "/tmp/filebeat-output" - filename: filebeat.json + - {{ logpath -}} + {% endfor %} -#filebeat.inputs: -#- type: log -# allow_deprecated_use: true # voor versie 8/9 ?? of meteen filestream -# paths: -# {%- for logpath in item.logpaths %} -# -# - {{ logpath -}} -# {% endfor %} -# -# fields: -# {%- for field in item.fields %} -# -# - {{ field -}} -# {% endfor %} -# -# fields_under_root: true -#filebeat.config.modules: -# path: ${path.config}/modules.d/*.yml -# reload.enabled: false -#setup.template.settings: -# index.number_of_shards: 1 -#setup.kibana: -#processors: -# - drop_fields: -# fields: ["host"] -#output.logstash: -# hosts: {{ item.logstash_hosts }} -# {% if item.logstash_ca is defined %} -# ssl.certificate_authorities: {{ item.logstash_ca }} -# {% endif %} + fields: + {%- for field in item.fields %} + + - {{ field -}} + {% endfor %} + + fields_under_root: true +filebeat.config.modules: + path: ${path.config}/modules.d/*.yml + reload.enabled: false +setup.template.settings: + index.number_of_shards: 1 +setup.kibana: +processors: + - drop_fields: + fields: ["host"] +output.logstash: + hosts: {{ item.logstash_hosts }} + {% if item.logstash_ca is defined %} + ssl.certificate_authorities: {{ item.logstash_ca }} + {% endif %} From 5c60295e6f1b1af1174fd7d42ca09882e3be37c0 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 1 Jul 2026 16:40:52 +0200 Subject: [PATCH 12/26] use real binary --- roles/filebeat/templates/filebeat.item.service.j2 | 2 +- roles/filebeat/templates/filebeat.yml.j2 | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/filebeat/templates/filebeat.item.service.j2 b/roles/filebeat/templates/filebeat.item.service.j2 index 709164b0e..259198b85 100644 --- a/roles/filebeat/templates/filebeat.item.service.j2 +++ b/roles/filebeat/templates/filebeat.item.service.j2 @@ -7,7 +7,7 @@ PartOf=filebeat_all.target Environment="BEAT_LOG_OPTS=-e" Environment="BEAT_CONFIG_OPTS=-c /etc/{{ item.name }}/filebeat.yml" Environment="BEAT_PATH_OPTS=--path.home /usr/share/filebeat --path.config /etc/{{ item.name }} --path.data /var/lib/{{ item.name }} --path.logs /var/log/{{ item.name }}" -ExecStart=/usr/bin/filebeat $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS +ExecStart=/usr/share/filebeat/bin/filebeat $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS Restart=always [Install] diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index cb4a68f8f..9c32db4c7 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -36,6 +36,6 @@ processors: fields: ["host"] output.logstash: hosts: {{ item.logstash_hosts }} - {% if item.logstash_ca is defined %} - ssl.certificate_authorities: {{ item.logstash_ca }} - {% endif %} +# {% if item.logstash_ca is defined %} +# ssl.certificate_authorities: {{ item.logstash_ca }} +# {% endif %} From d32232594b2afb23acb02d51c33f36e9af1373e9 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 1 Jul 2026 17:10:56 +0200 Subject: [PATCH 13/26] deploy certificate --- roles/filebeat/TODO.md | 3 +-- roles/filebeat/defaults/main.yml | 4 ++++ roles/filebeat/tasks/main.yml | 11 +++++++++++ roles/filebeat/templates/ca_cert.j2 | 1 + roles/filebeat/templates/filebeat.yml.j2 | 6 +++--- 5 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 roles/filebeat/templates/ca_cert.j2 diff --git a/roles/filebeat/TODO.md b/roles/filebeat/TODO.md index 5ff78bca4..bb0c7ba1a 100644 --- a/roles/filebeat/TODO.md +++ b/roles/filebeat/TODO.md @@ -1,3 +1,2 @@ -- deploy certificates -- config aanpassen, doen we versie 8 of 9? +- deploy certificates - fix warnings diff --git a/roles/filebeat/defaults/main.yml b/roles/filebeat/defaults/main.yml index 27b69f126..22776fe3a 100644 --- a/roles/filebeat/defaults/main.yml +++ b/roles/filebeat/defaults/main.yml @@ -14,3 +14,7 @@ filebeat_apt_url: "https://artifacts.elastic.co/packages/oss-9.x/apt" # - "env: prod_sc" # logstash_hosts: '["logstashserver.example.com:5044","logstashserver2.example.com:5044"]' # logstash_ca: '["/etc/pki/tls/certs/logstash-prod-ca.pem"]' +# cacert_content: | +# -----BEGIN CERTIFICATE----- +# MIIEKzCCAxOgAwIBAgIJAMjE1SXBf9RJMA0GCSqGSIb3DQEBBQUAMIGqMQswCQYD +# VQQGEwJOTDEQMA4GA1UECAwHVXRyZWNodDEQMA4GA1UEBwwHVXRyZWNodDEVMBMG diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 2b50c2eda..946c7ff6b 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -78,6 +78,17 @@ loop: "{{ filebeat_instances }}" notify: "Restart filebeat" +- name: Create pem file if necessary + ansible.builtin.template: + dest: "{{ item.logstash_ca }}" + src: ca_cert.j2 + owner: root + group: root + mode: "0644" + loop: "{{ filebeat_instances }}" + when: item.logstash_ca is defined + notify: "Restart filebeat" + - name: Create custom systemd files in /etc/systemd/system ansible.builtin.template: dest: "/etc/systemd/system/{{ item.name }}.service" diff --git a/roles/filebeat/templates/ca_cert.j2 b/roles/filebeat/templates/ca_cert.j2 new file mode 100644 index 000000000..e33a5fd59 --- /dev/null +++ b/roles/filebeat/templates/ca_cert.j2 @@ -0,0 +1 @@ +{{ item.cacert_content | default ("") }} \ No newline at end of file diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index 9c32db4c7..4869bea51 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -36,6 +36,6 @@ processors: fields: ["host"] output.logstash: hosts: {{ item.logstash_hosts }} -# {% if item.logstash_ca is defined %} -# ssl.certificate_authorities: {{ item.logstash_ca }} -# {% endif %} +{% if item.logstash_ca is defined %} + ssl.certificate_authorities: {{ item.logstash_ca }} +{% endif %} From 37268e9a77832b52b5b741b69cb70232c1a9ddea Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Thu, 2 Jul 2026 16:14:41 +0200 Subject: [PATCH 14/26] temporarily disable services --- roles/filebeat/tasks/main.yml | 40 +++++++++++++++++------------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 946c7ff6b..92ae45148 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -6,7 +6,7 @@ msg: "Sorry, this role only works on Debian family servers" - name: Install filebeat on Debian - when: ansible_os_family == "Debian" + when: ansible_facts["os_family"] == "Debian" block: - name: Gather installed package facts @@ -76,7 +76,7 @@ group: root mode: "0644" loop: "{{ filebeat_instances }}" - notify: "Restart filebeat" + ### notify: "Restart filebeat" - name: Create pem file if necessary ansible.builtin.template: @@ -87,7 +87,7 @@ mode: "0644" loop: "{{ filebeat_instances }}" when: item.logstash_ca is defined - notify: "Restart filebeat" + ### notify: "Restart filebeat" - name: Create custom systemd files in /etc/systemd/system ansible.builtin.template: @@ -97,9 +97,9 @@ group: root mode: "0755" loop: "{{ filebeat_instances }}" - notify: - - "Restart filebeat" - - "Reload systemd" + ### notify: + ### - "Restart filebeat" + #### - "Reload systemd" - name: Create systemd file in /etc/systemd/system for managing all filebeat services ansible.builtin.template: @@ -108,9 +108,9 @@ owner: root group: root mode: "0644" - notify: - - "Restart filebeat" - - "Reload systemd" + ### notify: + ### - "Restart filebeat" + #### - "Reload systemd" - name: Disable and stop service filebeat # Because we have custom instances ansible.builtin.service: @@ -118,14 +118,14 @@ state: stopped enabled: false -- name: Enable filebeat instances services - ansible.builtin.service: - name: "{{ item.name }}" - enabled: true - loop: "{{ filebeat_instances }}" - -- name: Enable and start service filebeat_all - ansible.builtin.service: - name: filebeat_all.target - state: started - enabled: true +# - name: Enable filebeat instances services +# ansible.builtin.service: +# name: "{{ item.name }}" +# enabled: true +# loop: "{{ filebeat_instances }}" + +# - name: Enable and start service filebeat_all +# ansible.builtin.service: +# name: filebeat_all.target +# state: started +# enabled: true From 75602893340078d5f1010beee28a1794340baf3a Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Thu, 2 Jul 2026 16:49:34 +0200 Subject: [PATCH 15/26] enable services --- roles/filebeat/tasks/main.yml | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 92ae45148..d27a7cc30 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -76,7 +76,7 @@ group: root mode: "0644" loop: "{{ filebeat_instances }}" - ### notify: "Restart filebeat" + notify: "Restart filebeat" - name: Create pem file if necessary ansible.builtin.template: @@ -87,7 +87,7 @@ mode: "0644" loop: "{{ filebeat_instances }}" when: item.logstash_ca is defined - ### notify: "Restart filebeat" + notify: "Restart filebeat" - name: Create custom systemd files in /etc/systemd/system ansible.builtin.template: @@ -97,9 +97,9 @@ group: root mode: "0755" loop: "{{ filebeat_instances }}" - ### notify: - ### - "Restart filebeat" - #### - "Reload systemd" + notify: + - "Restart filebeat" + - "Reload systemd" - name: Create systemd file in /etc/systemd/system for managing all filebeat services ansible.builtin.template: @@ -108,9 +108,9 @@ owner: root group: root mode: "0644" - ### notify: - ### - "Restart filebeat" - #### - "Reload systemd" + notify: + - "Restart filebeat" + - "Reload systemd" - name: Disable and stop service filebeat # Because we have custom instances ansible.builtin.service: @@ -118,14 +118,14 @@ state: stopped enabled: false -# - name: Enable filebeat instances services -# ansible.builtin.service: -# name: "{{ item.name }}" -# enabled: true -# loop: "{{ filebeat_instances }}" - -# - name: Enable and start service filebeat_all -# ansible.builtin.service: -# name: filebeat_all.target -# state: started -# enabled: true +- name: Enable filebeat instances services + ansible.builtin.service: + name: "{{ item.name }}" + enabled: true + loop: "{{ filebeat_instances }}" + +- name: Enable and start service filebeat_all + ansible.builtin.service: + name: filebeat_all.target + state: started + enabled: true From 12309c320a69d23c1c7f1c2f5dbaa5a0e1955980 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Fri, 3 Jul 2026 16:32:15 +0200 Subject: [PATCH 16/26] binlog monitor is the new name for replication client --- roles/galera/tasks/cluster_nodes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/galera/tasks/cluster_nodes.yml b/roles/galera/tasks/cluster_nodes.yml index 7260d6cc2..c93de8062 100644 --- a/roles/galera/tasks/cluster_nodes.yml +++ b/roles/galera/tasks/cluster_nodes.yml @@ -220,7 +220,7 @@ mysql_user: name: "{{ mariadb_cluster_user }}" password: "{{ mariadb_cluster_password }}" - priv: "{{ mariadb_cluster_user_privs | default('*.*:RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT, SUPER') }}" + priv: "{{ mariadb_cluster_user_privs | default('*.*:RELOAD, PROCESS, LOCK TABLES, BINLOG MONITOR, SUPER') }}" state: present login_user: root login_password: "{{ mariadb_root_password }}" From c4a00daeb2a39024b2652ce8fddf79c87ae8bc86 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Thu, 16 Jul 2026 13:37:09 +0200 Subject: [PATCH 17/26] add certificate path --- roles/filebeat/defaults/main.yml | 3 ++- roles/filebeat/tasks/main.yml | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/roles/filebeat/defaults/main.yml b/roles/filebeat/defaults/main.yml index 22776fe3a..9288dea1b 100644 --- a/roles/filebeat/defaults/main.yml +++ b/roles/filebeat/defaults/main.yml @@ -13,7 +13,8 @@ filebeat_apt_url: "https://artifacts.elastic.co/packages/oss-9.x/apt" # fields: # - "env: prod_sc" # logstash_hosts: '["logstashserver.example.com:5044","logstashserver2.example.com:5044"]' -# logstash_ca: '["/etc/pki/tls/certs/logstash-prod-ca.pem"]' +# logstash_ca_path: "/etc/pki/tls/certs" +# logstash_ca: "{{ logstash_ca_path }}/logstash-prod-ca.pem" # cacert_content: | # -----BEGIN CERTIFICATE----- # MIIEKzCCAxOgAwIBAgIJAMjE1SXBf9RJMA0GCSqGSIb3DQEBBQUAMIGqMQswCQYD diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index d27a7cc30..388ef3172 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -78,6 +78,16 @@ loop: "{{ filebeat_instances }}" notify: "Restart filebeat" +- name: "Create pem directory if necessary" + ansible.builtin.file: + dest: "{{ item.logstash_ca_path }}" + state: directory + owner: root + group: root + mode: "0755" + loop: "{{ filebeat_instances }}" + when: item.logstash_ca_path is defined + - name: Create pem file if necessary ansible.builtin.template: dest: "{{ item.logstash_ca }}" From a3cf4985f028371173eb1565cc172c80346c7e91 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Thu, 16 Jul 2026 14:06:41 +0200 Subject: [PATCH 18/26] disable services --- roles/filebeat/tasks/main.yml | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 388ef3172..c61abd61c 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -76,7 +76,7 @@ group: root mode: "0644" loop: "{{ filebeat_instances }}" - notify: "Restart filebeat" + ## notify: "Restart filebeat" - name: "Create pem directory if necessary" ansible.builtin.file: @@ -97,7 +97,7 @@ mode: "0644" loop: "{{ filebeat_instances }}" when: item.logstash_ca is defined - notify: "Restart filebeat" + ## notify: "Restart filebeat" - name: Create custom systemd files in /etc/systemd/system ansible.builtin.template: @@ -107,9 +107,9 @@ group: root mode: "0755" loop: "{{ filebeat_instances }}" - notify: - - "Restart filebeat" - - "Reload systemd" + ## notify: + ## - "Restart filebeat" + ## - "Reload systemd" - name: Create systemd file in /etc/systemd/system for managing all filebeat services ansible.builtin.template: @@ -118,9 +118,9 @@ owner: root group: root mode: "0644" - notify: - - "Restart filebeat" - - "Reload systemd" + ## notify: + ## - "Restart filebeat" + ## - "Reload systemd" - name: Disable and stop service filebeat # Because we have custom instances ansible.builtin.service: @@ -128,14 +128,14 @@ state: stopped enabled: false -- name: Enable filebeat instances services - ansible.builtin.service: - name: "{{ item.name }}" - enabled: true - loop: "{{ filebeat_instances }}" - -- name: Enable and start service filebeat_all - ansible.builtin.service: - name: filebeat_all.target - state: started - enabled: true +# - name: Enable filebeat instances services +# ansible.builtin.service: +# name: "{{ item.name }}" +# enabled: true +# loop: "{{ filebeat_instances }}" + +# - name: Enable and start service filebeat_all +# ansible.builtin.service: +# name: filebeat_all.target +# state: started +# enabled: true From 59629a8dce533f11ddac1a2b594e2afcddfc7e47 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Mon, 27 Jul 2026 10:59:20 +0200 Subject: [PATCH 19/26] filebeat downgrade --- roles/filebeat/defaults/main.yml | 5 +- roles/filebeat/tasks/main.yml | 94 ++++++++++++++++---------------- 2 files changed, 50 insertions(+), 49 deletions(-) diff --git a/roles/filebeat/defaults/main.yml b/roles/filebeat/defaults/main.yml index 9288dea1b..d72498246 100644 --- a/roles/filebeat/defaults/main.yml +++ b/roles/filebeat/defaults/main.yml @@ -1,8 +1,9 @@ filebeat_tls: false filebeat_eblog: false -filebeat_version: 9.4.3 +filebeat_major_version: 7 +filebeat_version: 7.17.29 filebeat_package: filebeat-{{ filebeat_version }}-{{ ansible_architecture }}.deb -filebeat_apt_url: "https://artifacts.elastic.co/packages/oss-9.x/apt" +filebeat_apt_url: "https://artifacts.elastic.co/packages/oss-{{ filebeat_major_version }}.x/apt" # add instances to group or host vars: # filebeat_instances: # - name: filebeat_sc_prd diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index c61abd61c..f4d84b342 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -1,79 +1,79 @@ --- -- name: Message for non redhat family servers +- name: "/etc/Message for non redhat family servers" when: ansible_facts['os_family'] != 'Debian' ansible.builtin.fail: msg: "Sorry, this role only works on Debian family servers" -- name: Install filebeat on Debian +- name: "Install filebeat on Debian" when: ansible_facts["os_family"] == "Debian" block: - - name: Gather installed package facts + - name: "Gather installed package facts" ansible.builtin.package_facts: - manager: apt + manager: "apt" - - name: Determine if Filebeat install is needed + - name: "Determine if Filebeat install is needed" ansible.builtin.set_fact: filebeat_install_needed: "{{ 'filebeat' not in ansible_facts.packages or ansible_facts.packages['filebeat'][0].version != filebeat_version }}" - - name: Install or upgrade filebeat when it is not installed already + - name: "Install or upgrade filebeat when it is not installed already" when: filebeat_install_needed block: - - name: Debug ansible facts packages + - name: "Debug ansible facts packages" ansible.builtin.debug: msg: "ansible facts packages: {{ ansible_facts.packages }}" verbosity: 3 - - name: Debug file install needed + - name: "Debug file install needed" ansible.builtin.debug: msg: "filebeat_install_needed: {{ filebeat_install_needed }}" verbosity: 2 - - name: Ensure keyrings directory exists + - name: "Ensure keyrings directory exists" ansible.builtin.file: - path: /etc/apt/keyrings - state: directory + path: "/etc/apt/keyrings" + state: "directory" mode: '0755' - - name: Download Elasticsearch GPG key + - name: "Download Elasticsearch GPG key" ansible.builtin.get_url: - url: https://artifacts.elastic.co/GPG-KEY-elasticsearch - dest: /tmp/GPG-KEY-elasticsearch + url: "https://artifacts.elastic.co/GPG-KEY-elasticsearch" + dest: "/tmp/GPG-KEY-elasticsearch" mode: '0644' - - name: Dearmor and install Elasticsearch GPG key + - name: "Dearmor and install Elasticsearch GPG key" ansible.builtin.command: gpg --dearmor -o /etc/apt/keyrings/elasticsearch.gpg /tmp/GPG-KEY-elasticsearch args: - creates: /etc/apt/keyrings/elasticsearch.gpg + creates: "/etc/apt/keyrings/elasticsearch.gpg" - - name: Add Elasticsearch repository + - name: "Add Elasticsearch repository" ansible.builtin.template: src: "elastic.list.j2" - dest: "/etc/apt/sources.list.d/elastic-9.x.list" + dest: "/etc/apt/sources.list.d/elastic.list" mode: '0644' - - name: Update the repository cache and install filebeat + - name: "Update the repository cache and install filebeat" ansible.builtin.apt: - name: filebeat - state: present + name: "filebeat" + state: "present" update_cache: true -- name: Create configuration directories for all instances +- name: "Create configuration directories for all instances" ansible.builtin.file: path: "/etc/{{ item.name }}" - state: directory - owner: root - group: root + state: "directory" + owner: "root" + group: "root" mode: "0755" loop: "{{ filebeat_instances }}" -- name: Create configuration files for all instances +- name: "Create configuration files for all instances" ansible.builtin.template: dest: "/etc/{{ item.name }}/filebeat.yml" - src: filebeat.yml.j2 - owner: root - group: root + src: "filebeat.yml.j2" + owner: "root" + group: "root" mode: "0644" loop: "{{ filebeat_instances }}" ## notify: "Restart filebeat" @@ -81,51 +81,51 @@ - name: "Create pem directory if necessary" ansible.builtin.file: dest: "{{ item.logstash_ca_path }}" - state: directory - owner: root - group: root + state: "directory" + owner: "root" + group: "root" mode: "0755" loop: "{{ filebeat_instances }}" when: item.logstash_ca_path is defined -- name: Create pem file if necessary +- name: "Create pem file if necessary" ansible.builtin.template: dest: "{{ item.logstash_ca }}" - src: ca_cert.j2 - owner: root - group: root + src: "ca_cert.j2" + owner: "root" + group: "root" mode: "0644" loop: "{{ filebeat_instances }}" when: item.logstash_ca is defined ## notify: "Restart filebeat" -- name: Create custom systemd files in /etc/systemd/system +- name: "Create custom systemd files in /etc/systemd/system" ansible.builtin.template: dest: "/etc/systemd/system/{{ item.name }}.service" - src: filebeat.item.service.j2 - owner: root - group: root + src: "filebeat.item.service.j2" + owner: "root" + group: "root" mode: "0755" loop: "{{ filebeat_instances }}" ## notify: ## - "Restart filebeat" ## - "Reload systemd" -- name: Create systemd file in /etc/systemd/system for managing all filebeat services +- name: "Create systemd file in /etc/systemd/system for managing all filebeat services" ansible.builtin.template: dest: "/etc/systemd/system/filebeat_all.target" - src: filebeat.target.j2 - owner: root - group: root + src: "filebeat.target.j2" + owner: "root" + group: "root" mode: "0644" ## notify: ## - "Restart filebeat" ## - "Reload systemd" -- name: Disable and stop service filebeat # Because we have custom instances +- name: "Disable and stop service filebeat" # Because we have custom instances ansible.builtin.service: - name: filebeat - state: stopped + name: "filebeat" + state: "stopped" enabled: false # - name: Enable filebeat instances services From f2cb5c2b211640be8ca743daadd67c10206e78f1 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Mon, 27 Jul 2026 11:22:31 +0200 Subject: [PATCH 20/26] major version is enough --- roles/filebeat/defaults/main.yml | 2 -- roles/filebeat/tasks/main.yml | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/roles/filebeat/defaults/main.yml b/roles/filebeat/defaults/main.yml index d72498246..42fe68408 100644 --- a/roles/filebeat/defaults/main.yml +++ b/roles/filebeat/defaults/main.yml @@ -1,8 +1,6 @@ filebeat_tls: false filebeat_eblog: false filebeat_major_version: 7 -filebeat_version: 7.17.29 -filebeat_package: filebeat-{{ filebeat_version }}-{{ ansible_architecture }}.deb filebeat_apt_url: "https://artifacts.elastic.co/packages/oss-{{ filebeat_major_version }}.x/apt" # add instances to group or host vars: # filebeat_instances: diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index f4d84b342..47f08c25c 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -15,7 +15,7 @@ - name: "Determine if Filebeat install is needed" ansible.builtin.set_fact: - filebeat_install_needed: "{{ 'filebeat' not in ansible_facts.packages or ansible_facts.packages['filebeat'][0].version != filebeat_version }}" + filebeat_install_needed: "{{ 'filebeat' not in ansible_facts.packages }}" - name: "Install or upgrade filebeat when it is not installed already" when: filebeat_install_needed From 04c28126d6361c63529bdb07cde1cf3961d18746 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 29 Jul 2026 11:12:08 +0200 Subject: [PATCH 21/26] fields is a dict not a list --- roles/filebeat/templates/filebeat.yml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index 4869bea51..04a95f1e6 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -21,7 +21,7 @@ filebeat.inputs: fields: {%- for field in item.fields %} - - {{ field -}} + {{ field -}} {% endfor %} fields_under_root: true From 8c771e3a083db7dc8d10d75956b89d68984d6c06 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 29 Jul 2026 11:28:30 +0200 Subject: [PATCH 22/26] deprecated use is no longer relevant --- roles/filebeat/templates/filebeat.yml.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index 04a95f1e6..ad20bd893 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -11,7 +11,6 @@ filebeat.inputs: - type: log - allow_deprecated_use: true # voor versie 8/9 ?? of meteen filestream paths: {%- for logpath in item.logpaths %} From 8db3e45ccc26437abef45b503fbdaa4fd04ce028 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 29 Jul 2026 15:17:03 +0200 Subject: [PATCH 23/26] only works with square brackets --- roles/filebeat/templates/filebeat.yml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/filebeat/templates/filebeat.yml.j2 index ad20bd893..871709574 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/filebeat/templates/filebeat.yml.j2 @@ -36,5 +36,5 @@ processors: output.logstash: hosts: {{ item.logstash_hosts }} {% if item.logstash_ca is defined %} - ssl.certificate_authorities: {{ item.logstash_ca }} + ssl.certificate_authorities: ["{{ item.logstash_ca }}"] {% endif %} From a75f526068a3d72d029ba28d7271c9b9a63f8017 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 29 Jul 2026 15:23:15 +0200 Subject: [PATCH 24/26] enable services --- roles/filebeat/tasks/main.yml | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 47f08c25c..61c642d60 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -76,7 +76,7 @@ group: "root" mode: "0644" loop: "{{ filebeat_instances }}" - ## notify: "Restart filebeat" + notify: "Restart filebeat" - name: "Create pem directory if necessary" ansible.builtin.file: @@ -97,7 +97,7 @@ mode: "0644" loop: "{{ filebeat_instances }}" when: item.logstash_ca is defined - ## notify: "Restart filebeat" + notify: "Restart filebeat" - name: "Create custom systemd files in /etc/systemd/system" ansible.builtin.template: @@ -107,9 +107,9 @@ group: "root" mode: "0755" loop: "{{ filebeat_instances }}" - ## notify: - ## - "Restart filebeat" - ## - "Reload systemd" + notify: + - "Restart filebeat" + - "Reload systemd" - name: "Create systemd file in /etc/systemd/system for managing all filebeat services" ansible.builtin.template: @@ -118,9 +118,9 @@ owner: "root" group: "root" mode: "0644" - ## notify: - ## - "Restart filebeat" - ## - "Reload systemd" + notify: + - "Restart filebeat" + - "Reload systemd" - name: "Disable and stop service filebeat" # Because we have custom instances ansible.builtin.service: @@ -128,14 +128,14 @@ state: "stopped" enabled: false -# - name: Enable filebeat instances services -# ansible.builtin.service: -# name: "{{ item.name }}" -# enabled: true -# loop: "{{ filebeat_instances }}" - -# - name: Enable and start service filebeat_all -# ansible.builtin.service: -# name: filebeat_all.target -# state: started -# enabled: true +- name: Enable filebeat instances services + ansible.builtin.service: + name: "{{ item.name }}" + enabled: true + loop: "{{ filebeat_instances }}" + +- name: Enable and start service filebeat_all + ansible.builtin.service: + name: filebeat_all.target + state: started + enabled: true From 37091e4a50115ae204ea09f20ea79c19c3781b61 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 29 Jul 2026 15:35:20 +0200 Subject: [PATCH 25/26] disable services --- roles/filebeat/tasks/main.yml | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 61c642d60..47f08c25c 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -76,7 +76,7 @@ group: "root" mode: "0644" loop: "{{ filebeat_instances }}" - notify: "Restart filebeat" + ## notify: "Restart filebeat" - name: "Create pem directory if necessary" ansible.builtin.file: @@ -97,7 +97,7 @@ mode: "0644" loop: "{{ filebeat_instances }}" when: item.logstash_ca is defined - notify: "Restart filebeat" + ## notify: "Restart filebeat" - name: "Create custom systemd files in /etc/systemd/system" ansible.builtin.template: @@ -107,9 +107,9 @@ group: "root" mode: "0755" loop: "{{ filebeat_instances }}" - notify: - - "Restart filebeat" - - "Reload systemd" + ## notify: + ## - "Restart filebeat" + ## - "Reload systemd" - name: "Create systemd file in /etc/systemd/system for managing all filebeat services" ansible.builtin.template: @@ -118,9 +118,9 @@ owner: "root" group: "root" mode: "0644" - notify: - - "Restart filebeat" - - "Reload systemd" + ## notify: + ## - "Restart filebeat" + ## - "Reload systemd" - name: "Disable and stop service filebeat" # Because we have custom instances ansible.builtin.service: @@ -128,14 +128,14 @@ state: "stopped" enabled: false -- name: Enable filebeat instances services - ansible.builtin.service: - name: "{{ item.name }}" - enabled: true - loop: "{{ filebeat_instances }}" - -- name: Enable and start service filebeat_all - ansible.builtin.service: - name: filebeat_all.target - state: started - enabled: true +# - name: Enable filebeat instances services +# ansible.builtin.service: +# name: "{{ item.name }}" +# enabled: true +# loop: "{{ filebeat_instances }}" + +# - name: Enable and start service filebeat_all +# ansible.builtin.service: +# name: filebeat_all.target +# state: started +# enabled: true From 38a9f3a6868ad1bae0a693d8d3bf97e988edafb7 Mon Sep 17 00:00:00 2001 From: Chantal Rosmuller Date: Wed, 29 Jul 2026 15:36:05 +0200 Subject: [PATCH 26/26] enable services --- roles/filebeat/tasks/main.yml | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml index 47f08c25c..61c642d60 100644 --- a/roles/filebeat/tasks/main.yml +++ b/roles/filebeat/tasks/main.yml @@ -76,7 +76,7 @@ group: "root" mode: "0644" loop: "{{ filebeat_instances }}" - ## notify: "Restart filebeat" + notify: "Restart filebeat" - name: "Create pem directory if necessary" ansible.builtin.file: @@ -97,7 +97,7 @@ mode: "0644" loop: "{{ filebeat_instances }}" when: item.logstash_ca is defined - ## notify: "Restart filebeat" + notify: "Restart filebeat" - name: "Create custom systemd files in /etc/systemd/system" ansible.builtin.template: @@ -107,9 +107,9 @@ group: "root" mode: "0755" loop: "{{ filebeat_instances }}" - ## notify: - ## - "Restart filebeat" - ## - "Reload systemd" + notify: + - "Restart filebeat" + - "Reload systemd" - name: "Create systemd file in /etc/systemd/system for managing all filebeat services" ansible.builtin.template: @@ -118,9 +118,9 @@ owner: "root" group: "root" mode: "0644" - ## notify: - ## - "Restart filebeat" - ## - "Reload systemd" + notify: + - "Restart filebeat" + - "Reload systemd" - name: "Disable and stop service filebeat" # Because we have custom instances ansible.builtin.service: @@ -128,14 +128,14 @@ state: "stopped" enabled: false -# - name: Enable filebeat instances services -# ansible.builtin.service: -# name: "{{ item.name }}" -# enabled: true -# loop: "{{ filebeat_instances }}" - -# - name: Enable and start service filebeat_all -# ansible.builtin.service: -# name: filebeat_all.target -# state: started -# enabled: true +- name: Enable filebeat instances services + ansible.builtin.service: + name: "{{ item.name }}" + enabled: true + loop: "{{ filebeat_instances }}" + +- name: Enable and start service filebeat_all + ansible.builtin.service: + name: filebeat_all.target + state: started + enabled: true