GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer ElastAlert avec Elasticsearch sur Ubuntu

Si vous devez gérer d'énormes quantités de données, vous vous retrouverez un jour à souhaiter un outil qui se contenterait de signaler les anomalies ou les incohérences dans les données et de vous alerter en temps réel.

Qu'est-ce qu'ElastAlert ?

ElastAlert est conçu pour faire exactement cela. Il s'agit d'un cadre simple qui alerte lorsqu'il détecte des anomalies, des pics ou d'autres modèles de règles à partir de données ajoutées dans Elasticsearch.

Par exemple, vous pouvez configurer une alerte de "fréquence", qui vous avertira lorsqu'il y aura un nombre X d'événements en un temps Y.

Ou vous voudrez peut-être être immédiatement averti lorsqu'il y a un événement "pic", c'est-à-dire lorsque la vitesse à laquelle un événement se produit soudainement augmente ou diminue.

Les autres types de règles inclus sont :

  • 'flatline' - lorsqu'il y a moins de X événements en Y temps
  • ‘liste noire/liste blanche’ – lorsqu’un certain champ correspond à ‘liste noire’ ou ‘liste blanche’
  • 'any' :lorsqu'un événement correspondant à un filtre donné se produit
  • 'change' - lorsqu'un champ a deux valeurs différentes dans une période de temps spécifiée

Types d'alertes pris en charge

Actuellement, ElastAlert a une prise en charge intégrée pour les types d'alertes suivants.

  • Commande
  • E-mail
  • JIRA
  • OpsGenie
  • SRS
  • HipChat
  • Lâche
  • Télégramme
  • Google Chat
  • Débogage
  • Ecraser
  • la Ruche

Installer ElastAlert avec Elasticsearch sur Ubuntu

Dans cet article, nous vous montrons comment installer ElastAlert sur Ubuntu 18.04.

Exigences

  • Elasticsearch
  • Données horodatées ISO8601 ou Unix
  • Python 2.7
  • pip, voir requirements.txt – (https://github.com/Yelp/elastalert/blob/master/requirements.txt)
  • Packages pour ubuntu –  python-pip python-dev libffi-dev libssl-dev

Installation des prérequis

Installez Python 2.7 :

sudo apt-get install python-minimal

Vérifiez la version de Python :

sudo python --version

Ensuite, vous obtiendrez une sortie pour Python 2.7.

Installez les packages nécessaires :

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

Il existe différentes manières d'installer ElastAlert et ici, nous allons procéder à l'installation en clonant le référentiel git.

Nous devons donc installer "git" avant de continuer. Habituellement, Ubuntu 18.04 a déjà installé git.

Vérifiez la version installée ou disponible de git :

sudo apt-cache policy git

Cela donnera les détails des versions git installées et candidates.

Si vous ne pouvez pas voir la version de git installée, exécutez la commande suivante.

sudo apt-get install git

Nous allons cloner le référentiel ElastAlert dans le dossier "/opt", donc changer de répertoire.

sudo cd /opt

Maintenant, clonez un dépôt git.

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

Installez maintenant les modules.

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

Vous pouvez obtenir une erreur comme celle-ci.

Ensuite, exécutez la commande ci-dessous pour installer "PyOpenSSL"

sudo pip install PyOpenSSL

Ici, nous allons intégrer Elastic Search 6.x. Ainsi, Elasticsearch 5.0+ sera installé ici.

sudo pip install "elasticsearch>=5.0.0"

Configurer ElastAlert

Nous avons cloné le référentiel ElastAlert dans le répertoire "/opt", alors changez de répertoire avant de continuer.

sudo cd /opt/elastalert/

Nous obtenons maintenant une copie du fichier config.yaml.example en tant que config.yaml

sudo cp config.yaml.example config.yaml

Modifiez le fichier config.yaml.

vim config.yaml

Décommentez les lignes suivantes et modifiez.

Nom d'hôte ou IP ElasticSearch

es_host: elk-server

Port ElasticServer

es_port: 9200

Décommentez l'authentification de base :

es_username: 
es_password:

Enregistrez et fermez le fichier.

Créer un index ElastAlert.

sudo elastalert-create-index

Créer une règle

Modifiez maintenant le fichier intitulé "example_frequency.yaml" dans le dossier "/opt/elastalert/example_rules/"

sudo vim example_rules/example_frequency.yaml

Décommentez et modifiez l'index comme suit :

index: filebeat-*

Définissez maintenant un filtre pour une alerte. Ici, nous filtrons les mots-clés avec la chaîne "exception".

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

Configurez Alter avec Slack. Ici, vous devez créer un canal Slack et un webhook entrant. Ajoutez ensuite les détails de configuration comme suit.

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"

Vous pouvez suivre les étapes ci-dessous pour créer un canal Slack.

Configuration du canal Slack pour ElastAlert

Si vous n'avez pas de compte Slack, vous pouvez en obtenir un en vous inscrivant simplement. Allez sur "slack.com" et entrez votre adresse e-mail et cliquez sur "COMMENCER".

Cliquez ensuite sur "Créer un nouvel espace de travail" et vérifiez votre adresse e-mail. Vous pouvez maintenant vous connecter et afficher le tableau de bord.

Accédez à Parcourir les applications -> Intégrations personnalisées -> Webhooks entrants -> Nouvelle configuration

Cliquez ensuite sur "Créer un nouveau canal" pour créer un canal pour envoyer des alertes.

Cliquez ensuite sur le bouton "Créer une chaîne" et vous serez redirigé vers la page d'intégration Webhook.

Cliquez sur le bouton "Ajouter l'intégration de WebHooks entrants". Cela créera des paramètres d'intégration.

Règle de test

Remplacez le répertoire par ElastAlert.

sudo cd /opt/elastalert/

Exécutez la commande ci-dessous pour tester la règle configurée.

sudo elastalert-test-rule example_rules/example_frequency.yaml

Exécuter ElastAlert

Nous allons démarrer ElastAlert en tant que service d'arrière-plan. Cette commande doit être exécutée dans le dossier "/opt/elastalert/".

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

ElastAlert va maintenant commencer à vérifier les requêtes sur Elasticsearch (sur le serveur ELK). S'il y a une correspondance, une alerte sera envoyée à Slack.

Alerte déclenchée.

L'alerte ira à Slack Channel.

Ça y est, nous avons installé et configuré avec succès ElastAlert avec la recherche élastique, et avons également configuré des alertes sur Slack. Nous espérons que ce tutoriel exhaustif vous aidera à installer ElastAlert et à mettre en place quelques règles pour déclencher facilement des alertes. Les questions et les commentaires sont les bienvenus dans la section des commentaires.


Ubuntu
  1. Comment installer Docker sur Ubuntu 18.04

  2. Comment installer Apache sur Ubuntu 18.04

  3. Comment installer un serveur FTP sur Ubuntu avec vsftpd

  4. Comment installer la communauté Zammad dans Ubuntu 20.04

  5. Comment installer Elasticsearch sur Ubuntu 22.04 avec SSL

Comment installer WordPress avec Nginx sur Ubuntu

Comment installer Lighttpd avec PHP dans Ubuntu 20.04

Comment installer Elasticsearch sur Ubuntu 18.04 LTS

Comment installer Elasticsearch sur Ubuntu 20.04 LTS

Comment installer Graylog sur Ubuntu 20.04 LTS

Comment installer Elasticsearch sur Ubuntu 18.04 Bionic Beaver