Par défaut, Relianoïde effectue des vérifications de santé de base sur les backends ou les serveurs réels, mais parfois ces vérifications ne suffisent pas pour déterminer si les backends fonctionnent correctement ou non. Pour cette raison, Reliianoid implémente un service appelé Farmguardian celui qui exécute et gère les contrôles de santé avancés.
L'objectif de Farmguardian est d'agir comme un outil de surveillance avancé pour les serveurs d'applications dorsaux. Farmguardian effectue cela en lisant les configurations et en obtenant la liste des backends à l'aide de plugins qui vérifient l'état de santé de chaque backend. Farmguardian met également à jour l'état du backend pour chaque ferme, en déterminant si l'équilibreur de charge doit envoyer du trafic à ce backend.
Dans cette section, vous apprendrez à configurer le garde de ferme contrôles en utilisant à la fois le Global réglages et réglages dans un Ferme.
Paramètres globaux #
au sein de la Global section, ce sont les paramètres pour Farmguardian.
Dans l'onglet Global, les champs ne sont pas modifiables si les chèques sont préchargés dans le système. Si vous souhaitez modifier une vérification de l'état, vous devez créer un nouveau garde de ferme, activez le Copy farmguardian et modifier le nouveau.
Nom. Le nom d'identification de la vérification Farmguardian actuelle ne peut pas être modifié.
Command. Définissez la commande exécutée pour vérifier l'état des backends.
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 de temps, la vérification de farmguardian s'arrêtera et sera relancée, elle doit donc être suffisamment élevée 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 vérification Farmguardian. Avec les journaux désactivés, seules les modifications de l'état du serveur sont affichées dans les fichiers journaux.
Alias principal. Un nom qui identifie facilement l'interface du backend.
Configurer les contrôles de santé #
Tous disponible garde de ferme les plugins peuvent être trouvés sous 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 de santé avancés afin de détecter si un certain serveur réel fonctionne comme prévu à l'aide d'options personnalisées. Il existe de nombreuses vérifications de l'état de santé 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 envoyer une requête rapide à 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 simples (HTTP) et sécurisés (HTTPS), suivre les redirections, rechercher des chaînes et des expressions régulières, vérifier les temps de connexion et générer des rapports sur les délais 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 un résultat de requête par rapport à des niveaux de seuil.
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 des 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 va tenter 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érifiez l’état des machines distantes et obtenez des informations sur le 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: Essayez de vous 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 backends et gérera la sortie d'erreur d'exécution du plugin exécuté pour décider de l'état du backend 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é #
Ces plugins peuvent être configurés et entièrement programmables par les administrateurs système pour ê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 l’option Farmguardian exécute un plugin, il peut utiliser des constantes ou des 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 peuvent être utilisées pour chaque plugin, Farmguardian les utilisera pour exécuter le bilan de santé avec les paramètres réels en place.
Fermes #
Sur cet onglet, il y a une liste des fermes et des services utilisant ce Farmguardian Bilan de santé.
Les fermes et les services peuvent être affectés ou supprimés de ce Farmguardian vérification de l'état à l'aide de plusieurs sélections avec des icônes à flèche unique ou des flèches doubles pour activer ou désactiver toutes les fermes.

