mircomasa.filebeat

Filebeat Rolle

Lizenz Build-Status Build-Status Galaxy Ansible Ansible

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

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 ist 6.
  • filebeat_last_version Wird verwendet, um eine bestimmte Filebeat-Version auszuwählen, die installiert werden soll. Standardwert ist 6.6.0
  • elastic_gpg_key GPG-Schlüssel aus dem Elasticsearch-Repository. Standardwert ist https://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 oder logstash). Standardwert ist elasticsearch.

  • filebeat_elasticsearch_output.hosts Array von Hosts, zu denen eine Verbindung hergestellt werden soll. Standardwert ist localhost.

  • filebeat_elasticsearch_output.port Wert zum Festlegen eines benutzerdefinierten Ports. Standardwert ist 9200.

  • filebeat_logstash_outputs Array von Hosts und Ports, zu denen eine Verbindung hergestellt werden soll. Standardwert ist localhost: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 ist 500.

  • filebeat_worker Anzahl der Worker pro Elasticsearch-Host. Standardwert ist 1.

  • filebeat_logging_to_syslog Sendet alle Logging-Ausgaben an Syslog. Standardwert ist false.

  • filebeat_logging_to_files Sendet alle Logging-Ausgaben an rotierende Dateien. Standardwert ist true.

  • filebeat_rotateeverybytes Legt die Größenbegrenzung für Logdateien fest. Standardwert ist 104857600 = 100MB.

  • filebeat_keepfiles Anzahl der zu behaltenden Logdateien. Standardwert ist 30.

  • filebeat_ignore_older Wert (es können Zeitstrings wie 2h, 5m verwendet werden), über dem Dateien ignoriert werden. Standardwert ist 0 (deaktiviert).

  • filebeat_scan_frequency Definiert, wie oft Filebeat auf Dateiaktualisierungen prüft. Standardwert ist 15s.

  • filebeat_harvester_buffer_size Definiert die Pufferspeichergröße. Standardwert ist 65535.

  • 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:

Installieren
ansible-galaxy install mircomasa.filebeat
GitHub Repository
Lizenz
apache-2.0
Downloads
3.7k
Besitzer