geerlingguy.fluentd

Ansible Rolle: Fluentd

CI

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.

Installieren
ansible-galaxy install geerlingguy.fluentd
Lizenz
mit
Downloads
123.9k
Besitzer
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns