Par défaut, le dispositif Relianoid effectue des contrôles d'intégrité simples sur les serveurs d'arrière-plan ou les serveurs physiques, mais ces contrôles ne suffisent parfois pas à déterminer si ces serveurs fonctionnent correctement. C'est pourquoi le dispositif exécute et gère des contrôles d'intégrité avancés via un démon qui utilise un ensemble de plugins appelé Farmguardian.
La fonction principale de Farmguardian est de servir d'outil de surveillance avancé pour les serveurs d'applications. Farmguardian analyse la configuration de la ferme et obtient la liste des serveurs, grâce à des plugins qui vérifient leur état de santé. Farmguardian met également à jour l'état des serveurs d'une ferme donnée, déterminant ainsi si l'équilibreur de charge doit leur acheminer le trafic.
Dans cette section, vous apprendrez à configurer les contrôles FarmGuardian . Nous explorerons les deux onglets : Global et Fermes.
Paramètres globaux #
Dans la section Globale , vous trouverez des paramètres pour certains contrôles de santé de FarmGuardian , comme indiqué dans l'image ci-dessous.
Les champs de cet onglet ne sont pas modifiables si le contrôle est préchargé dans le système. Pour modifier un contrôle d'intégrité, vous devez créer un nouveau FarmGuardian , activer l' option « Copier le FarmGuardian » et modifier le nouveau.
Nom. Ce nom d'identification de la vérification Farm Guardian actuelle ne peut pas être modifié.
Command. Définit la commande exécutée pour vérifier l'état du backend.
Temps mort. La durée la plus longue pour que le backend renvoie une réponse. Unités (secondes).
l'intervalle. Temps entre les lots de vérification de l'état par rapport à tous les backends. Notez qu'à chaque intervalle, la vérification de farmguardian s'arrêtera et sera relancée. Il doit donc être suffisamment élevé pour pouvoir vérifier tous les backends ( timeout * nº backends +1 ).
Description. Ce champ contient une brève description du contrôle Farmguardian.
Couper les connexions. Lorsque cette option est activée, les connexions actuelles des backends détectés qui sont en panne sont vidées, forçant une reconnexion immédiate aux backends disponibles. Si désactivé, les connexions actuelles seront drainées sans déconnecter aucun client.
Activer les journaux. Active ou désactive les journaux de chaque contrôle de farmguardian. Lorsque les journaux sont désactivés, seuls les changements d'état du backend seront affichés dans les fichiers journaux.
Configurer les contrôles de santé #
Tous les plugins FarmGuardian disponibles se trouvent dans le répertoire /usr/local/zevenet/app/libexec/ à l'intérieur de l'équilibreur de charge.
Farmguardian utilise des plugins pour configurer des contrôles d'intégrité avancés et vérifier le bon fonctionnement d'un serveur physique grâce à des options personnalisées. De nombreux contrôles sont disponibles pour chaque protocole, service ou application. Les plugins les plus importants sont décrits ci-dessous.
check_ftp . Ce plugin teste les connexions FTP avec l'hôte spécifié.
Utilisation : check_ftp -H hôte -p port [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_fping : Ce plugin utilisera la commande fping pour effectuer un test de ping rapide sur l'hôte spécifié.
Utilisation : check_fping -w limite -c limite [-b taille] [-n numéro] [-T numéro] [-i numéro]
check_http : Ce plugin teste le service HTTP sur l’hôte spécifié. Il peut tester les protocoles HTTP et HTTPS, suivre les redirections, rechercher des chaînes de caractères et des expressions régulières, vérifier les temps de connexion et générer des rapports sur les dates d’expiration des certificats, les codes de retour HTTP, etc.
Utilisation : check_http -H | -JE [-tu ] [-p ] [-J ] [-K ] [-w ] [-c ] [-t ] [-L] [-E] [-a auth] [-b proxy_auth] [-f ] [-e ] [-d chaîne] [-s chaîne] [-l] [-r | -R ] [-P chaîne] [-m : ] [-4|-6] [-N] [-M ] [-A chaîne] [-k chaîne] [-S ] [--sni] [-C [, ]] [-T ] [méthode -j]
check_imap : Ce plugin teste les connexions IMAP avec l'hôte spécifié.
Utilisation : check_imap -H hôte -p port [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ldap : Ce plugin teste les services LDAP. Il peut être testé avec une recherche donnée.
Utilisation : check_ldap -H -b [-p ] [-un ] [-D ] [-P ] [-w ] [-c ] [-t délai d'expiration] [-2|-3] [-4|-6]
check_ldaps : Ce plugin teste les services LDAPS. Il peut être testé avec une recherche donnée.
Utilisation : check_ldaps -H -b [-p ] [-un ] [-D ] [-P ] [-w ] [-c ] [-t délai d'attente] [-2|-3] [-4|-6]
check_mysql : Ce plugin teste les connexions à un serveur MySQL.
Utilisation : check_mysql [-d base de données] [-H hôte] [-P port] [-s socket] [-u utilisateur] [-p mot de passe] [-S] [-l] [-a cert] [-k clé ] [-C ca-cert] [-D ca-dir] [-L chiffrements] [-f optfile] [-g groupe]
check_mysql_query : Ce plugin vérifie le résultat d'une requête par rapport à des seuils prédéfinis.
Utilisation : check_mysql_query -q SQL_query [-w warn] [-c crit] [-H host] [-P port] [-s socket] [-d database] [-u user] [-p password] [-f optfile ] [-g groupe]
check_pgsql : Teste si une base de données PostgreSQL accepte les connexions.
Utilisation : check_pgsql [-H ] [-P ] [-c ] [-w ] [-t ] [-d ] [-l ] [-p ] [-q ] [-C ] [-W ]
check_pop : Ce plugin teste les connexions POP avec l'hôte spécifié.
Utilisation : check_pop -H hôte -p port [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_radius : Teste si un serveur RADIUS accepte les connexions.
Utilisation : check_radius -H hôte -F fichier_configuration -u nom d'utilisateur -p mot de passe [-P port] [-t délai d'attente] [-r nouvelles tentatives] [-e attente] [-n nas-id] [-N nas-ip-addr ]
check_simap : Ce plugin teste les connexions IMAP sécurisées avec l'hôte spécifié.
Utilisation : check_simap -H hôte -p port [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_smtp : Ce plugin tentera d'ouvrir une connexion SMTP avec l'hôte.
Utilisation : check_smtp -H hôte [-p port] [-4|-6] [-e attendu] [-C commande] [-R réponse] [-f de l'adresse] [-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t timeout] [-q] [-F fqdn] [-S] [-D warn jours cert expire[,crit jours cert expire]] [-v]
check_snmp : Vérifier l'état des machines distantes et obtenir des informations système via SNMP.
Utilisation : check_snmp -H -o [-w warn_range] [-c crit_range] [-C community] [-s chaîne] [-r regex] [-R regexi] [-t timeout] [-e tentatives] [-l label] [-u unités] [-p numéro de port] [-d délimiteur] [-D délimiteur de sortie] [-m miblist] [-P version snmp] [-N contexte] [-L seclevel] [-U secname] [-a authproto] [-A mot de passe d'authentification] [-x privproto] [-X mot de passe priv] [-4|6]
check_spop : Ce plugin teste les connexions POP sécurisées avec l'hôte spécifié.
Utilisation : check_spop -H hôte -p port [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ssh : Tente de se connecter à un serveur SSH sur le serveur et le port spécifiés.
Utilisation : check_ssh [-4|-6] [-t ] [-r ] [-p ]
check_ssmtp : Ce plugin teste les connexions SSMTP avec l'hôte spécifié.
Utilisation : check_ssmtp -H hôte -p port [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_tcp : Ce plugin teste les connexions TCP avec l'hôte spécifié.
Utilisation : check_tcp -H hôte -p port [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
Pour plus d'informations, exécutez la commande suivante sous le chemin du plugin:
nom_du_plugin --Aidez-moi
Farmguardian utilisera ces plugins pour vérifier l'état de santé des serveurs et gérera les erreurs d'exécution des plugins exécutés afin de déterminer l'état des serveurs comme suit :
Si l'erreur sortie == 0 alors le backend est OK> $? = 0
Si l'erreur sortie <> 0 alors le backend n'est PAS OK> $? <> 0
Plugin personnalisé #
Les administrateurs système peuvent configurer ces plugins car ils sont entièrement programmables et peuvent être adaptés à n'importe quel protocole ou application.
Cet exemple montre un plugin personnalisé check_load.sh.
#!/bin/bash ### ###comments : ###les utilitaires snmp doivent être installés ###snmpd doit être installé et configuré dans les backends ### MAXVALUE=4 COMMUNITY="public" EXECUTE=`snmpget - v 2c -c $COMMUNITY $1 .1.3.6.1.4.1.2021.10.1.3.1 |cut -d ':' -f2 | couper -d '.' -f1 | sed s/\ // | sed s/\"//` echo "La vérification de la charge du processeur SNMP pour $1 est $EXECUTE" # Si le résultat est vrai, quittez avec 1 ; erreur ; sinon exit = 0 ; OK si (( $EXECUTE >= $MAXVALUE )) ; alors #erreur de sortie ; le serveur est surchargé et l'équilibreur de charge ne va pas envoyer plus de connexions exit 1 sinon #, pas d'erreur, le serveur peut accepter plus de connexions exit 0 fi
Constants #
Lorsque Farmguardian exécute un plugin, il peut utiliser certaines constantes ou certains jetons comme arguments, comme :
HÔTE. Farmguardian se chargera de modifier cette constante par l'adresse IP réelle du serveur.
PORT. Farmguardian se chargera de modifier cette constante par le vrai port du serveur.
Ces constantes seront utilisées pour chaque plugin. Farmguardian s'en servira pour effectuer le contrôle d'intégrité avec les paramètres réels.
Fermes #
Cet onglet contient une liste des exploitations agricoles et des services utilisant ce contrôle de santé Farmguardian.
Les exploitations et les services peuvent être ajoutés ou retirés de ce contrôle d'intégrité Farmguardian à l'aide de sélections multiples avec des icônes à flèche simple ou à double flèche pour activer ou désactiver toutes les exploitations.

