Als u enorme hoeveelheden gegevens moet beheren, zult u op een dag een tool wensen die eenvoudigweg de anomalieën of inconsistenties in de gegevens aanwijst en u in realtime waarschuwt.
Wat is ElastAlert?
ElastAlert is ontworpen om precies dat te doen. Het is een eenvoudig raamwerk dat waarschuwt wanneer het afwijkingen, pieken of andere patronen van regels detecteert uit gegevens die zijn toegevoegd in de Elasticsearch.
U kunt bijvoorbeeld een 'frequentie'-waarschuwing instellen, die u op de hoogte stelt wanneer er X aantal gebeurtenissen is in Y-tijd.
Of misschien wilt u direct gewaarschuwd worden wanneer er een 'piek'-gebeurtenis is, dat wil zeggen wanneer de snelheid waarmee een gebeurtenis plaatsvindt plotseling toeneemt of afneemt.
Andere soorten regels die zijn opgenomen zijn:
- 'flatline' - wanneer er minder dan X gebeurtenissen zijn in Y-tijd
- 'blacklist/whitelist' - wanneer een bepaald veld overeenkomt met 'blacklist' of 'whitelist'
- 'any' - wanneer een gebeurtenis plaatsvindt die overeenkomt met een bepaald filter
- 'wijzigen' - wanneer een veld twee verschillende waarden heeft binnen een bepaalde tijdsperiode
Ondersteunde waarschuwingstypen
Momenteel heeft ElastAlert ingebouwde ondersteuning voor de volgende typen waarschuwingen:.
- Opdracht
- JIRA
- OpsGenie
- SNS
- HipChat
- slappe
- Telegram
- GoogleChat
- Debuggen
- Stomp
- de korf
Installeer ElastAlert met Elasticsearch op Ubuntu
In dit artikel laten we u zien hoe u ElastAlert installeert op ubuntu 18.04.
Vereisten
- Elastisch zoeken
- ISO8601 of Unix tijdstempel data
- Python 2.7
- pip, zie vereisten.txt - (https://github.com/Yelp/elastalert/blob/master/requirements.tekst)
- Pakketten voor ubuntu - python-pip python-dev libffi-dev libssl-dev
Installatievereisten
Installeer Python 2.7:
sudo apt-get install python-minimal
Controleer de Python-versie:
sudo python --versie
Dan krijg je uitvoer voor python 2.7.
Installeer de benodigde pakketten:
sudo apt-get install python-pip python-dev libffi-dev libssl-dev
Er zijn een paar verschillende manieren om ElastAlert te installeren en hier gaan we de installatie doen door git repository te klonen.
Dus we moeten "git" installeren voordat we verder gaan. Meestal Ubuntu 18.04 heeft git al geïnstalleerd.
Controleer op de geïnstalleerde of beschikbare versie van git:
sudo apt-cache beleid git
Dit geeft de details van de geïnstalleerde en kandidaat-git-versies.
Als je de geïnstalleerde git-versie niet kunt zien, voer je het volgende commando uit:.
sudo apt-get install git
We gaan de ElastAlert-repository klonen naar de map "/ opt", dus wijzig de map.
sudo cd /opt
Kloon nu een git-repository.
sudo git kloon https://github.com/Yelp/elastalert.git
Installeer nu modules.
sudo pip install "setuptools>=11.3"
sudo python setup.py installeren
U krijgt mogelijk een foutmelding als deze.
Voer vervolgens onderstaande opdracht uit om "PyOpenSSL" te installeren
sudo pip installeren PyOpenSSL
Hier gaan we integreren met Elastic search 6.X. Dus Elasticsearch 5.0+ wordt hier geïnstalleerd.
sudo pip install "elasticsearch>=5.0.0"
Configureer ElastAlert
We hebben de ElastAlert-repo gekloond naar de map "/ opt", dus wijzig de map voordat u doorgaat.
sudo cd /opt/elastalert/
Nu krijgen we een kopie van config.yaml.voorbeeldbestand als een config.yaml
sudo cp config.yaml.voorbeeld configuratie.yaml
Configuratie wijzigen.yaml-bestand.
vim-configuratie.yaml
Maak commentaar op de volgende regels en wijzig.
ElasticSearch-hostnaam of IP
es_host: elk-server
ElasticServer-poort
es_poort: 9200
Basisauthenticatie opheffen:
es_gebruikersnaam: es_wachtwoord:
Bewaar en sluit het bestand.
ElastAlert-index maken.
sudo elastalert-create-index
Een regel maken
Bewerk nu het bestand met de titel "example_frequency".yaml" in de map "/opt/elastalert/example_rules/"
sudo vim example_rules/example_frequency.yaml
Verwijder commentaar en wijzig de index als volgt:
index: filebeat-*
Definieer nu een filter voor een waarschuwing. Hier filteren we trefwoorden met de string “uitzondering”.
filter: - query_string: query: "bericht:*uitzondering*"
Configureer Alter met Slack. Hier moet je een Slack-kanaal en inkomende webhook maken. Voeg vervolgens configuratiedetails als volgt toe:.
waarschuwing: - "slack" slap: slack_webhook_url: "https://hooks.slap.com/services/T3YSFN0GL/BFU1HPLKD/BPM2jOlIOzKxbEOHAepu6d26" slack_username_override: "Fosslinux-Elastic-Bot" slack_channel_override: "#fosslinuxalert" slack_emoji_override: ": ": robot_dang:"
U kunt de onderstaande stappen volgen om een Slack-kanaal te maken:.
Slack-kanaal configureren voor ElastAlert
Als je geen slappe account hebt, kun je er een krijgen door je eenvoudig aan te melden. Ga naar "slap".com" en voer uw e-mailadres in en klik op "AAN DE SLAG".
Klik vervolgens op 'creëer nieuwe werkruimte' en verifieer je e-mailadres. Nu kunt u inloggen en het dashboard bekijken.
Ga naar Browse apps -> Custom Integrations -> Incoming Webhooks -> New Configuration
Klik vervolgens op 'Nieuw kanaal maken' om een kanaal te maken voor het verzenden van meldingen.
Klik vervolgens op de knop 'Kanaal maken' en u wordt doorgestuurd naar de Webhook-integratiepagina.
Klik op de knop 'Inkomende WebHooks-integratie toevoegen'. Hiermee worden integratie-instellingen gemaakt.
Testregel:
Directory wijzigen in ElastAlert.
sudo cd /opt/elastalert/
Voer onderstaande opdracht uit om de geconfigureerde regel te testen.
sudo elastalert-test-regel example_rules/example_frequency.yaml
ElastAlert uitvoeren
We starten ElastAlert als achtergrondservice. Deze opdracht moet worden uitgevoerd in de map "/opt/elastalert/".
sudo python -m elastalert.elastalert --verbose --regel voorbeeld_frequentie.yaml &
Nu begint ElastAlert met het controleren van zoekopdrachten op Elasticsearch (op ELK-server). Als er een match is, wordt er op Slack geschoten.
Waarschuwing geactiveerd.
Melding gaat naar Slack Channel.
Dat is alles, we hebben ElastAlert met succes geïnstalleerd en geconfigureerd met de elastische zoekfunctie en hebben ook waarschuwingen voor Slack ingesteld. We hopen dat deze uitgebreide tutorial je zal helpen om ElastAlert te installeren en enkele regels in te stellen om waarschuwingen gemakkelijk te activeren. Vragen en feedback zijn welkom in het opmerkingengedeelte.