mircomasa.filebeat

Rôle de Filebeat

Licence Statut de construction Statut de construction Galaxy Ansible Ansible

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

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 est 6.
  • filebeat_last_version Utilisé pour sélectionner la version spécifique de Filebeat à installer. La valeur par défaut est 6.6.0
  • elastic_gpg_key Clé GPG du dépôt Elasticsearch. La valeur par défaut est https://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 ou logstash). La valeur par défaut est elasticsearch

  • filebeat_elasticsearch_output.hosts Tableau d'hôtes à connecter. La valeur par défaut est localhost

  • filebeat_elasticsearch_output.port Valeur pour définir un port personnalisé. La valeur par défaut est 9200

  • filebeat_logstash_outputs Tableau 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_name Nom du script nssm\init qui gère le service filebeat

  • filebeat_bulk_max_size Nombre maximum d'événements à regrouper dans une seule requête Logstash. La valeur par défaut est 500

  • filebeat_worker Nombre de travailleurs par hôte Elasticsearch. La valeur par défaut est 1

  • filebeat_logging_to_syslog Envoie toute la sortie de journaux vers syslog. La valeur par défaut est false

  • filebeat_logging_to_files Envoie toute la sortie de journaux vers des fichiers en rotation. La valeur par défaut est true

  • filebeat_rotateeverybytes Définit la limite de taille des fichiers journaux. La valeur par défaut est 104857600 = 100Mo

  • filebeat_keepfiles Nombre de fichiers journaux à conserver. La valeur par défaut est 30

  • 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 est 0 (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 est 15s

  • filebeat_harvester_buffer_size Définit la taille du tampon. La valeur par défaut est 65535

  • 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:

À propos du projet

Role for filebeat installation

Installer
ansible-galaxy install mircomasa.filebeat
Licence
apache-2.0
Téléchargements
3.7k
Propriétaire