mircomasa.filebeat
Rôle de Filebeat
Résumé
Ce rôle :
- installe filebeat sur Ubuntu, CentOS, Windows
- copie le fichier de configuration préparé (chemin des journaux, connexion à Elasticsearch, etc.)
Tâches du rôle
- Préparer le serveur (ajouter le dépôt elastic)
- [Optionnel] Créer des dossiers pour les chemins personnalisés
- Installer filebeat
- Copier le fichier de configuration
Exigences
- Version minimale d'ansible pour l'installation : 2.5
- Systèmes d'exploitation pris en charge :
- CentOS
- 6, 7
- Ubuntu
- 16.04, 18.04
- Debian
- 8, 9
- Windows
- CentOS
Variables du rôle
Vous pouvez remplacer toute variable ci-dessous en définissant "variable : valeur" dans le playbook.
filebeat_version
Utilisé pour sélectionner la branche principale de Filebeat à installer (versions stables 5.x ou 6.x). La valeur par défaut est6
.filebeat_last_version
Utilisé pour sélectionner la version spécifique de Filebeat à installer. La valeur par défaut est6.6.0
elastic_gpg_key
Clé GPG du dépôt Elasticsearch. La valeur par défaut esthttps://artifacts.elastic.co/GPG-KEY-elasticsearch
filebeat_node_name
Nom du nœud Filebeat. La valeur par défaut est{{ inventory_hostname }}
. Si cette option n'est pas définie, le nom d'hôte est utilisé.filebeat_ssl_enabled
Active ou désactive la connexion SSL entre filebeat et logstash/elasticsearch. Les options SSL doivent être définies par les champs correspondants comme montré ci-dessous :
ssl:
key: "/etc/pki/tls/private/server.key"
certificate: "/etc/pki/tls/certs/server.crt"
certificate_authorities: "/etc/pki/CA/ca-root.pem"
Dans le cas d'une configuration Windows :
ssl:
key: 'c:\tls\private\server.key'
certificate: 'c:\tls\certs\server.pem'
certificate_authorities: 'c:\CA\ca-root.pem'
La section path
des options de configuration définit où Filebeat cherche ses fichiers. Par exemple, Filebeat cherche le fichier de template Elasticsearch dans le chemin de configuration et écrit les fichiers journaux dans le chemin des journaux. Filebeat recherche ses fichiers de registre dans le chemin de données. Les valeurs par défaut pour les hôtes Linux sont configurées de cette manière :
path:
home: /usr/share/filebeat
config: /etc/filebeat
data: /var/lib/filebeat
logs: /var/log/filebeat
Dans le cas d'une configuration Windows, les chemins par défaut ressemblent à :
path:
home: 'c:\program files\filebeat'
config: 'c:\program files\filebeat'
data: 'c:\programdata\filebeat'
logs: 'c:\programdata\filebeat\logs'
win_download_path
Dossier temporaire pour Windows pour télécharger et décompresser le package Filebeat. La valeur par défaut est'{{ ansible_env.TEMP }}/filebeat'
(la valeur ansible_env.TEMP résout le problème d'idempotence)input_logpath
Chemin vers les fichiers journaux.
La valeur par défaut pour la famille de systèmes d'exploitation *NIX est "/var/log/*.log"
La valeur par défaut pour la famille de systèmes d'exploitation WIN est 'c:\windows\*.log'
La variable filebeat_inputs
définit le type de journaux qui seront traités par le pipeline, leurs chemins de journaux et l'index Elasticsearch qui doit stocker ce type de journaux.
Vous pouvez spécifier plusieurs entrées avec différents chemins, types de journaux et noms d'index en utilisant le format yaml comme dans l'exemple ci-dessous :
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
Personnalisation de la sortie :
filebeat_output
Est utilisé pour configurer quelle sortie utiliser lors de l'envoi de données (elasticsearch
oulogstash
). La valeur par défaut estelasticsearch
filebeat_elasticsearch_output.hosts
Tableau d'hôtes à connecter. La valeur par défaut estlocalhost
filebeat_elasticsearch_output.port
Valeur pour définir un port personnalisé. La valeur par défaut est9200
filebeat_logstash_outputs
Tableau d'hôtes et de ports à connecter. La valeur par défaut estlocalhost:5044
Paramètres de configuration avancés :
La section filebeat(systemd)\initd
des options de configuration définit quel script d'initialisation sera utilisé pour gérer le service filebeat selon le système d'exploitation *nix. Les chemins personnalisés seront pris en compte (si configurés).
filebeat_service_name
Nom du script nssm\init qui gère le service filebeatfilebeat_bulk_max_size
Nombre maximum d'événements à regrouper dans une seule requête Logstash. La valeur par défaut est500
filebeat_worker
Nombre de travailleurs par hôte Elasticsearch. La valeur par défaut est1
filebeat_logging_to_syslog
Envoie toute la sortie de journaux vers syslog. La valeur par défaut estfalse
filebeat_logging_to_files
Envoie toute la sortie de journaux vers des fichiers en rotation. La valeur par défaut esttrue
filebeat_rotateeverybytes
Définit la limite de taille des fichiers journaux. La valeur par défaut est104857600
=100Mo
filebeat_keepfiles
Nombre de fichiers journaux à conserver. La valeur par défaut est30
filebeat_ignore_older
Valeur (toutes les chaînes de temps comme 2h, 5m peuvent être utilisées) au-dessus de laquelle les fichiers seront ignorés. La valeur par défaut est0
(désactivée)filebeat_scan_frequency
Définit la fréquence à laquelle filebeat vérifie les mises à jour de fichiers. La valeur par défaut est15s
filebeat_harvester_buffer_size
Définit la taille du tampon. La valeur par défaut est65535
filebeat_logname
Nom des fichiers de journaux. La valeur par défaut est"filebeat.log"
Dépendances
ca-cert (uniquement pour l'installation avec SSL)
Exemple de Playbook
Installation de Filebeat version 6.x :
- name: Installer filebeat
hosts: all
roles:
- role: ansible-role-filebeat
Installation de Filebeat version 6.x avec chemin personnalisé vers des fichiers journaux et sortie Elasticsearch :
- name: Installer filebeat
hosts: all
roles:
- role: ansible-role-filebeat
vars:
input_logpath: "/var/log/messages"
filebeat_elasticsearch_output:
hosts:
- elasticsearch.example.com
port: 9200
Licence
Apache
Informations sur l'auteur
auteurs:
- Équipe Lean Delivery team@lean-delivery.com
Role for filebeat installation
ansible-galaxy install mircomasa.filebeat