javiergayala.filebeat
Ansible Rolle: Filebeat
Installiert Filebeat auf RedHat/CentOS.
Diese Rolle installiert und konfiguriert die neueste Version von Filebeat (6.x) aus dem offiziellen Elastic.co Repo.
Anforderungen
Keine.
Rollenvariablen
Standardwerte (siehe defaults/main.yml
):
es_major_version: "6.x"
Die Version von Filebeat sollte immer mit der Version von Elasticsearch in deinem ELK-Stack übereinstimmen. Dies stellt die Hauptversion von Elasticsearch dar.
es_use_repository: undefined
Dieser Wert ist in der Rolle nicht definiert. Ich habe ihn hier dokumentiert, weil er normalerweise in der Rolle elastic.elasticsearch von Elastic.co definiert wird. Wenn du diese Filebeat-Rolle zusammen mit der Rolle elastic.elasticsearch
installierst, wird diese Rolle normalerweise das Repository für dich installieren. Wenn diese Filebeat-Rolle ebenfalls das Repository installiert, kann dies das Repo-File leicht ändern, was dazu führen kann, dass die Rolle kein idempotentes Ergebnis mehr produziert. Wenn du jedoch der Rolle elastic.elasticsearch
sagst, dass sie das Repository NICHT installieren soll, wird diese Filebeat-Rolle das Repository installieren, um auf die Software zuzugreifen.
es_version: "6.2.3"
Die vollständige Versionsnummer von Elasticsearch/Filebeat.
filebeat_create_config: "true"
Ob die Rolle die Filebeat-Konfigurationsdatei erstellen darf oder nicht.
filebeat_enabled: "yes"
Dies definiert, ob der Filebeat-Dienst beim Booten aktiviert werden soll.
filebeat_repo_key: 'https://artifacts.elastic.co/GPG-KEY-elasticsearch'
Die URL zum PGP-Schlüssel, der für das Elastic.co Repository verwendet wird.
filebeat_run_state: started
Dies definiert, ob der Filebeat-Dienst gestartet werden soll.
filebeat_config_content:
filebeat.prospectors:
- type: log
enabled: "true"
paths:
- "/var/log/*.log"
filebeat.config.modules:
reload.enabled: "false"
path: "{{ filebeat_modules_dir }}/*.yml"
setup.template.settings:
index.number_of_shards: 3
output.elasticsearch:
hosts:
- "localhost:9200"
Die Variable filebeat_config_content
ist ein Wörterbuch, das die grundlegende Konfiguration von Filebeat enthält. Der Wert dieser Variable wird verwendet, um die Datei filebeat.yml
zu populieren. Die typischen Schlüssel, die du definieren möchtest, sind:
filebeat.prospectors
filebeat.config.modules
setup.template.settings
- Die Ausgabe (d.h.
output.elasticsearch
oderoutput.logstash
)
filebeat_module_config: {}
Die Variable filebeat_module_config
ist ein Wörterbuch ähnlich zu filebeat_config_content
, wird jedoch verwendet, um die Konfigurationsdateien für die Filebeat-Module zu erstellen. Der Schlüssel des Wörterbuchs ist der Name des Moduls, das du aktivieren möchtest, und der Inhalt dieses Schlüssels ist seinerseits ein Wörterbuch, das die Konfiguration für das Modul enthält.
Beispielsweise:
filebeat_module_config:
system:
syslog:
enabled: "true"
auth:
enabled: "true"
RedHat-spezifische Werte (siehe vars/filebeat-RedHat.yml
)
filebeat_home: /usr/share/filebeat
Der Pfad, wo Filebeat installiert ist.
filebeat_bin_dir: "{{ filebeat_home }}/bin"
Der Pfad, wo die Filebeat-Binärdatei installiert ist.
filebeat_config_dir: "/etc/filebeat"
Der Pfad zum Konfigurationsverzeichnis von Filebeat.
filebeat_config_file: "{{ filebeat_config_dir }}/filebeat.yml"
Der vollständige Pfad zu der Konfigurationsdatei von Filebeat.
filebeat_modules_dir: "{{ filebeat_config_dir }}/modules.d"
Der Pfad, wo die Module-Konfiguration von Filebeat gespeichert ist.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: servers
roles:
- role: javiergayala.filebeat
filebeat_module_config:
system:
syslog:
enabled: "true"
auth:
enabled: "true"
Lizenz
BSD
Autor Informationen
Diese Rolle wurde 2018 von Javier Ayala erstellt.
Filebeat installation for RedHat Family systems.
ansible-galaxy install javiergayala.filebeat