106 lines
2.2 KiB
YAML
106 lines
2.2 KiB
YAML
---
|
|
- name: Update APT Cache
|
|
apt:
|
|
update_cache: yes
|
|
ignore_errors: yes
|
|
|
|
- name: Install Filebeat Dependencies
|
|
apt:
|
|
state: present
|
|
pkg:
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
- curl
|
|
- software-properties-common
|
|
register: result
|
|
until: result.failed == false
|
|
retries: 5
|
|
delay: 120
|
|
|
|
- name: Add Elasticsearch Repository Key
|
|
apt_key:
|
|
url: https://artifacts.elastic.co/GPG-KEY-elasticsearch
|
|
state: present
|
|
|
|
- name: Add Elasticsearch Repository
|
|
apt_repository:
|
|
repo: deb https://artifacts.elastic.co/packages/7.x/apt stable main
|
|
state: present
|
|
|
|
- name: Remove new Elasticsearch Repository
|
|
apt_repository:
|
|
repo: deb https://artifacts.elastic.co/packages/8.x/apt stable main
|
|
state: absent
|
|
update_cache: true
|
|
|
|
- name: Uninstall newer version of Filebeat
|
|
apt:
|
|
name: filebeat
|
|
state: absent
|
|
register: result
|
|
until: result.failed == false
|
|
retries: 5
|
|
delay: 120
|
|
|
|
- name: Install Filebeat
|
|
apt:
|
|
name: filebeat
|
|
state: latest
|
|
register: result
|
|
until: result.failed == false
|
|
retries: 5
|
|
delay: 120
|
|
|
|
- name: Setup Filebeat
|
|
template:
|
|
src: filebeat.yml
|
|
dest: /etc/filebeat/filebeat.yml
|
|
|
|
- name: Create ProxySQL Module Directory
|
|
file:
|
|
path: /usr/share/filebeat/module/proxysql
|
|
state: directory
|
|
owner: root
|
|
|
|
- name: Setup ProxySQL Module
|
|
synchronize:
|
|
src: 'roles/filebeat/module/proxysql/'
|
|
dest: /usr/share/filebeat/module/proxysql/
|
|
recursive: yes
|
|
archive: false
|
|
use_ssh_args: yes
|
|
|
|
- name: Setup Filebeat Modules
|
|
template:
|
|
src: 'modules.d/{{ item }}.yml'
|
|
dest: '/etc/filebeat/modules.d/{{ item }}.yml'
|
|
loop:
|
|
- 'mysql'
|
|
- 'system'
|
|
- 'nginx'
|
|
- 'proxysql'
|
|
|
|
- name: Enable Filebeat Modules
|
|
command: filebeat modules enable nginx mysql system proxysql
|
|
|
|
- name: Create Filebeat Modules Directory
|
|
file:
|
|
dest: /etc/filebeat/inputs.d
|
|
state: directory
|
|
|
|
- name: Setup Filebeat Inputs
|
|
template:
|
|
src: 'inputs.d/{{ item }}.yml'
|
|
dest: '/etc/filebeat/inputs.d/{{ item }}.yml'
|
|
loop:
|
|
- 'all'
|
|
- 'containers'
|
|
- 'monitor'
|
|
|
|
- name: Restart Filebeat Daemon
|
|
systemd:
|
|
name: filebeat
|
|
daemon_reload: true
|
|
enabled: yes
|
|
state: restarted
|