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_versionUtilisé pour sélectionner la branche principale de Filebeat à installer (versions stables 5.x ou 6.x). La valeur par défaut est- 6.
- filebeat_last_versionUtilisé pour sélectionner la version spécifique de Filebeat à installer. La valeur par défaut est- 6.6.0
- elastic_gpg_keyClé GPG du dépôt Elasticsearch. La valeur par défaut est- https://artifacts.elastic.co/GPG-KEY-elasticsearch
- filebeat_node_nameNom 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_enabledActive 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_pathDossier 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_logpathChemin 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_outputEst utilisé pour configurer quelle sortie utiliser lors de l'envoi de données (- elasticsearchou- logstash). La valeur par défaut est- elasticsearch
- filebeat_elasticsearch_output.hostsTableau d'hôtes à connecter. La valeur par défaut est- localhost
- filebeat_elasticsearch_output.portValeur pour définir un port personnalisé. La valeur par défaut est- 9200
- filebeat_logstash_outputsTableau d'hôtes et de ports à connecter. La valeur par défaut est- localhost: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_nameNom du script nssm\init qui gère le service filebeat
- filebeat_bulk_max_sizeNombre maximum d'événements à regrouper dans une seule requête Logstash. La valeur par défaut est- 500
- filebeat_workerNombre de travailleurs par hôte Elasticsearch. La valeur par défaut est- 1
- filebeat_logging_to_syslogEnvoie toute la sortie de journaux vers syslog. La valeur par défaut est- false
- filebeat_logging_to_filesEnvoie toute la sortie de journaux vers des fichiers en rotation. La valeur par défaut est- true
- filebeat_rotateeverybytesDéfinit la limite de taille des fichiers journaux. La valeur par défaut est- 104857600=- 100Mo
- filebeat_keepfilesNombre de fichiers journaux à conserver. La valeur par défaut est- 30
- filebeat_ignore_olderValeur (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 est- 0(désactivée)
- filebeat_scan_frequencyDéfinit la fréquence à laquelle filebeat vérifie les mises à jour de fichiers. La valeur par défaut est- 15s
- filebeat_harvester_buffer_sizeDéfinit la taille du tampon. La valeur par défaut est- 65535
- filebeat_lognameNom 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