Nous allons dans cet article voir comment configurer Graylog pour recevoir des alertes par mail.
Avant de commencer, il est nécessaire de comprendre ce que sont les « streams » qui sont la base des alertes sur Graylog.
Les Streams Graylog sont un mécanisme permettant de créer un flux qui va récupérer uniquement les messages correspondant à certaines conditions.
On peut donc créer un Stream qui ne contiendrait que les messages d’un hôte en particulier et donner le droit sur ce Stream à un utilisateur en particulier. On peut aussi créer un Stream qui récupère les messages dont le champ « message » contient le mot « erreur » et paramétrer une alerte mail à chaque fois que le mot erreur revient.
Création d’une règle Stream
Les alertes ne peuvent qu’être uniquement configurées sur un Stream. Pour pouvoir envoyer ces alertes mails, il est donc nécessaire de préalablement créer un Stream qui contiendra les messages sur lesquels déclencher les alertes.
On va par exemple ici créer un stream qui contiendra les messages de niveau (champ « level ») inférieur ou égal à 3 sur notre hôte proxy afin d’être averti lors d’une erreur de fonctionnement ou d’une erreur plus critique.
Rendez-vous dans l’onglet Steams, et cliquez sur Create Stream.
Donnez un titre et une description au Stream et cliquez sur Save :
Le Stream que vous venez de créer est alors visible, on va cliquer sur Manage Rules afin de le configurer.
Sélectionnez votre input (dans notre cas l’input pour les Syslog) puis cliquez sur Add stream rule.
Dans la partie Field, on doit déterminer sur quel champ on veut définir notre règle. Dans cet exemple, on veut surveiller le niveau de messages, on rentre donc le champ level. Dans la case Type, on sélectionne dans notre cas smaller than et on entre la valeur 4 dans Value afin de ne traiter que les messages de niveau inférieur ou égal à 3.
Vous voyez alors la règle s’ajouter :
Cependant, la règle s’applique sur tout notre input et donc pour tous les hôtes qui ont le champ level dans leurs logs. On va donc devoir rajouter une autre règle pour que la règle que nous venons de créer ne s’applique que sur notre proxy. Pour cela, il faut une nouvelle fois cliquer sur Add stream rules.
Et indiquez dans la partie Field, le champ « source », dans la partie Type, match « regular expression » et enfin dans la valeur indiquez l’@IP de l’hôte concernée.
On a maintenant nos deux règles, on peut cliquer sur I’m done!
On peut ensuite démarrer notre Stream en cliquant sur Start Stream.
Si l’on regarde les valeurs du champ Level dans les logs de notre Stream, on remarque qu’il y a uniquement les valeurs inférieures ou égales à 3 et que celles-ci ne s’appliquent que sur l’hôte que nous avons sélectionné.
Configuration SMTP
Avant de configurer l’alerte, il faut configurer les paramètres SMTP dans le fichier conf de Graylog :
nano /etc/graylog/server/server.conf
Repérez les lignes suivantes et configurez les de la même manière :
- On active le transport d’email
- On indique notre serveur smtp
- On indique le port (25 par défaut)
- On rentre l’username
- On indique ensuite l’adresse d’envoi souhaitée.
- Enfin, on indique l’@IP de notre serveur Graylog et le port par défaut 9000.
Enregistrez puis redémarrez le serveur :
service graylog-server restart
Création d’une nouvelle alerte
Revenons maintenant sur notre interface web Graylog afin de créer notre alerte et de l’envoyer par mail.
Pour cela, on se rend dans la partie Alerts puis on clique sur Manage conditions
Cliquez ensuite sur Add new condition, choisissez le stream que vous venez de créer, et dans condition Type sélectionnez Message Count Alert Condition.
On clique sur Add alert condition, on entre les paramètres souhaités. Dans notre cas on veut que l’alerte se déclenche lorsque la valeur du champ « level » est inférieure ou égale à 3. Cette configuration marche étant donné que tous les messages de ce stream ont le champ « level » inférieur ou égal à 3).
On enregistre, puis on clique sur .
On clique ensuite sur Add new notification. On sélectionne une nouvelle fois notre Stream puis Email Alert Callback afin d’être averti par mail.
On continue puis on indique le titre de l’alerte Mail et les adresses mail qui recevront les alertes concernées.
Cliquez sur Save, vous pouvez dès à présent cliquez sur Test pour envoyer un mail de test afin de voir si votre configuration est OK.
Si tout se passe bien, vous devriez voir le message suivant :
Si je vais dans ma boite mail, j’ai bien reçu le mail.
L’envoi d’alerte mail est maintenant opérationnel, il ne vous reste plus qu’à configurer les alertes selon les critères que vous souhaitez.
comment savoir quel serveur smtp rentrer pour les alertes svp? merci
J’aimeJ’aime
Soit tu as ton propre serveur smtp, sinon tu peux en louer un ou en utiliser des gratuits 🙂
J’aimeJ’aime