Aller au contenu principal
Version: 23.04

Notifications Telegram

Introduction

Cette documentation vous est présentée par notre partenaire YPSI :

logo

Comment ça marche

Le connecteur de notification Telegram utilise le plugin Centreon perl pour envoyer des notifications via Telegram grâce à leur API REST.

architecture

Installation

Plugin Centreon avec Telegram

Avant toute chose, vous devez avoir installé le plugin Centreon Telegram sur votre serveur Centreon. Installez Git, puis exécutez les commandes suivantes :

mkdir /usr/lib/centreon/git-plugins
cd /usr/lib/centreon/git-plugins
git clone https://github.com/centreon/centreon-plugins.git

Configurer Telegram

Connectez-vous à votre compte sur https://web.telegram.org

login

Puis parlez au BotFather et donnez-lui la commande suivante :

/newbot

newbot

Le BotFather vous demandera un prénom et un nom d'utilisateur pour votre bot. Le nom d'utilisateur doit se terminer par "_bot". Il est possible d'utiliser le même nom pour les deux identifiants comme montré ci-dessous.

token

Comme vient de vous le dire le BotFather, il est très important que vous reteniez votre token, on en aura besoin pour envoyer les notifications plus tard.

Il nous faut maintenant créer un nouveau groupe.

Nouveau groupe

Ajoutez votre bot au groupe que vous venez de créer.

Création du groupe

Configuration

Obtenir votre chat-id de Telegram

Allez sur l'application web de Telegram et cliquez sur le groupe que vous venez de créer pour obtenir le chat-id à partir de l'URL de la page.

chatid

Par exemple, si votre URL est la suivante : https://web.telegram.org/#/im?p=g123456 votre chat-id est 123456.

Bien que 123456 soit le chat-id, vous devrez écrire -123456 dans la configuration pour que celle-ci marche.

Création des commandes sur Centreon

Commande pour notification sur service

Allez sur Configuration > Commandes > Notifications et cliquez sur Ajouter.

Selectionnez Notification pour le type de commande et copiez la commande suivante dans l'espace Ligne de commande en remplaçant les macros avec vos informations :

/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \
--plugin=notification::telegram::plugin \
--mode=alert \
--http-peer-addr='api.telegram.org' \
--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--chat-id='-xxxxxxxxxx' \
--host-name='$HOSTNAME$' \
--service-description='$SERVICEDESC$' \
--service-state=$SERVICESTATE$ \
--service-output='$SERVICEOUTPUT$'

commande pour service

Commande pour notification sur hôte

Allez sur Configuration > Commandes > Notifications et cliquez sur Ajouter.

Selectionnez Notification pour le type de commande et copiez la commande suivante dans l'espace Ligne de commande en remplaçant les macros avec vos informations :

/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \
--plugin=notification::telegram::plugin \
--mode=alert \
--http-peer-addr='api.telegram.org' \
--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--chat-id='-xxxxxxx' \
--host-name='$HOSTNAME$' \
--host-state=$HOSTSTATE$ \
--host-output='$HOSTOUTPUT$'

commande pour hôte

Exemple

/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ 
--plugin=notification::telegram::plugin \
--mode=alert \
--http-peer-addr='api.telegram.org' \
--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--chat-id='-xxxxxxxx' \
--host-name='nirvana' \
--service-description='yellow-submarine' \
--service-state=CRITICAL
--service-output='highway to hell'

service notification

/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \
--plugin=notification::telegram::plugin \
--mode=alert \
--http-peer-addr='api.telegram.org' \
--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--chat-id='-xxxxxxx' \
--host-name='REM' \
--host-state=DOWN \
--host-output='let the sky fall'

host notification

Options de message

Lors de l'envoi de notifications, vous pouvez ajouter diverses options. Vous pouvez consulter ces options en utilisant l'option --help du plugin Centreon.

Voici quelques unes des options disponibles :

OptionsExplicationExemple
--centreon-tokenun token d'autologin Centreon
--centreon-urll'URL de Centreon
--graph-urlURL d'un graphique. Les options ci-dessus peuvent être utilisées comme macros ici%{centreon_url}/include/views/graphs/generateGraphs/generateImage.php?username=myuser&token=%{centreon_token}&hostname=%{host_name}&service=%{service_description}
--link-urlune URL%{centreon_url}/main.php?p=20201&o=svc&host_search=%{host_name}&svc_search=%{service_description}
--proxyurll'URL vers votre proxy (si nécessaire)

Pour afficher toutes les options, utilisez la commande suivante :

/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \
--plugin=notification::telegram::plugin \
--mode=alert \
--help