GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie ElastAlert mit Elasticsearch auf Ubuntu

Wenn Sie riesige Datenmengen verwalten müssen, werden Sie sich eines Tages ein Tool wünschen, das einfach auf Anomalien oder Inkonsistenzen in den Daten hinweist und Sie in Echtzeit warnt.

Was ist ElastAlert?

ElastAlert wurde genau dafür entwickelt. Es ist ein einfaches Framework, das warnt, wenn es Anomalien, Spitzen oder andere Muster von Regeln aus Daten erkennt, die in Elasticsearch hinzugefügt wurden.

Sie könnten zum Beispiel einen „Häufigkeits“-Alarm einrichten, der Sie benachrichtigt, wenn es X Ereignisse in Y Zeit gibt.

Oder Sie möchten vielleicht sofort gewarnt werden, wenn es zu einem „Spike“-Ereignis kommt, d. h. wenn die Häufigkeit, mit der ein Ereignis auftritt, plötzlich zu- oder abnimmt.

Andere enthaltene Regeltypen sind:

  • „Flatline“ – wenn es weniger als X Ereignisse in Y-Zeit gibt
  • „Blacklist/Whitelist“ – wenn ein bestimmtes Feld mit „Blacklist“ oder „Whitelist“ übereinstimmt
  • „beliebig“ – wenn ein Ereignis eintritt, das einem bestimmten Filter entspricht
  • „Änderung“ – wenn ein Feld innerhalb eines bestimmten Zeitraums zwei unterschiedliche Werte hat

Unterstützte Benachrichtigungstypen

Derzeit bietet ElastAlert integrierte Unterstützung für die folgenden Alarmtypen.

  • Befehl
  • E-Mail
  • JIRA
  • OpsGenie
  • SNS
  • HipChat
  • Slack
  • Telegramm
  • GoogleChat
  • Debuggen
  • Stampfen
  • der Bienenstock

Installieren Sie ElastAlert mit Elasticsearch auf Ubuntu

In diesem Artikel zeigen wir Ihnen, wie Sie ElastAlert auf Ubuntu 18.04 installieren.

Anforderungen

  • Elasticsearch
  • ISO8601- oder Unix-Zeitstempeldaten
  • Python 2.7
  • pip, siehe requirements.txt – (https://github.com/Yelp/elastalert/blob/master/requirements.txt)
  • Pakete für Ubuntu –  python-pip python-dev libffi-dev libssl-dev

Installationsvoraussetzungen

Installieren Sie Python 2.7:

sudo apt-get install python-minimal

Überprüfen Sie die Python-Version:

sudo python --version

Dann erhalten Sie eine Ausgabe für Python 2.7.

Benötigte Pakete installieren:

sudo apt-get install python-pip python-dev libffi-dev libssl-dev

Es gibt einige verschiedene Möglichkeiten, ElastAlert zu installieren, und hier werden wir die Installation durch Klonen des Git-Repositorys durchführen.

Also müssen wir „git“ installieren, bevor wir fortfahren. Normalerweise hat Ubuntu 18.04 git bereits installiert.

Suchen Sie nach der installierten oder verfügbaren Version von git:

sudo apt-cache policy git

Dies gibt die Details der installierten und Kandidaten-Git-Versionen.

Wenn Sie die installierte Git-Version nicht sehen können, führen Sie den folgenden Befehl aus.

sudo apt-get install git

Wir werden das ElastAlert-Repository in den Ordner „/opt“ klonen, wechseln Sie daher das Verzeichnis.

sudo cd /opt

Klonen Sie jetzt ein Git-Repository.

sudo git clone https://github.com/Yelp/elastalert.git

Jetzt Module installieren.

sudo pip install "setuptools>=11.3"
sudo python setup.py install

Möglicherweise erhalten Sie einen Fehler wie diesen.

Führen Sie dann den folgenden Befehl aus, um „PyOpenSSL“

zu installieren
sudo pip install PyOpenSSL

Hier werden wir mit Elastic Search 6.x integrieren. Also wird Elasticsearch 5.0+ hier installiert.

sudo pip install "elasticsearch>=5.0.0"

ElastAlert konfigurieren

Wir haben das ElastAlert-Repo in das Verzeichnis „/opt“ geklont, wechseln Sie also das Verzeichnis, bevor Sie fortfahren.

sudo cd /opt/elastalert/

Jetzt erhalten wir eine Kopie der Datei config.yaml.example als config.yaml

sudo cp config.yaml.example config.yaml

Ändern Sie die Datei config.yaml.

vim config.yaml

Kommentieren Sie die folgenden Zeilen aus und ändern Sie sie.

ElasticSearch-Hostname oder -IP

es_host: elk-server

ElasticServer-Port

es_port: 9200

Entkommentieren Sie Basic-Authentifizierung:

es_username: 
es_password:

Speichern und schließen Sie die Datei.

ElastAlert-Index erstellen.

sudo elastalert-create-index

Erstellen einer Regel

Bearbeiten Sie nun die Datei mit dem Titel „example_frequency.yaml“ im Ordner „/opt/elastalert/example_rules/“

sudo vim example_rules/example_frequency.yaml

Entkommentieren und ändern Sie den Index wie folgt:

index: filebeat-*

Definieren Sie nun einen Filter für einen Alert. Hier filtern wir Schlüsselwörter mit der Zeichenfolge „Ausnahme“.

filter:
- query_string:
    query: "message:*exception*"

Konfigurieren Sie Alter mit Slack. Hier müssen Sie einen Slack-Kanal und einen eingehenden Webhook erstellen. Fügen Sie dann Konfigurationsdetails wie folgt hinzu.

alert:
 - "slack"
slack:
slack_webhook_url: "https://hooks.slack.com/services/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"
slack_username_override: "Fosslinux-Elastic-Bot"
slack_channel_override: "#fosslinuxalert"
slack_emoji_override: ":robot_face:"
slack_msg_color: "danger"

Sie können den folgenden Schritten folgen, um einen Slack-Kanal zu erstellen.

Konfigurieren des Slack-Kanals für ElastAlert

Wenn Sie kein Slack-Konto haben, können Sie eines bekommen, indem Sie sich einfach anmelden. Gehen Sie zu „slack.com“, geben Sie Ihre E-Mail-Adresse ein und klicken Sie auf „ERSTE SCHRITTE“.

Klicken Sie dann auf „Neuen Arbeitsbereich erstellen“ und bestätigen Sie Ihre E-Mail-Adresse. Jetzt können Sie sich anmelden und das Dashboard anzeigen.

Gehen Sie zu Apps durchsuchen -> Benutzerdefinierte Integrationen -> Eingehende Webhooks -> Neue Konfiguration

Klicken Sie dann auf „Neuen Kanal erstellen“, um einen Kanal zum Senden von Benachrichtigungen zu erstellen.

Klicken Sie dann auf die Schaltfläche „Kanal erstellen“ und Sie werden zur Webhook-Integrationsseite weitergeleitet.

Klicken Sie auf die Schaltfläche „Eingehende WebHooks-Integration hinzufügen“. Dadurch werden Integrationseinstellungen erstellt.

Testregel

Ändern Sie das Verzeichnis in ElastAlert.

sudo cd /opt/elastalert/

Führen Sie den folgenden Befehl aus, um die konfigurierte Regel zu testen.

sudo elastalert-test-rule example_rules/example_frequency.yaml

ElastAlert ausführen

Wir werden ElastAlert als Hintergrunddienst starten. Dieser Befehl sollte im Ordner „/opt/elastalert/“ ausgeführt werden.

sudo python -m elastalert.elastalert --verbose --rule example_frequency.yaml &

Jetzt beginnt ElastAlert damit, Abfragen auf Elasticsearch (auf dem ELK-Server) zu prüfen. Wenn es eine Übereinstimmung gibt, wird Slack benachrichtigt.

Warnung ausgelöst.

Die Benachrichtigung wird an den Slack Channel weitergeleitet.

Das war’s, wir haben ElastAlert erfolgreich mit der elastischen Suche installiert und konfiguriert und auch Benachrichtigungen für Slack eingerichtet. Wir hoffen, dass dieses umfassende Tutorial Ihnen hilft, ElastAlert zu installieren und einige Regeln einzurichten, um Alarme einfach auszulösen. Fragen und Feedback sind im Kommentarbereich willkommen.


Ubuntu
  1. So installieren Sie Docker unter Ubuntu 18.04

  2. So installieren Sie Apache unter Ubuntu 18.04

  3. So installieren Sie einen FTP-Server unter Ubuntu mit vsftpd

  4. So installieren Sie die Zammad-Community in Ubuntu 20.04

  5. So installieren Sie Elasticsearch auf Ubuntu 22.04 mit SSL

So installieren Sie WordPress mit Nginx auf Ubuntu

So installieren Sie Lighttpd mit PHP in Ubuntu 20.04

So installieren Sie Elasticsearch auf Ubuntu 18.04 LTS

So installieren Sie Elasticsearch auf Ubuntu 20.04 LTS

So installieren Sie Graylog unter Ubuntu 20.04 LTS

So installieren Sie Elasticsearch auf Ubuntu 18.04 Bionic Beaver