How can you tell if a server is down?

Let's say I am getting no connection to a website over http, ie. "Oops! Google Chrome could not connect to x" returns in a browser. What steps can I take to determine if the server is completely offline or whether there are still some services active?

So far, I have:

  • confirmed an A record is returning.

  • getting 'destination host unreachable' from ping.

  • nmap replies with no services, saying that 1000 scanned ports are filtered.

  • nping fails to initiate a TCP handshake saying 'no route to host'.


You're thinking about this the wrong way. You shouldn't care if the server is down, you should care if the service that it is offering is down. The offered service is purely conceptual. It could be composed of one or many actual technologies like HTTP, HTTPS, SSH or whatever else you are leveraging.

Don't monitor the server - monitor the service. If you're running a web server, does it really matter that you can ping it? Not really. Does it matter that your monitoring software's agent of choice can't connect to the web server running on it? Absolutely.

In a way, your questions is kind of specious. For all intents and purposes if you're running a web server and you can't connect to it's web page then your server is down regardless of what other services or connectivity is available.


The remote server is not under your control/responsibility

In this case you can only guess if the remote server is up using network tools. If the website you are trying to check is public, you can use a third-party to check for you.

The remote server is under your control/responsibility

  • if this is a physical machine, it probably has some DRAC, iLO, HMC or any other vendor specific remote access capability.

  • if it is a virtual machine, you should also have direct console access from your hypervisor or your VPS Hosting provides an AJAX term or something similar.