bimdata.graylog
Rola Ansible Graylog
Ta rola instaluje i konfiguruje Graylog.
Zakłada ona, że posiadasz inne role dla Elasticsearch, MongoDB, Nginx itd.
Wymagania
- Musisz mieć działający klaster Elasticsearch oraz klaster MongoDB.
- Zarządzane serwery muszą mieć możliwość komunikacji z https://packages.graylog2.org/.
- Ta rola była testowana tylko na Debianie 10.x (Buster).
Zmienne roli
Ta rola stara się zachować takie same domyślne ustawienia, jak przy ręcznej instalacji
Grayloga. Wszystkie domyślne wartości są zdefiniowane w ./defaults/main.yml
, warto to sprawdzić.
Staramy się zachować tę samą nazwę dla zmiennej Ansible, co nazwa w pliku konfiguracyjnym Grayloga, ale z prefiksem graylog_
. Więcej informacji na temat każdego parametru znajdziesz w dokumentacji Grayloga.
Musisz zdefiniować przynajmniej dwie zmienne:
graylog_password_secret
: powinieneś wygenerować jej zawartość za pomocą polecenia:pwgen -N 1 -s 96
lubtr -cd '[:alnum:]' < /dev/urandom | fold -w96 | head -n1
graylog_root_password_sha2
: powinieneś wygenerować jej zawartość za pomocą polecenia:echo -n twoje_hasło | shasum -a 256
(Musisz zastąpić 'twoje_hasło' rzeczywistym hasłem!)
Lub możesz skorzystać z funkcjihash()
Ansible:graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
.
Ta rola wspiera także instalację wtyczek. Wtyczki muszą być plikami .jar
, a zarządzane hosty muszą mieć możliwość ich pobrania. Suma kontrolna jest opcjonalna i działa jak parametr suma kontrolna w 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
Jeśli niektóre z Twoich wtyczek wymagają konfiguracji w głównym pliku konfiguracyjnym Grayloga, istnieje specjalna zmienna graylog_custom_config
. Jest to słownik, w którym klucze używane są jako nazwy opcji, a wartości jako wartości. Na przykład:
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
zostanie dodane na końcu pliku /etc/graylog/server/server.conf
:
# Konfiguracja niestandardowa, jeśli niektóre są wymagane przez wtyczki.
metrics_prometheus_enabled = True
metrics_prometheus_report_interval = 1m
metrics_prometheus_address = 127.0.0.1:9001
metrics_prometheus_job_name = graylog
Zależności
Lista innych ról dostępnych w Galaxy powinna znajdować się tutaj, wraz ze szczegółami dotyczącymi parametrów, które mogą wymagać ustawienia dla innych ról, lub zmiennych używanych z innych ról.
Przykładowy Playbook
- hosts: logs-servers
gather_facts: True
become: true
vars:
graylog_password_secret: "OMFPRQwk7Pg7i9Apun5xbuK4ICl0cfNUbZ5QblvmHKnKvnpzbjxtgHIoaSiEmi9XVlbqDhI6d8UqErW2wRiS0uapaHRgW4e"
graylog_root_password_sha2: "4da3376323046a3bb6759f0a3f4ae7100a0567950c53ee42d2e19201baaa6dfc"
# Możesz także poprosić Ansible, aby go hashował i użyć sejfu do przechowywania hasła.
# graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
roles:
- role: bimdata.graylog
Licencja
MIT
Informacje o autorze
ansible-galaxy install bimdata.graylog