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 lub tr -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 funkcji hash() 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

BIMData.io

O projekcie

This role installs and configures Graylog.

Zainstaluj
ansible-galaxy install bimdata.graylog
Licencja
mit
Pobrania
1.4k
Właściciel