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 oder tr -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-Funktion hash() 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

BIMData.io

Über das Projekt

This role installs and configures Graylog.

Installieren
ansible-galaxy install bimdata.graylog
GitHub Repository
Lizenz
mit
Downloads
1.4k
Besitzer