Comprendre F5 BIG-IP

F5 : construire un moniteur HTTP ou HTTPS utile

Choisir le niveau de contrôle, écrire la requête, comprendre Send/Receive et diagnostiquer un membre de pool marqué indisponible.

Thomas SAUTIER · Publié le · Révisions de certification

  • Référence de F5 301A consultée le · Objectifs abordés : F5 301A 1.01.
  • Référence de F5 301B consultée le · Objectifs abordés : F5 301B 2.14, F5 301B 2.15.

Ce guide concerne BIG-IP sur TMOS. Les noms et options doivent être confrontés à la documentation de votre version.

Repère visuelUn port ouvert ne prouve pas la santé HTTP
Un port ouvert ne prouve pas la santé HTTP Le moniteur envoie une requête au service ciblé. La réponse est comparée à ses critères de réception, puis aux paramètres temporels. Un établissement TCP réussi ne suffit pas à prouver que la page de santé attendue est correcte. réponse 01 BIG-IP Moniteur HTTP / HTTPS 02 Service ciblé Adresse et port du test 03 Application Page de santé 04 Décision État du membre 05 Critères de réception Contenu attendu 06 Réponse HTTP Statut + corps
Le moniteur envoie une requête au service ciblé. La réponse est comparée à ses critères de réception, puis aux paramètres temporels. Un établissement TCP réussi ne suffit pas à prouver que la page de santé attendue est correcte.

Contrôler le service attendu

Un ping renseigne la joignabilité IP ; un moniteur TCP vérifie une connexion au port ; un moniteur HTTP peut vérifier une réponse applicative. Aucun de ces résultats ne prouve à lui seul que toutes les fonctions métier sont opérationnelles.

Choisissez une URL de santé stable qui représente le besoin. Une page d’accueil lourde et personnalisée rend le contrôle fragile. Une URL qui répond toujours « OK » alors que les dépendances critiques sont indisponibles rend le contrôle trop permissif.

Sources : F5, Monitors Concepts.

Écrire une requête que le serveur comprend

Pour HTTP/1.1, fournissez un en-tête Host approprié et terminez les en-têtes par une ligne vide. Dans une propriété TMSH ou JSON, les séquences \r\n représentent les fins de ligne CRLF ; ne les remplacez pas par du texte approximatif.

Voici les propriétés d’un exemple de contrôle de contenu. Ce JSON décrit le moniteur ; ce n’est pas une commande d’importation. L’URL, le nom d’hôte et la chaîne de succès sont à adapter au service réel.

Exemple de propriétés Send et ReceiveJSON · propriétés pédagogiques
{
  "send": "GET /health HTTP/1.1\r\nHost: app.example.invalid\r\nConnection: close\r\n\r\n",
  "recv": "application_ready"
}

Sources : F5, ltm monitor http.

Le statut HTTP n’est pas une décision universelle

Le comportement dépend du type de moniteur et des expressions configurées. Un serveur qui retourne 200 avec une page d’erreur peut satisfaire un contrôle trop faible. Un 302 de redirection peut au contraire ne pas fournir le contenu attendu.

Vérifiez la réponse reçue par le moniteur : Host, chemin, protocole et conditions d’accès peuvent différer de votre navigateur. Pour HTTPS, le moniteur réalise son propre échange TLS ; le profil Client SSL de la VIP ne suffit pas à décrire cet échange.

Sources : F5, ltm monitor http ; F5, Monitors Concepts.

Interval, timeout et remontée

L’intervalle règle la fréquence des tentatives ; le timeout borne le délai utilisé pour considérer une ressource indisponible. Ce ne sont pas deux noms pour la même durée. Réduire agressivement les délais peut transformer une surcharge temporaire en retraits répétés du pool.

Time Until Up et Manual Resume répondent à des besoins distincts : attendre avant la remontée, ou demander une action manuelle après récupération. La combinaison avec les autres moniteurs appliqués au node ou au pool doit être relue.

Repère visuelTimeout : séparer test, échec et reprise
Timeout : séparer test, échec et reprise Le moniteur effectue des contrôles selon son intervalle. L’absence de réponse valide pendant la fenêtre de timeout peut faire passer le membre down. Sa remontée dépend des succès et paramètres de reprise configurés : ce dessin n’impose aucun délai universel. test suivant 01 Tests successifs Interval configuré 02 Pas de succès valide Fenêtre de timeout 03 Membre down À expiration applicable 04 Reprise du service Selon les paramètres 05 Succès confirmés Up interval / time-until-up 06 Nouvelle réponse Critères satisfaits
Le moniteur effectue des contrôles selon son intervalle. L’absence de réponse valide pendant la fenêtre de timeout peut faire passer le membre down. Sa remontée dépend des succès et paramètres de reprise configurés : ce dessin n’impose aucun délai universel.

Sources : F5, ltm monitor http.

Comparer ce qui est configuré et ce qui est envoyé

Affichez le moniteur et son association au pool. Capturez ensuite un nombre limité de paquets vers un membre concerné, au bon VLAN. Recherchez connexion TCP, requête complète, réponse et contenu attendu.

Un moniteur vert sur chaque appareil est utile avant une bascule HA : une route ou une self IP différente sur le standby peut produire un résultat différent pour le même serveur.

Lire le contrôle et l’état du poolShell · commandes de lecture
tmsh list ltm monitor http /Common/mon_application all-properties
tmsh list ltm pool /Common/pool_application all-properties
tmsh show ltm pool /Common/pool_application

Sources : F5, ltm pool ; F5, Packet tracing with tcpdump.

Sources et portée

Références consultées le . Les exemples utilisent des noms et adresses de documentation à remplacer. Les commandes de lecture affichent l’existant ; les captures et requêtes de diagnostic sont à limiter au périmètre autorisé.

Retrouver le parcours de lecture F5 LTM

Continuer la série F5

Explorer tous les guides du parcours F5 LTM

Découvrir l’expertise F5 de Samhan

Échange

Besoin d’éclaircir votre architecture F5 ?

Échangeons sur vos flux, vos contraintes de disponibilité et votre configuration BIG-IP.