GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare ElastAlert con Elasticsearch su Ubuntu

Se devi gestire enormi quantità di dati, un giorno ti ritroverai a desiderare uno strumento che si limiti a segnalare le anomalie o le incongruenze nei dati e ad avvisarti in tempo reale.

Cos'è ElastAlert?

ElastAlert è progettato per fare esattamente questo. È un framework semplice che avvisa quando rileva anomalie, picchi o altri modelli di regole dai dati aggiunti in Elasticsearch.

Ad esempio, potresti impostare un avviso di "frequenza", che ti avviserà quando c'è un numero X di eventi in Y tempo.

Oppure potresti voler essere avvisato immediatamente quando si verifica un evento di "picco", ovvero quando la velocità con cui si verifica un evento improvvisamente aumenta o diminuisce.

Altri tipi di regole inclusi sono:

  • 'flatline' – quando ci sono meno di X eventi in Y tempo
  • "lista nera/lista bianca":quando un determinato campo corrisponde a "lista nera" o "lista bianca"
  • 'qualsiasi':quando si verifica un evento che corrisponde a un determinato filtro
  • 'modifica':quando un campo ha due valori diversi entro un periodo di tempo specificato

Tipi di avviso supportati

Attualmente, ElastAlert ha un supporto integrato per i seguenti tipi di avviso.

  • Comando
  • E-mail
  • JIRA
  • OpsGenie
  • SNS
  • HipChat
  • Lasco
  • Telegramma
  • GoogleChat
  • Debug
  • Calpestare
  • l'alveare

Installa ElastAlert con Elasticsearch su Ubuntu

In questo articolo, ti mostriamo come installare ElastAlert su Ubuntu 18.04.

Requisiti

  • Ricerca elastica
  • Dati con timestamp ISO8601 o Unix
  • Python 2.7
  • pip, vedi requisiti.txt – (https://github.com/Yelp/elastalert/blob/master/requirements.txt)
  • Pacchetti per Ubuntu –  python-pip python-dev libffi-dev libssl-dev

Installazione dei prerequisiti

Installa Python 2.7:

sudo apt-get install python-minimal

Controlla la versione di Python:

sudo python --version

Quindi otterrai l'output per Python 2.7.

Installa i pacchetti necessari:

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

Esistono diversi modi per installare ElastAlert e qui eseguiremo l'installazione clonando il repository git.

Quindi dobbiamo installare "git" prima di procedere. Di solito, Ubuntu 18.04 ha git già installato.

Verifica la versione installata o disponibile di git:

sudo apt-cache policy git

Questo fornirà i dettagli delle versioni git installate e candidate.

Se non riesci a vedere la versione git installata, esegui il comando seguente.

sudo apt-get install git

Cloneremo il repository ElastAlert nella cartella "/opt", quindi cambiamo directory.

sudo cd /opt

Ora clona un repository git.

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

Ora installa i moduli.

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

Potresti ricevere un errore come questo.

Quindi esegui il comando seguente per installare "PyOpenSSL"

sudo pip install PyOpenSSL

Qui ci integreremo con Elastic search 6.x. Quindi Elasticsearch 5.0+ verrà installato qui.

sudo pip install "elasticsearch>=5.0.0"

Configura ElastAlert

Abbiamo clonato il repository ElastAlert nella directory "/opt", quindi cambia directory prima di continuare.

sudo cd /opt/elastalert/

Ora otteniamo una copia del file config.yaml.example come config.yaml

sudo cp config.yaml.example config.yaml

Modifica il file config.yaml.

vim config.yaml

Decommenta le righe seguenti e modifica.

Nome host o IP di ElasticSearch

es_host: elk-server

Porta ElasticServer

es_port: 9200

Decommenta l'autenticazione di base:

es_username: 
es_password:

Salva e chiudi il file.

Crea l'indice ElastAlert.

sudo elastalert-create-index

Creazione di una regola

Ora modifica il file intitolato "example_frequency.yaml" all'interno della cartella "/opt/elastalert/example_rules/"

sudo vim example_rules/example_frequency.yaml

Decommenta e modifica l'indice come segue:

index: filebeat-*

Ora definisci un filtro per un avviso. Qui filtriamo le parole chiave con la stringa "exception".

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

Configura Alter con Slack. Qui devi creare un canale Slack e un webhook in entrata. Quindi aggiungi i dettagli di configurazione come segue.

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"

Puoi seguire i passaggi seguenti per creare un canale Slack.

Configurazione del canale Slack per ElastAlert

Se non hai un account Slack, puoi ottenerne uno semplicemente registrandoti. Vai su "slack.com" e inserisci il tuo indirizzo email e fai clic su "INIZIA".

Quindi fai clic su "crea nuovo spazio di lavoro" e verifica il tuo indirizzo email. Ora puoi accedere e visualizzare la dashboard.

Vai a Sfoglia app -> Integrazioni personalizzate -> Webhook in entrata -> Nuova configurazione

Quindi fai clic su "Crea nuovo canale" per creare un canale per l'invio di avvisi.

Quindi fai clic sul pulsante "Crea canale" e verrai indirizzato alla pagina di integrazione di Webhook.

Fare clic sul pulsante "Aggiungi integrazione WebHook in entrata". Questo creerà le impostazioni di integrazione.

Regola di prova

Cambia Directory in ElastAlert.

sudo cd /opt/elastalert/

Esegui il comando seguente per testare la regola configurata.

sudo elastalert-test-rule example_rules/example_frequency.yaml

Esegui ElastAlert

Inizieremo ElastAlert come servizio in background. Questo comando deve essere eseguito all'interno della cartella "/opt/elastalert/".

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

Ora ElastAlert inizierà a controllare le query su Elasticsearch (su server ELK). Se c'è una corrispondenza, verrà inviato un avviso a Slack.

Avviso attivato.

L'avviso andrà su Slack Channel.

Ecco fatto, abbiamo installato e configurato correttamente ElastAlert con la ricerca elastica e abbiamo anche impostato avvisi per Slack. Ci auguriamo che questo tutorial esauriente ti aiuti a installare ElastAlert e impostare alcune regole per attivare facilmente gli avvisi. Domande e feedback sono i benvenuti nella sezione commenti.


Ubuntu
  1. Come installare Docker su Ubuntu 18.04

  2. Come installare Apache su Ubuntu 18.04

  3. Come installare un server FTP su Ubuntu con vsftpd

  4. Come installare Zammad Community in Ubuntu 20.04

  5. Come installare Elasticsearch su Ubuntu 22.04 con SSL

Come installare WordPress con Nginx su Ubuntu

Come installare Lighttpd con PHP in Ubuntu 20.04

Come installare Elasticsearch su Ubuntu 18.04 LTS

Come installare Elasticsearch su Ubuntu 20.04 LTS

Come installare Graylog su Ubuntu 20.04 LTS

Come installare Elasticsearch su Ubuntu 18.04 Bionic Beaver