opstree_devops.elastalert
Ansible Rolle: ElastAlert
======================== Diese Rolle dient zur Installation und Einrichtung von ElastAlert sowie zur Definition der Alert-Konfiguration durch den Benutzer.
Versionsgeschichte
Datum | Version | Beschreibung | Geändert von |
---|---|---|---|
27. Juni 2020 | v0.0.1 | Erster Entwurf | Ashutosh Mishra |
11. Januar 2021 | v0.0.2 | Aktualisierung der Regelverwaltung | Paul Belloc @NanoPish für https://perfmaker.com/ |
Wichtige Funktionen
- Diese Rolle automatisiert die Einrichtung von Alerts mit ElastAlert. In dieser Rolle können ElastAlert-Regeldateien angehängt werden.
Unterstützte Betriebssysteme
- Ubuntu bionic
- Ubuntu xenial
Voraussetzungen
- python3
- python-pip3
- PyYAML
- setuptools
Abhängigkeiten
- Elasticsearch
Verzeichnisstruktur
├── 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 Verzeichnisse, 12 Dateien
Rollenvariablen
Variablen | Standardwerte | Beschreibung | Typ |
---|---|---|---|
host_name | localhost | Elasticsearch-Host | Obligatorisch |
es_port | 9200 | Elasticsearch-Port | Obligatorisch |
elastalert_rules_dir | /opt/elastalert/rules | Verzeichnis für ElastAlert-Regeln | Obligatorisch |
elastalert_upload_local_rules_dir | files/elastalert/rules | Ansible-Maschine lädt Regeln in diesem Verzeichnis hoch. Verwenden Sie False, wenn Sie manuell hochladen möchten | Obligatorisch, wenn Sie möchten, dass die Rolle Regeln von elastalert_upload_local_rules_dir auf der Ansible-Maschine in elastalert_rules_dir auf der ElastAlert-Maschine hochlädt |
elastalert_delete_rules_not_in_elastalert_upload_local_rules_dir | yes | Löscht Regeln, die nicht im elastalert_upload_local_rules_dir vorhanden sind | Obligatorisch, wenn Sie Regeln auf der ElastAlert-Maschine löschen möchten, die nicht im elastalert_upload_local_rules_dir auf der Ansible-Maschine sind |
elastalert_service_user_name | elastalert | ElastAlert-Benutzername | Obligatorisch |
elastalert_service_group_name | elastalert | ElastAlert-Gruppenname | Obligatorisch |
elastalert_data_dir | /opt | Datenverzeichnis | Obligatorisch |
installation_dir | /opt | Verzeichnis für die ElastAlert-Installation | Obligatorisch |
elastalert_version | 0.2.1 | ElastAlert-Version | Obligatorisch |
es_user | elastic | Elasticsearch-Benutzername | Obligatorisch, wenn eine Authentifizierung in ES vorhanden ist |
es_pass | password | Elasticsearch-Passwort | Obligatorisch, wenn eine Authentifizierung in ES vorhanden ist |
use_ssl | False | SSL verwenden | Optional (nur wenn Sie SSL benötigen) |
verify_certs | False | Zertifikate überprüfen | Optional (nur wenn Sie SSL benötigen und Zertifikate überprüfen möchten) |
client_cert | /opt/elastalert/clientcert.cer | SSL-Zertifikat | Optional (nur wenn Sie SSL benötigen) |
client_key | /opt/elastalert/clientcert.key | SSL-Zertifikat-Schlüssel | Optional (nur wenn Sie SSL benötigen) |
Beispiel-Playbook
Einfaches Beispiel
---
- name: Automatisiert die ElastAlert-Einrichtung
hosts: elastalert
roles:
- role: osm_elastalert
es_pass: password
host_name: "Ihre Elasticsearch-IP oder Domain"
...
Mit HTTP-Authentifizierung für Elasticsearch + SSL + spezifischem lokalem ElastAlert-Regelverzeichnis + Slack-Webhook, der in der Regeldatei verwendet wird
---
- name: Automatisiert die ElastAlert-Einrichtung
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/Ihre_webhook_url"
host_name: "Ihre Elasticsearch-IP oder Domain"
elastalert_upload_local_rules_dir: files/elastalert/cluster_one_elastalert_rules/
...
Alle Aufgaben ausführen
$ ansible-playbook site.yml -i inventory
Nur Aufgaben ausführen, die mit dem Hochladen und Löschen von Regeln zu tun haben, um den Inhalt des ElastAlert-Regelverzeichnisses mit dem Inhalt des lokalen Ansible-Regelverzeichnisses zu synchronisieren
$ ansible-playbook site.yml --tags elastalert,elastalert-rules
Inventar
Ein Inventar sollte folgendermaßen aussehen:-
[server]
192.xxx.x.xxx ansible_user=ubuntu
Zukünftige vorgeschlagene Änderungen
- ElastAlert für CentOS 6, 7 aktualisieren.
Referenzen
Autor Informationen
Name: Ashutosh Mishra
MailID: [email protected]
Installieren
ansible-galaxy install opstree_devops.elastalert
Lizenz
Unknown
Downloads
77
Besitzer