La meilleure façon de savoir si un service distant donné est en vie est de lui demander de traiter une requête comme il est censé le faire - en fait, c'est la seule façon de savoir si quelque chose fonctionne correctement.
À titre d'exemple, je demande toujours à mes équilibreurs de charge de renvoyer une réponse "head" réelle de nos serveurs web. Vous pourriez faire de même pour une petite sélection sur une boîte DB si vous le souhaitez, ou pour tout ce que votre serveur actuel sert. Une astuce consiste à créer un fichier 'online.txt' (ou tout autre nom que vous souhaitez lui donner) sur vos serveurs web, à demander à vos LB d'essayer de récupérer ce fichier et, en cas d'échec, de retirer le serveur du VIP. C'est une bonne façon de retirer manuellement des serveurs individuels de vos VIP en renommant simplement un fichier.
Ping ne teste que la capacité à répondre aux pings, c'est-à-dire le système d'exploitation de base, certaines parties de la pile IP et les liaisons physiques, mais c'est tout, tout le reste pourrait être en panne et vous ne le sauriez pas.
Je sais que cela est mentionné ci-dessous, mais cela mérite d'être répété encore et encore.
Les requêtes d'écho ICMP (alias "Pings") (alias ICMP Type 8) sont intégrées dans la spécification de la pile IP, oui, mais il n'est pas nécessaire de les implémenter ou de les utiliser. En fait, un grand nombre de fournisseurs d'accès à Internet refusent de transmettre ces requêtes et les abandonnent en silence, car elles constituent une forme d'attaque du réseau (appelée "pingflood").
Comme mentionné ci-dessus, ceci est géré par le système d'exploitation (spécifiquement au niveau de la pile réseau) et c'est donc à la configuration du système d'exploitation de répondre ou non à ces messages. Si cette fonction est désactivée (une précaution de sécurité ?), vous ne pouvez rien faire contre la réception de réponses ping de l'autre extrémité. C'est pourquoi il n'est pas fiable.