Contexte
Le check $KEY$ Frontend Traffic by SSH permet de superviser l’activité réseau d’un frontend HAProxy.
Il collecte et analyse différents indicateurs de trafic afin de suivre l’utilisation du frontend et de détecter rapidement une anomalie ou une surcharge de celui-ci.
En fonction de l’activité des utilisateurs et des applications publiées, un frontend peut générer une charge réseau importante. Une évolution inhabituelle des métriques de trafic peut révéler :
- Une surcharge de connexions utilisateurs
- Une consommation réseau anormale
- Une attaque DDoS ou un trafic malveillant
- Un dysfonctionnement applicatif provoquant une hausse des requêtes
- Une saturation progressive des ressources du frontend.
Ce check permet donc :
- De surveiller le trafic entrant et sortant du frontend
- De suivre le taux de requêtes et de connexions actives
- D’estimer le nombre d’utilisateurs actuellement connectés
- D’identifier rapidement une montée en charge inhabituelle
Pour résumer, ce check est un indicateur clé pour assurer le bon fonctionnement et la stabilité du trafic applicatif exposé par HAProxy.
Paramétrage
Le check utilise la ligne de commande suivante :
$GLOBAL_HAPROXY-BY-SSH_SHINKEN_PLUGINSDIR$/check_haproxy_SSH.py -H "$HOSTADDRESS$" -u "$_HOSTHAPROXY-BY-SSH__SSH-USER$" -k "$_HOSTHAPROXY-BY-SSH__SSH-KEY$" -x "$_HOSTHAPROXY-BY-SSH__SSH-PASSPHRASE$" -p "$_HOSTHAPROXY-BY-SSH__SSH-PORT$" --mode frontend_traffic -d "$_HOSTHAPROXY-BY-SSH__EXCLUDE-PAUSED-DRAIN$" -n "$ARG1$" -w "$_HOSTHAPROXY-BY-SSH__FRONTEND__REQUEST-RATE-WARN$" -c "$_HOSTHAPROXY-BY-SSH__FRONTEND__REQUEST-RATE-CRIT$"
Données utilisées provenant du modèle
Données communes pour les checks des modèles
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|---|
HAPROXY-BY-SSH__SSH-KEY | l'Hôte ( Onglet Données ) | -- | $HAPROXY-BY-SSH__SSH-KEY$ | /var/lib/shinken/.ssh/id_rsa | Chemin vers la clé SSH privé de l'utilisateur shinken, sur le serveur hébergeant le Poller qui exécutera le check.
|
HAPROXY-BY-SSH__SSH-PASSPHRASE | l'Hôte ( Onglet Données ) | -- | $HAPROXY-BY-SSH__SSH-PASSPHRASE$ | $SSH_KEY_PASSPHRASE$ | Phrase secrète utilisée pour déchiffrer la clé privée de l'utilisateur ( si celle-ci est protégée par une passphrase ). La clé privée déchiffré est ensuite utilisée pour authentifier l'utilisateur. |
HAPROXY-BY-SSH__SSH-PORT | l'Hôte ( Onglet Données ) | -- | $HAPROXY-BY-SSH__SSH-PORT$ | 22 | Port de connexion SSH. |
HAPROXY-BY-SSH__SSH-USER | l'Hôte ( Onglet Données ) | -- | $HAPROXY-BY-SSH__SSH-USER$ | shinken-user | Nom de l'utilisateur pour se connecter sur le serveur supervisé. |
Données spécifiques pour ce check
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|---|
HAPROXY-BY-SSH__FRONTEND__REQUEST-RATE-CRIT | l'Hôte ( Onglet Données ) | -- | 3000 | 3000 | Cette donnée définit le nombre de requêtes reçu par seconde à partir duquel le check passe en CRITIQUE.
|
HAPROXY-BY-SSH__FRONTEND__REQUEST-RATE-WARN | l'Hôte ( Onglet Données ) | -- | 2000 | 2000 | Cette donnée définit le nombre de requêtes reçu par seconde à partir duquel le check passe en ATTENTION.
|
Les données DFE (Duplicate Foreach)
| Nom | Modifiable sur | Unités | Défaut | Valeur par défaut à l'installation de Shinken | Description |
|---|---|---|---|---|---|
HAPROXY-BY-SSH__FRONTENDS | l'Hôte ( Onglet Données ) | --- | frontend1$(frontend1)$ | frontend1$(frontend1)$ | Nom du ou des frontends ( séparés par une virgule ), exemple "main$(main)$,app$(app)$". |
Données utilisées provenant du check
Pas de données utilisées provenant du check
Non modifiable ( Sauf Admin Shinken ) Chemin absolu contenant les sondes installées par Shinken. Non modifiable ( Sauf Admin Shinken ) Dossier fourni par Shinken. Non modifiable ( Sauf Admin Shinken ) Dossier contenant les sondes. Non modifiable ( Sauf Admin Shinken ) Chemin absolu du dossier contenant les sondes du pack HAproxy-by-SSH__shinken ( non modifiable ). l'Hôte ( Onglet Général ) -- Adresse de l'hôteDonnées globales
Nom Modifiable sur Unité Défaut Valeur par défaut à l'installation Description USERPLUGINSDIR
-- /var/lib/shinken-user/libexec /var/lib/shinken-user/libexec GLOBAL_HAPROXY-BY-SSH_SHINKEN_VENDOR
-- shinken-additional-packs shinken-additional-packs GLOBAL_HAPROXY-BY-SSH_SHINKEN_PACKNAME
HAproxy-by-SSH__shinken HAproxy-by-SSH__shinken GLOBAL_HAPROXY-BY-SSH_SHINKEN_PLUGINSDIR
-- $USERPLUGINSDIR$/$GLOBAL_HAPROXY-BY-SSH_SHINKEN_VENDOR$/$GLOBAL_HAPROXY-BY-SSH_SHINKEN_PACKNAME$
/var/lib/shinken-user/libexec/shinken-additional-packs/HAproxy-by-SSH__shinken Propriétés de l'hôte
Nom Modifiable sur Unité Défaut Valeur par défaut Description HOSTADDRESS
Nom de l'hôte Nom de l'hôte
Résultat
Exemple
Interprétation des données
Statut
Il peut prendre 4 états OK / CRITIQUE / ATTENTION / INCONNU .
Le statut va dépendre du retour de sonde et de la configuration spécifique du check pour les données suivantes :
- HAPROXY-BY-SSH__FRONTEND__REQUEST-RATE-WARN
- HAPROXY-BY-SSH__FRONTEND__REQUEST-RATE-CRIT
Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :
| Situation | Statut | Exemple |
|---|---|---|
| CRITIQUE | |
| CRITIQUE | |
| ATTENTION |
Résultat
Le résultat court affiche, en une ligne, un résumé du trafic. Ce retour compact permet de pouvoir visualiser l'information même avec la taille des lignes réduites dans l'interface de visualisation.
Résultat long
Le résultat long affiche un tableau regroupant l'ensemble des informations sur le trafic sur le HAproxy.
Métriques
Interprétation des métriques
| Nom de la métrique | Unité | Description | Seuil d'avertissement | Seuil critique |
|---|---|---|---|---|
| in_(frontend) | B | Retourne la valeur du flux en Bits par seconde transitants en entrée du HAproxy | ||
| out_(frontend) | B | Retourne la valeur du flux en Bits par seconde transitants en sortie du HAproxy | ||
| req_rate_(frontend) | -- | Affiche le nombre de requêtes par minutes reçu par le HAproxy | ||
| scur_(frontend) | -- |
Exemple
Erreurs et pré-requis
L'authentification par clé SSH n'as pas pu s'effectuer.
Résolution : Possibles raisons : La clé SSH a utiliser sur le poller de Shinken n'as pas été trouvée.
Résolution : Vérifier sur les pollers si la clé privé indiqué dans la donnée "$_HOSTHAPROXY-BY-SSH__SSH-KEY$" est bien présente et accessible par l'utilisateur shinken. L'utilisateur utilisé sur le serveur HAProxy n'appartient pas au groupe HAproxy ou le socket HAProxy n'est pas lancé.
Résolution : La commande ci-dessous permet de lister les utilisateurs du groupe haproxy : Pour ajouter un utilisateur au groupe haproxy : Pour vérifier si le socket existe bien :Erreurs de connexion ( communes à tous les checks )
UNKNOWN – SSH authentication failed.
UNKNOWN – SSH private key could not be loaded
UNKNOWN HAProxy statistics query failed
cat /etc/group | grep haproxy
usermod -a -G haproxy user-service-shinken
ls -l /var/run/haproxy.sock







