Internal and External Monitoring To Keep Your Server Healthy
If you have your own server then you are most likely entrusting it to a server provider or co-location company. They are responsible for ensuring the underlying network infrastructure is working, and whilst they might also ensure your server is responding to ping, they will probably not be looking at what is running on the server itself.
External Monitoring for your Server
Only with the more expensive services will the server provider start looking at whether what you are hosting on the server is actually working. Even then, this will often be limited to service port checks (e.g. HTTP port 80) or sometimes URL content checks – whether loading a specific URL works and if the response provided is as expected.
This is known as external monitoring and in addition to any service provided by your hosting company, there are a quite a few commercial services that can do it for you (see below). The key here is that they regularly check specified ports or URL content from multiple geographic locations and alert you when something stops working.
However, that is only half of the story. Once you have been alerted that a service has stopped responding, you then have to log into your server to diagnose the problem. Sometimes this will be a simple case of a service crashing but sometimes it will be more difficult to track down. How do you find out what is going on if the external monitoring reports that your website slowed down between 1pm and 2pm and then stopped responding at 2.05pm before coming back up again at 2.10pm? By the time you have logged in to the server the problem has been resolved….
Internal Monitoring for your Server
Running from inside your server, internal monitoring looks at system resources and reports back the real time status. You can track a wide range of metrics including CPU load, memory usage, processes, disk space and network traffic. Separate from external monitoring, you can then get alerts when internal problems arise e.g. you start running out of disk space or the free memory gets too low.
Some tools also report back details of what was running on your server for each data sample. Combined with external monitoring, this allows you to correlate increasing page load time with increased server load and drill down to discover the exact processes eating up the CPU time.
With internal monitoring, not only can you get real time statistics about how your server is actually performing, but this data can be collected over time to give you a good picture of how your server usage is growing. This gives you an indication of when you might need to add further capacity.
It is important to have a full picture of how your servers are performing both whether the services are available globally but also at an internal level. This will ensure that you maximize uptime and maintain a good user experience through quick response times.
Internal monitoring tools:
External monitoring tools:
Full disclosure: My company produces a hosted internal server monitoring service – Server Density – which is completely free for one server and has an iPhone application so you can keep an eye on your servers on the move.