bimdata.graylog
Ansible-Rolle Graylog
Diese Rolle installiert und konfiguriert Graylog.
Diese Rolle geht davon aus, dass du andere Rollen für Elasticsearch, MongoDB, Nginx usw. hast.
Anforderungen
- Du benötigst ein laufendes Elasticsearch-Cluster und ein MongoDB-Cluster.
- Die verwalteten Server müssen in der Lage sein, mit https://packages.graylog2.org/ zu kommunizieren.
- Diese Rolle wurde nur auf Debian 10.x (Buster) getestet.
Rollenvariablen
Diese Rolle versucht, die gleichen Standardkonfigurationen beizubehalten, als würdest du Graylog manuell installieren. Alle Standardwerte sind in ./defaults/main.yml
definiert, du solltest einen Blick darauf werfen.
Wir versuchen, den gleichen Namen für die Ansible-Variable wie den Namen in der Graylog-Konfigurationsdatei zu verwenden, aber mit dem Präfix graylog_
. Weitere Informationen zu jedem Parameter findest du in der Graylog-Dokumentation.
Du musst mindestens zwei Variablen definieren:
graylog_password_secret
: Du solltest den Inhalt mit dem Befehl generieren:pwgen -N 1 -s 96
odertr -cd '[:alnum:]' < /dev/urandom | fold -w96 | head -n1
graylog_root_password_sha2
: Du solltest den Inhalt mit dem Befehl generieren:echo -n dein_passwort | shasum -a 256
(Du musst 'dein_passwort' durch ein tatsächliches Passwort ersetzen!) Oder du kannst die Ansible-Funktionhash()
verwenden:graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
.
Diese Rolle unterstützt auch die Installation von Plugins. Plugins müssen .jar
-Dateien sein, und die verwalteten Hosts müssen in der Lage sein, sie herunterzuladen. Die Prüfziffer ist optional und funktioniert wie der Prüfzifferparameter im Ansible get_url-Modul.
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
Wenn einige deiner Plugins Konfigurationen in der Graylog-Hauptkonfigurationsdatei benötigen, gibt es eine spezielle Variable dafür: graylog_custom_config
. Dies ist ein Wörterbuch, wobei die Schlüssel als Optionsnamen und die Werte als Werte verwendet werden. Zum Beispiel:
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
Das wird am Ende von /etc/graylog/server/server.conf
hinzugefügt:
# Benutzerdefinierte Konfiguration, wenn einige von Plugins benötigt werden.
metrics_prometheus_enabled = True
metrics_prometheus_report_interval = 1m
metrics_prometheus_address = 127.0.0.1:9001
metrics_prometheus_job_name = graylog
Abhängigkeiten
Hier sollte eine Liste von anderen Rollen, die auf Galaxy gehostet werden, sowie alle Details zu Parametern, die für andere Rollen gesetzt werden müssen, oder Variablen, die aus anderen Rollen verwendet werden, eingefügt werden.
Beispiel-Playbook
- hosts: logs-servers
gather_facts: True
become: true
vars:
graylog_password_secret: "OMFPRQwk7Pg7i9Apun5xbuK4ICl0cfNUbZ5QblvmHKnKvnpzbjxtgHIoaSiEmi9XVlbqDhI6d8UqErW2wRiS0uapaHRgW4e"
graylog_root_password_sha2: "4da3376323046a3bb6759f0a3f4ae7100a0567950c53ee42d2e19201baaa6dfc"
# Du kannst Ansible auch bitten, es zu hashen und ein Vault zu verwenden, um das Passwort zu speichern.
# graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
roles:
- role: bimdata.graylog
Lizenz
MIT
Autoreninformationen
ansible-galaxy install bimdata.graylog