elastalert
Ansible Роль: ElastAlert
Эта роль предназначена для установки и настройки ElastAlert вместе с конфигурацией оповещений, определенной пользователем.
История Версий
Дата | Версия | Описание | Изменено |
---|---|---|---|
27 июня 2020 | v0.0.1 | Первоначальный черновик | Ашутош Мишра |
11 января 2021 | v0.0.2 | Обновление управления правилами | Пол Беллок @NanoPish для https://perfmaker.com/ |
Основные Особенности
- Эта роль автоматизирует настройку оповещений с использованием ElastAlert. В этой роли можно прикреплять файлы правил ElastAlert.
Поддерживаемые ОС
- Ubuntu bionic
- Ubuntu xenial
Требования
- python3
- python-pip3
- PyYAML
- setuptools
Зависимости
- Elasticsearch
Структура Директорий
├── README.md
├── defaults
│ └── main.yml
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── tasks
│ ├── install.yml
│ ├── main.yml
│ └── service.yml
├── templates
│ ├── config.yaml.j2
│ └── elastalert-systemd.service.j2
├── tests
│ ├── inventory
│ └── test.yml
└── vars
└── main.yml
7 директорий, 12 файлов
Переменные Роли
Переменные | Значения по умолчанию | Описание | Тип |
---|---|---|---|
host_name | localhost | хост Elasticsearch | Обязательно |
es_port | 9200 | порт Elasticsearch | Обязательно |
elastalert_rules_dir | /opt/elastalert/rules | Директория для правил ElastAlert | Обязательно |
elastalert_upload_local_rules_dir | files/elastalert/rules | Директория для загрузки правил на машине Ansible. Используйте False, если хотите загрузить вручную | Обязательно, если хотите, чтобы роль загружала правила из elastalert_upload_local_rules_dir на машине an ansible в elastalert_rules_dir на машине elastalert |
elastalert_delete_rules_not_in_elastalert_upload_local_rules_dir | yes | Удалит правила, которые отсутствуют в elastalert_upload_local_rules_dir | Обязательно, если хотите удалить правила на машине elastalert, которых нет в elastalert_upload_local_rules_dir на машине ansible |
elastalert_service_user_name | elastalert | имя пользователя ElastAlert | Обязательно |
elastalert_service_group_name | elastalert | имя группы ElastAlert | Обязательно |
elastalert_data_dir | /opt | Директория для данных | Обязательно |
installation_dir | /opt | Директория установки ElastAlert | Обязательно |
elastalert_version | 0.2.1 | версия ElastAlert | Обязательно |
es_user | elastic | имя пользователя Elasticsearch | Обязательно, если есть аутентификация в ES |
es_pass | password | пароль Elasticsearch | Обязательно, если есть аутентификация в ES |
use_ssl | False | использование SSL | Не обязательно (только если вам нужен SSL) |
verify_certs | False | проверка сертификатов | Не обязательно (только если вам нужен SSL и вы хотите проверить сертификаты) |
client_cert | /opt/elastalert/clientcert.cer | ssl сертификат | Не обязательно (только если вам нужен SSL) |
client_key | /opt/elastalert/clientcert.key | ssl ключ сертификата | Не обязательно (только если вам нужен SSL) |
Пример playbook
Простой пример
---
- name: Автоматизация настройки ElastAlert
hosts: elastalert
roles:
- role: osm_elastalert
es_pass: password
host_name: "ваш IP или домен Elasticsearch"
...
С HTTP аутентификацией ElasticSearch + SSL + конкретной локальной директорией правил ElastAlert + вебхуком slack
---
- name: Автоматизация настройки ElastAlert
hosts: elastalert
roles:
- role: osm_elastalert
es_pass: password
use_ssl: True
client_cert: /opt/elastalert/clientcert.cer
client_key: /opt/elastalert/clientcert.key
slack_webhook_url: "https://hooks.slack.com/services/ваш_webhook_url"
host_name: "ваш IP или домен Elasticsearch"
elastalert_upload_local_rules_dir: files/elastalert/cluster_one_elastalert_rules/
...
Запуск всех задач
$ ansible-playbook site.yml -i inventory
Запуск только задач, связанных с загрузкой и удалением правил, для синхронизации содержимого директории правил elastalert с локальным содержимым директории правил ansible
$ ansible-playbook site.yml --tags elastalert,elastalert-rules
Инвентарь
Инвентарь должен выглядеть так:-
[server]
192.xxx.x.xxx ansible_user=ubuntu
Будущие Предлагаемые Изменения
- Обновление elastalert для centos 6, 7 также.
Ссылки
Информация об Авторе
Имя: Ашутош Мишра
Email: [email protected]
Установить
ansible-galaxy install OT-OSM/elastalert
Лицензия
Unknown
Загрузки
65
Владелец