bimdata.graylog
Rôle Ansible Graylog
Ce rôle installe et configure Graylog.
Ce rôle suppose que vous avez d'autres rôles pour Elasticsearch, MongoDB, Nginx, etc.
Exigences
- Vous avez besoin d'un cluster Elasticsearch en fonctionnement et d'un cluster MongoDB.
- Les serveurs gérés doivent pouvoir communiquer avec https://packages.graylog2.org/.
- Ce rôle n'est testé que sur Debian 10.x (Buster).
Variables de rôle
Ce rôle essaie de garder la même configuration par défaut que si vous installiez
Graylog manuellement. Tous les valeurs par défaut sont définies dans ./defaults/main.yml
, vous voudrez peut-être
le consulter.
Nous essayons de garder le même nom pour la variable Ansible que le nom dans le fichier
de configuration de Graylog, mais avec le préfixe graylog_
. Vous pouvez trouver plus d'informations
sur chaque paramètre dans la documentation de Graylog.
Vous devez définir au moins deux variables :
graylog_password_secret
: vous devriez générer son contenu avec la commande :pwgen -N 1 -s 96
outr -cd '[:alnum:]' < /dev/urandom | fold -w96 | head -n1
graylog_root_password_sha2
: vous devez générer son contenu avec la commande :echo -n votre_mot_de_passe | shasum -a 256
(Vous devez remplacer 'votre_mot_de_passe' par un mot de passe réel !)
Ou vous pouvez utiliser la fonctionhash()
d'Ansible :graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
.
Ce rôle prend également en charge l'installation de plugins. Les plugins doivent être des fichiers .jar
,
et les hôtes gérés doivent pouvoir les télécharger. Le checksum est optionnel et fonctionne
comme le paramètre de checksum dans le module Ansible get_url.
graylog_plugins:
- url: https://github.com/graylog-labs/graylog-plugin-metrics-reporter/releases/download/3.0.0/metrics-reporter-prometheus-3.0.0.jar
checksum: sha256:383eac2135baf248b5a0828a9e305130a2ab863b07afeef30cba00be05fc7cf9
Si certains de vos plugins nécessitent une configuration dans le fichier de configuration principal de Graylog, il y a
une variable spéciale pour cela graylog_custom_config
. C'est un dictionnaire, les clés sont utilisées
comme noms d'options et les valeurs comme valeurs. Par exemple :
graylog_custom_config:
metrics_prometheus_enabled: true
metrics_prometheus_report_interval: 1m
metrics_prometheus_address: 127.0.0.1:9001
metrics_prometheus_job_name: graylog
ajoutera à la fin de /etc/graylog/server/server.conf
:
# Configuration personnalisée, si certains sont nécessaires par les plugins.
metrics_prometheus_enabled = True
metrics_prometheus_report_interval = 1m
metrics_prometheus_address = 127.0.0.1:9001
metrics_prometheus_job_name = graylog
Dépendances
Une liste d'autres rôles hébergés sur Galaxy devrait aller ici, ainsi que tous les détails concernant les paramètres qui pourraient devoir être définis pour d'autres rôles, ou les variables utilisées par d'autres rôles.
Exemple de Playbook
- hosts: logs-servers
gather_facts: True
become: true
vars:
graylog_password_secret: "OMFPRQwk7Pg7i9Apun5xbuK4ICl0cfNUbZ5QblvmHKnKvnpzbjxtgHIoaSiEmi9XVlbqDhI6d8UqErW2wRiS0uapaHRgW4e"
graylog_root_password_sha2: "4da3376323046a3bb6759f0a3f4ae7100a0567950c53ee42d2e19201baaa6dfc"
# Vous pouvez aussi demander à Ansible de le hacher et d'utiliser un coffre-fort pour stocker le mot de passe.
# graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
roles:
- role: bimdata.graylog
Licence
MIT
Informations sur l'auteur
ansible-galaxy install bimdata.graylog