geerlingguy.fluentd

Rôle Ansible : Fluentd

CI

Un rôle Ansible qui installe Fluentd sur RedHat/CentOS ou Debian/Ubuntu. Ce rôle installe td-agent, qui est une version autonome n'exigeant pas l'installation séparée de Ruby sur le système. Voir les différences entre td-agent et Fluentd ici.

Exigences

Aucune

Variables du Rôle

Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml):

fluentd_version: 3

La version de td-agent à installer. Voir plus de détails sur les différences entre v2, v3 et v4.

fluentd_package_state: present

L'état du paquet Fluentd td-agent ; régler sur latest pour mettre à jour ou changer de version.

fluentd_service_name: td-agent
fluentd_service_state: started
fluentd_service_enabled: true

Contrôle les options du service Fluentd.

fluentd_plugins:
  - fluent-plugin-elasticsearch

# Format alternatif :
fluentd_plugins:
  - name: fluent-plugin-elasticsearch
    version: '4.0.6'
    state: present

Une liste de plugins Fluentd à installer.

fluentd_conf_sources: |
  [voir defaults/main.yml pour le contenu par défaut]

fluentd_conf_filters: |
  [voir defaults/main.yml pour le contenu par défaut]

fluentd_conf_matches: |
  [voir defaults/main.yml pour le contenu par défaut]

La configuration qui sera placée dans le fichier td-agent.conf, qui contrôle comment Fluentd écoute, filtre et dirige les données de journal. Les valeurs par défaut configurent quelques options basiques pouvant diriger les données vers Treasure Data, mais vous devriez remplacer ces valeurs par celles appropriées pour vos journaux.

Par exemple, si vous souhaitez surveiller le journal d'accès d'un serveur HTTP Apache, vous ajouteriez une source :

fluentd_conf_sources: |
  <source>
    @type tail
    @id input_tail
    <parse>
      @type apache2
    </parse>
    path /var/log/httpd-access.log
    tag apache.access
  </source>

Et ensuite, vous pourriez diriger les entrées de journal apache vers Elasticsearch en utilisant :

fluentd_conf_matches: |
  <match apache.**>
    @type elasticsearch
    host log.example.com
    port 9200
    user myuser
    password mypassword
    logstash_format true
  </match>

Notez qu'Elasticsearch nécessiterait que le plugin Fluentd fluent-plugin-elasticsearch soit installé.

Dépendances

Aucune

Exemples de 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

Licence

MIT / BSD

Informations sur l'Auteur

Ce rôle a été créé en 2020 par Jeff Geerling, auteur de Ansible for DevOps.

Installer
ansible-galaxy install geerlingguy.fluentd
Licence
mit
Téléchargements
123.9k
Propriétaire
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns