Ping vs TCP vs HTTP Monitors
Currently for the RapidSpike Uptime Monitoring Service you have the option to add one of three types of Uptime monitors.
Let’s take a brief look at the three and the differences between them and usage scenarios for each one. The three types are Ping Monitor, TCP Monitor, and HTTP Monitor.
A Ping Monitor is the basic networking level monitor offered by RapidSpike for any network devices (generally servers). Ping uses the ICMP protocol to check the network reachability of the device you are checking. This works at a low level and tells you that the device is there and has power to the network interface. Just because something responds to a ping request, it is not a true indication that the service on the device is running but it does help in troubleshooting so definitely one to use if you can enable it within your account.
One issue with Ping is that some Internet firewalls will block ping traffic reaching the network. It is common for TCP and HTTP monitors to work well, whilst the ping monitor fails so be sure to be mindful of this as it may need to be disabled.
Be sure to check out the Wikipedia entry for Ping.
The next level of network device monitor is the TCP Monitor. If we can ping a device then we know it is connected to the network, the next level up is to check that the desired services are accessible. All services that run on a network device are accessible via ports. These can then be communicated with either using TCP or UDP – RapidSpike only supports TCP port monitors.
By enabling a TCP Monitor you are checking that a service is accessible on a given port on the network device. For example, all websites are hosted using a web server service. These services default to being accessible on ports 80 (non-secure) or 443 (secure). So, if we set up a TCP Monitor on port 80 we are checking that the web server service is accessible on the network device via TCP.
There is a list of commonly used port numbers for both TCP and UDP and this can be used to configure a TCP Monitor for most services that would run on a network device.Be sure to check out the Wikipedia entry for TCP.
The last, and highest level of monitor is the HTTP Monitor. This monitor is checking for the existence of pages for your monitored website. The monitor work by looking at the HTTP Response Code for the configured page. If a page exists, the web server will return a status code of 200, which means OK. This is a simple check to ascertain if a page exists on a website.
it is advisable to check every page on your website (within reason if it is a database driven site) and also to check for the existence of other items such as your favicon.ico or your custom 404 page.
At this level you can also add what is called a Content Check. This extra level of complexity not only check the correct response code but also checks that some text is shown on the page. This is very useful for checking that everything is working by checking for the existence of some text that you know should be visible on a specific page.
Why would I use them all?
One benefit of configuring a ping, TCP and HTTP monitor for your servers and websites is that it provides depth in troubleshooting in the event of an error. For example, if your Ping and TCP monitors setup on your web hosting server are passing but your HTTP monitors are failing then this is probably a configuration error on the web server that is preventing your pages from being displayed.
If only the ping monitor is responding then the web server may have crashed or firewall rule added on your network device preventing access. If the Ping monitor goes down (and presuming it was not initially blocked) then it is normally an indication that there is a total server outage or something between us and the server totally blocking access.
Another use is looking at the response times from the network, the server and the application. With this information you can ascertain if there is a performance issue and identify which part of your infrastructure is causing the issue.Tying all of this together with a User Journey Monitor provides a total end to end solution for managing your web performance.