Il modo migliore per sapere se un determinato servizio remoto è attivo è chiedergli di soddisfare una richiesta nel modo in cui è destinato - in realtà è l'unico modo per sapere veramente che qualcosa funziona correttamente.
Ad esempio, chiedo sempre ai miei sistemi di bilanciamento del carico di ottenere una risposta "head" effettiva dai nostri server Web, se lo si desidera, è possibile fare lo stesso con una piccola selezione su una casella DB o su qualunque cosa serva il proprio server. Come suggerimento puoi creare un 'online.txt' (o qualunque nome tu voglia dargli) sui tuoi server web, fare in modo che i tuoi LB provino a ottenere quel file e se fallisce rimuove il server dal VIP, questo è un bel modo per estrarre manualmente i singoli server dai tuoi VIP semplicemente rinominando un singolo file.
Il ping verifica solo la capacità di rispondere ai ping, quindi si tratta di un sistema operativo di base, parti dello stack IP e collegamenti fisici - ma tutto qui, tutto il resto potrebbe essere inattivo e non lo sapresti.
So che questo è menzionato di seguito, ma vale la pena ripetere ancora e ancora.
ICMP Echo Requests (aka "Pings") (aka ICMP Type 8) sono integrati nelle specifiche dello stack IP, sì, ma non devono essere implementati o utilizzati. È un dato di fatto, ci sono un gran numero di fornitori di servizi Internet che si rifiutano di inoltrare quelle e di abbandonare silenziosamente quelle richieste, in quanto sono una forma di attacco di rete (chiamato pingflood).
Come accennato in precedenza, questo è gestito dal sistema operativo (in particolare a livello di stack di rete) e quindi spetta alla configurazione del sistema operativo rispondere a questi o meno. Se questa opzione è disattivata (una precauzione di sicurezza?), Non puoi fare nulla per ricevere risposte ping dall'altra parte. Questo è il motivo per cui non è affidabile.