93 votos

Es el Ping de una manera confiable para comprobar si un servidor está disponible?

En mi solicitud soy ping a un servidor y espera una respuesta. Estoy usando esto para determinar si el servidor está disponible y sensible o no.

Esta es una manera confiable para la determinación de la disponibilidad? Asumo un firewall podría estar filtrando el tráfico icmp... hay otros inconvenientes? Hay un método más fiable?

138voto

Some French Guy Puntos 96

La mejor manera de saber si un determinado servicio remoto está vivo es preguntar al servicio de una solicitud en la forma como se pretende, de hecho, es la única manera de realmente saber que algo está funcionando correctamente.

Como ejemplo siempre tengo mi equilibradores de carga para obtener una verdadera "cabeza" respuesta desde nuestros servidores web, usted puede hacer lo mismo para un pequeño y selecto en una base de datos de la casilla si quería, o cualquiera que sea tu servidor real que sirve. Como sugerencia puede crear un 'online.txt' (o cualquier nombre que usted desea) en los servidores web, tienen su LBs tratar de conseguir ese archivo y si falla, entonces se elimina el servidor de la VIP, esta es una buena forma de extracción manual de cada uno de los servidores de su VIPs simplemente por cambiar el nombre de un solo archivo.

Sólo Ping pruebas para la capacidad de responder a los pings, de modo que la base del sistema operativo, las partes de la pila IP y los enlaces físicos - pero todo eso, todo lo demás podría ser hacia abajo y usted no sabe.

Sé que esto que se menciona a continuación, pero vale la pena repetirlo una y otra vez.

Peticiones de Eco ICMP (también conocido como "Ping") (también conocido como ICMP de Tipo 8) son construidos en la pila IP especificación, sí, pero no están obligados a ser aplicado o utilizado. Como cuestión de hecho, hay un gran número de proveedores de internet que se niegan a esos y en silencio caída de las solicitudes, ya que son una forma de ataque a la red (llamado pingflood).

Como se mencionó anteriormente, esto es manejado por el sistema operativo (específicamente en la pila de red de nivel) y por lo que corresponde a la configuración del sistema operativo para responder a ellos o no. Si esta opción está desactivada (una medida de seguridad?), usted no puede hacer nada acerca de la recepción de ping responde desde el otro extremo. Esta es la razón por la que no es fiable.

10voto

wildpeaks Puntos 400

La mayor parte del tiempo, sí, sin embargo:

  • algunos servidores de bloquear las solicitudes de ping

  • sólo porque el servidor está respondiendo no significa automáticamente el sitio web (o cualquiera que sea el servicio que usted espera para su uso) está trabajando, usted debe también comprobar si la respuesta coincide con el contenido esperado.

5voto

sdmythos_gr Puntos 170

Es cierto que en muchas ocasiones el tráfico ICMP se filtra hacia fuera, así podría ser poco fiable...

Una mejor manera tal vez podría ser de telnet, el servidor en el puerto de servicio usted está interesado en.

es decir, telnet 127.0.0.1 8080

5voto

katit Puntos 130

Si el servidor sólo está obligado a responder a los pings, entonces este es un buen método de determinación de la disponibilidad. Si se está obligado a proporcionar, por ejemplo, un servicio web a continuación, usted debe llevar a cabo algún tipo de prueba para ver si se está trabajando de manera similar para fileservices etc.

3voto

JMW Puntos 876

ping tiene 2 inconvenientes:

  • ping envía icmp, que puede ser filtrado por el firewall
  • el puerto tcp o udp que utiliza su aplicación podría estar ocupada o que no se abra - ping no comprueba que

una solución mejor es comprobar su el puerto udp/tcp directamente, para ver si el servicio está disponible todavía... :-)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: