opstree_devops.elastalert

https://galaxy.ansible.com/opstree_devops/elastalert autorstwa Ashutosha Mishry.

Rola Ansible: ElastAlert

Ta rola służy do instalacji i konfiguracji elastalert wraz z odpowiednimi alertami definiowanymi przez użytkownika.

Historia wersji

Data Wersja Opis Zmiany dokonane przez
27 czerwca 2020 v0.0.1 Wersja początkowa Ashutosh Mishra
11 stycznia 2021 v0.0.2 Aktualizacja zarządzania regułami Paul Belloc @NanoPish dla https://perfmaker.com/

Najważniejsze funkcje

  • Ta rola automatyzuje konfigurację alertów za pomocą ElastAlert. W tej roli można dołączyć pliki reguł elastalert.

Obsługiwane systemy operacyjne

  • Ubuntu bionic
  • Ubuntu xenial

Wymagania

  • python3
  • python-pip3
  • PyYAML
  • setuptools

Zależności

  • Elasticsearch

Układ katalogów

├── 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 katalogów, 12 plików

Zmienne roli

Zmienne Wartości domyślne Opis Typ
host_name localhost Host Elasticsearch Obowiązkowe
es_port 9200 Port Elasticsearch Obowiązkowe
elastalert_rules_dir /opt/elastalert/rules Katalog dla reguł ElastAlert Obowiązkowe
elastalert_upload_local_rules_dir files/elastalert/rules Katalog, do którego Ansible przesyła reguły. Użyj False, jeśli chcesz przesłać ręcznie Obowiązkowe, jeśli chcesz, aby rola przesyłała reguły z elastalert_upload_local_rules_dir na maszynie ansible do elastalert_rules_dir na maszynie elastalert
elastalert_delete_rules_not_in_elastalert_upload_local_rules_dir yes Usunie reguły, które nie są obecne w elastalert_upload_local_rules_dir Obowiązkowe, jeśli chcesz usunąć reguły na maszynie elastalert, które nie znajdują się w elastalert_upload_local_rules_dir na maszynie ansible
elastalert_service_user_name elastalert Nazwa użytkownika ElastAlert Obowiązkowe
elastalert_service_group_name elastalert Nazwa grupy ElastAlert Obowiązkowe
elastalert_data_dir /opt Katalog z danymi Obowiązkowe
installation_dir /opt Katalog instalacji ElastAlert Obowiązkowe
elastalert_version 0.2.1 Wersja ElastAlert Obowiązkowe
es_user elastic Nazwa użytkownika Elasticsearch Obowiązkowe, jeśli w ES jest wymagana autoryzacja
es_pass password Hasło do Elasticsearch Obowiązkowe, jeśli w ES jest wymagana autoryzacja
use_ssl False Użyj SSL Opcjonalne (tylko jeśli potrzebujesz SSL)
verify_certs False Weryfikuj certyfikaty Opcjonalne (tylko jeśli potrzebujesz SSL i chcesz weryfikować certyfikaty)
client_cert /opt/elastalert/clientcert.cer Certyfikat SSL Opcjonalne (tylko jeśli potrzebujesz SSL)
client_key /opt/elastalert/clientcert.key Klucz certyfikatu SSL Opcjonalne (tylko jeśli potrzebujesz SSL)

Przykładowy playbook

Prosty przykład

---
- name: Automatyzuje konfigurację ElastAlert
  hosts: elastalert
  roles:
    - role: osm_elastalert
        es_pass: password
        host_name: "adres IP lub domena Elasticsearch"
...

Z autoryzacją HTTP Elasticsearch + SSL + określony lokalny katalog reguł elastalert + webhook Slack użyty w pliku reguł

---
- name: Automatyzuje konfigurację 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/twój_webhook_url"
        host_name: "adres IP lub domena Elasticsearch"
        elastalert_upload_local_rules_dir: files/elastalert/cluster_one_elastalert_rules/
...

Uruchom wszystkie zadania

$  ansible-playbook site.yml -i inventory

Uruchom tylko zadania związane z przesyłaniem i usuwaniem reguł w celu synchronizacji zawartości katalogu reguł elastalert z katalogiem reguł lokalnych Ansible

$  ansible-playbook site.yml --tags elastalert,elastalert-rules

Inwentarz

Inwentarz powinien wyglądać tak:-

[serwer]                 
192.xxx.x.xxx    ansible_user=ubuntu 

Proponowane przyszłe zmiany

  • Aktualizacja elastalert dla CentOS 6, 7 również.

Odnośniki

Informacje o autorze

Imię: Ashutosh Mishra
E-mail: [email protected]
Zainstaluj
ansible-galaxy install opstree_devops.elastalert
Licencja
Unknown
Pobrania
77
Właściciel