geerlingguy.fluentd
Rôle Ansible : Fluentd
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.
Fluentd for Linux.
ansible-galaxy install geerlingguy.fluentd