graylog
Роль Ansible для Graylog
Эта роль устанавливает и настраивает Graylog.
Предполагается, что у вас уже есть другие роли для Elasticsearch, MongoDB, Nginx и др.
Требования
- Вам нужен работающий кластер Elasticsearch и кластер MongoDB.
- Управляемые серверы должны иметь возможность общаться с https://packages.graylog2.org/.
- Эта роль протестирована только на Debian 10.x (Buster).
Переменные роли
Эта роль старается сохранить ту же конфигурацию по умолчанию, как если бы вы вручную устанавливали Graylog. Все значения по умолчанию определены в ./defaults/main.yml
, вам следует с ним ознакомиться. Мы стараемся сохранить те же названия для переменных Ansible, что и названия в конфигурационном файле Graylog, но с префиксом graylog_
. Вы можете получить больше информации о каждом параметре в документации Graylog.
Вы должны определить как минимум две переменные:
graylog_password_secret
: вы должны сгенерировать его содержимое с помощью команды:pwgen -N 1 -s 96
илиtr -cd '[:alnum:]' < /dev/urandom | fold -w96 | head -n1
graylog_root_password_sha2
: вам нужно сгенерировать его содержимое с помощью команды:echo -n your_password | shasum -a 256
(Вы должны заменить 'your_password' на фактический пароль!)
Или вы можете использовать функцию Ansiblehash()
:graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
.
Эта роль также поддерживает установку плагинов. Плагины должны быть файлами с расширением .jar
, а управляемые хосты должны иметь возможность их загружать. Проверка контрольной суммы является необязательной и работает
как параметр проверки контрольной суммы в модуле get_url Ansible.
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
Если некоторые из ваших плагинов нуждаются в конфигурации в основном конфигурационном файле Graylog, есть
специальная переменная для этого graylog_custom_config
. Это словарь, ключи используются
в качестве названий параметров, а значения — как значения. Например:
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
добавит в конец файла /etc/graylog/server/server.conf
:
# Пользовательская конфигурация, если она необходима для плагинов.
metrics_prometheus_enabled = True
metrics_prometheus_report_interval = 1m
metrics_prometheus_address = 127.0.0.1:9001
metrics_prometheus_job_name = graylog
Зависимости
Список других ролей, размещенных на Galaxy, должен быть здесь, а также любые детали относительно параметров, которые могут потребоваться для других ролей, или переменных, используемых из других ролей.
Пример плейбука
- hosts: logs-servers
gather_facts: True
become: true
vars:
graylog_password_secret: "OMFPRQwk7Pg7i9Apun5xbuK4ICl0cfNUbZ5QblvmHKnKvnpzbjxtgHIoaSiEmi9XVlbqDhI6d8UqErW2wRiS0uapaHRgW4e"
graylog_root_password_sha2: "4da3376323046a3bb6759f0a3f4ae7100a0567950c53ee42d2e19201baaa6dfc"
# Вы также можете попросить Ansible захэшировать его и использовать хранилище для пароля.
# graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
roles:
- role: bimdata.graylog
Лицензия
MIT
Информация об авторе
ansible-galaxy install bimdata/ansible_role_graylog