geerlingguy.fluentd
Ansible Rolle: Fluentd
Eine Ansible Rolle, die Fluentd auf RedHat/CentOS oder Debian/Ubuntu installiert. Diese Rolle installiert td-agent
, eine eigenständige Version, die nicht erfordert, dass Ruby separat auf dem System installiert wird. Siehe Unterschiede zwischen td-agent und Fluentd hier.
Anforderungen
Nicht zutreffend
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml
):
fluentd_version: 3
Die zu installierende Version von td-agent
. Weitere Details zu den Unterschieden zwischen v2, v3 und v4.
fluentd_package_state: present
Der Zustand des td-agent
Fluentd-Pakets; auf latest
einstellen, um zu aktualisieren oder Versionen zu ändern.
fluentd_service_name: td-agent
fluentd_service_state: started
fluentd_service_enabled: true
Steuert die Optionen für den Fluentd-Dienst.
fluentd_plugins:
- fluent-plugin-elasticsearch
# Alternative Format:
fluentd_plugins:
- name: fluent-plugin-elasticsearch
version: '4.0.6'
state: present
Eine Liste von Fluentd-Plugins, die installiert werden sollen.
fluentd_conf_sources: |
[siehe defaults/main.yml für Standardinhalte]
fluentd_conf_filters: |
[siehe defaults/main.yml für Standardinhalte]
fluentd_conf_matches: |
[siehe defaults/main.yml für Standardinhalte]
Die Konfiguration, die in die Datei td-agent.conf
eingegeben wird und steuert, wie Fluentd Protokolldaten empfängt, filtert und weiterleitet. Die Standards richten einige grundlegende Optionen ein, die Daten an Treasure Data weiterleiten können, aber Sie sollten diese Werte mit den für Ihre Protokolle geeigneten Werten überschreiben.
Zum Beispiel, wenn Sie das Zugriffsprotokoll eines Apache HTTP-Servers überwachen möchten, würden Sie eine Quelle hinzufügen:
fluentd_conf_sources: |
<source>
@type tail
@id input_tail
<parse>
@type apache2
</parse>
path /var/log/httpd-access.log
tag apache.access
</source>
Und dann könnten Sie apache
Protokolleinträge an Elasticsearch weiterleiten mit:
fluentd_conf_matches: |
<match apache.**>
@type elasticsearch
host log.example.com
port 9200
user myuser
password mypassword
logstash_format true
</match>
Beachten Sie, dass Elasticsearch das Fluentd-Plugin fluent-plugin-elasticsearch
benötigt, das installiert sein muss.
Abhängigkeiten
Nicht zutreffend
Beispiel Playbook
- hosts: search
vars:
fluentd_conf_sources: |
<source>
@type tail
@id input_tail
<parse>
@type apache2
</parse>
path /var/log/httpd-access.log
tag apache.access
</source>
roles:
- geerlingguy.fluentd
Lizenz
MIT / BSD
Autorinformationen
Diese Rolle wurde 2020 von Jeff Geerling erstellt, dem Autor von Ansible for DevOps.
Fluentd for Linux.
ansible-galaxy install geerlingguy.fluentd