mircomasa.filebeat
Filebeat Rolle
Zusammenfassung
Diese Rolle:
- installiert Filebeat auf Ubuntu, CentOS, Windows
- kopiert die vorbereitete Konfigurationsdatei (Log-Pfad, Verbindung zu Elasticsearch usw.)
Rollenaufgaben
- Server vorbereiten (Elasticsearch-Repo hinzufügen)
- [Optional] Ordner für benutzerdefinierte Pfade erstellen
- Filebeat installieren
- Konfigurationsdatei kopieren
Anforderungen
- Minimale Ansible-Version zur Installation: 2.5
- Unterstützte Betriebssysteme:
- CentOS
- 6, 7
- Ubuntu
- 16.04, 18.04
- Debian
- 8, 9
- Windows
- CentOS
Rollenvariablen
Sie können jede Variable unten überschreiben, indem Sie "variable: value" in der Playbook-Datei festlegen.
filebeat_version
Wird verwendet, um den Haupt-Filebeat-Zweig auszuwählen, der installiert werden soll (5.x oder 6.x aktuelle stabile Versionen). Standardwert ist6
.filebeat_last_version
Wird verwendet, um eine bestimmte Filebeat-Version auszuwählen, die installiert werden soll. Standardwert ist6.6.0
elastic_gpg_key
GPG-Schlüssel aus dem Elasticsearch-Repository. Standardwert isthttps://artifacts.elastic.co/GPG-KEY-elasticsearch
filebeat_node_name
Name des Filebeat-Knotens. Standardwert ist{{ inventory_hostname }}
. Wenn diese Option nicht definiert ist, wird der Hostname verwendet.filebeat_ssl_enabled
Aktiviert/deaktiviert die SSL-Verbindung zwischen Filebeat und Logstash/Elasticsearch. SSL-Optionen sollten durch die entsprechenden Dict-Felder festgelegt werden, wie unten gezeigt:
ssl:
key: "/etc/pki/tls/private/server.key"
certificate: "/etc/pki/tls/certs/server.crt"
certificate_authorities: "/etc/pki/CA/ca-root.pem"
im Fall einer Windows-Installation:
ssl:
key: 'c:\tls\private\server.key'
certificate: 'c:\tls\certs\server.pem'
certificate_authorities: 'c:\CA\ca-root.pem'
Der Abschnitt path
der Konfigurationsoptionen definiert, wo Filebeat nach seinen Dateien sucht. Zum Beispiel sucht Filebeat nach der Elasticsearch-Vorlagendatei im Konfigurationspfad und schreibt Logdateien im Log-Pfad. Filebeat sucht seine Registrierungsdateien im Datenpfad. Standardwerte für Linux-Hosts sind wie folgt festgelegt:
path:
home: /usr/share/filebeat
config: /etc/filebeat
data: /var/lib/filebeat
logs: /var/log/filebeat
im Fall einer Windows-Installation sehen die Standardpfade wie folgt aus:
path:
home: 'c:\program files\filebeat'
config: 'c:\program files\filebeat'
data: 'c:\programdata\filebeat'
logs: 'c:\programdata\filebeat\logs'
win_download_path
Temporäres Verzeichnis für Windows, um das Filebeat-Paket herunterzuladen und zu entpacken. Standardwert ist'{{ ansible_env.TEMP }}/filebeat'
(der Wert ansible_env.TEMP löst das Idempotenzproblem).input_logpath
Pfad zu Logdateien.
Standardwert für *NIX-Betriebssysteme ist "/var/log/*.log"
Standardwert für WIN-Betriebssysteme ist 'c:\windows\*.log'
Die Variable filebeat_inputs
definiert, welche Art von Logs von der Pipeline verarbeitet werden, ihre Log-Pfade und den Elasticsearch-Index, der diese Art von Logs speichern soll.
Sie können mehrere Eingaben mit verschiedenen Pfaden, Logtypen und Indexnamen im YAML-Format wie im folgenden Beispiel angeben:
filebeat_inputs:
- name: hybris
paths:
- '/var/log/console*.log'
fields:
logtype: hybris
index_name: hybris-console
- name: access
paths:
- '/var/log/access*.log'
- '/var/log/nginx_access*.log'
fields:
logtype: access
index_name: nginx-access
Ausgabe-Anpassung:
filebeat_output
Wird verwendet, um zu konfigurieren, welche Ausgabe verwendet werden soll, wenn Daten gesendet werden (elasticsearch
oderlogstash
). Standardwert istelasticsearch
.filebeat_elasticsearch_output.hosts
Array von Hosts, zu denen eine Verbindung hergestellt werden soll. Standardwert istlocalhost
.filebeat_elasticsearch_output.port
Wert zum Festlegen eines benutzerdefinierten Ports. Standardwert ist9200
.filebeat_logstash_outputs
Array von Hosts und Ports, zu denen eine Verbindung hergestellt werden soll. Standardwert istlocalhost:5044
.
Erweiterte Konfigurationsparameter:
Der Abschnitt filebeat(systemd)\initd
der Konfigurationsoptionen definiert, welches Initiationsskript verwendet wird, um den Filebeat-Dienst je nach *nix OS zu verwalten. Benutzerdefinierte Pfade werden berücksichtigt (wenn konfiguriert).
filebeat_service_name
Name des nssm\init-Skripts, das den Filebeat-Dienst verwaltet.filebeat_bulk_max_size
Maximale Anzahl von Ereignissen, die in einer einzelnen Logstash-Anfrage gesammelt werden können. Standardwert ist500
.filebeat_worker
Anzahl der Worker pro Elasticsearch-Host. Standardwert ist1
.filebeat_logging_to_syslog
Sendet alle Logging-Ausgaben an Syslog. Standardwert istfalse
.filebeat_logging_to_files
Sendet alle Logging-Ausgaben an rotierende Dateien. Standardwert isttrue
.filebeat_rotateeverybytes
Legt die Größenbegrenzung für Logdateien fest. Standardwert ist104857600
=100MB
.filebeat_keepfiles
Anzahl der zu behaltenden Logdateien. Standardwert ist30
.filebeat_ignore_older
Wert (es können Zeitstrings wie 2h, 5m verwendet werden), über dem Dateien ignoriert werden. Standardwert ist0
(deaktiviert).filebeat_scan_frequency
Definiert, wie oft Filebeat auf Dateiaktualisierungen prüft. Standardwert ist15s
.filebeat_harvester_buffer_size
Definiert die Pufferspeichergröße. Standardwert ist65535
.filebeat_logname
Name der Logdateien. Standardwert ist"filebeat.log"
.
Abhängigkeiten
ca-cert (nur für Installation mit SSL).
Beispiel-Playbook
Installieren der Filebeat 6.x-Version:
- name: Filebeat installieren
hosts: all
roles:
- role: ansible-role-filebeat
Installieren der Filebeat 6.x-Version mit benutzerdefiniertem Pfad zu Logdateien und ElasticSearch-Ausgabe:
- name: Filebeat installieren
hosts: all
roles:
- role: ansible-role-filebeat
vars:
input_logpath: "/var/log/messages"
filebeat_elasticsearch_output:
hosts:
- elasticsearch.example.com
port: 9200
Lizenz
Apache
Autor Informationen
Autoren:
- Lean Delivery Team team@lean-delivery.com
Role for filebeat installation
ansible-galaxy install mircomasa.filebeat