Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Good morning,

I am currently looking for a solution that will enable our organisation to track faults with the email system (and then send notification to IT admins, perhaps by SMS for 24/7 support).

Our ultimate goal is to determine when email (as a complete service) is not functioning correctly. This could be as a failure on our Exchange (2007) server, as a failure at the firewall or spam filter, or as another "unknown" point of failure. The critical part of the solution will be the reliable notification of IT staff.

We recognise that having a completely fail proof solution might be difficult, but does anyone have any advice to steer us in the right direction?


share|improve this question

As Ig suggests Nagios may be part of the solution.

Out of the box it will do lots of things like measuring CPU, open ports, system responding to pings. But the important thing is that it is a scheduling and reporting tool - to which its trivial to add new programs which actually measure system metrics. There are lots of other products out there to do stuff like this, but Nagios is one of the better free products (better than many of the commercial offerings). And if you look at the commercial offerings you'll spend weeks wading through all the marketing spin and bolted on functionality before you find out if its even possible to integrate your own metrics, let alone how to do it. Certainly both BMC Patrol (new version) and Oracle's Grid Control can support this - but require a lot more effort.

If you want to test end-to-end functionality then all you'd need to do is set up a scheduled job to send an email through the system (in Nagios or with a conventional scheduler) say, every 5 minutes, then set up a check in Nagios to periodically check the most recent email coming out of the system - if there is no new email (or the most recent email is over 6 minutes old) then your script should return an error status.

This kind of script is trivial to set up on a Unix system but can be more difficult (and a lot more expensive) on MSWindows boxes - unless you've got a strong aversion to Unix I'd recommend firing up Linux or BSD on a spare PC to run Nagios and the probes - but Nagios is available for MS Windows.

Sounds like your script is doing all the hard work? Not really, Nagios will manage escalations, can be configured to send alerts to different people depending on the time of day, trigger automatic actions in the event of an alert (e.g. reboot a server) and provide lots of information about why the service might be failing (e.g. disk full on email server) and lots of other stuff...erm leverage existing skillsets to integrate problem resolution strategies?


share|improve this answer

Nagios or similar tools

share|improve this answer

I would second symcbean's proposal.

Set up a job that periodically sends an email to some test mailbox (ideally outside your organization, maybe a freemail account somewhere), then have Nagios check it.

You could check whether the mail went out on your side, or even if it arrived (e.g. by pulling the mail via POP3). The latter obviously is a more comprehensive test, but risks failing if the freemailer is down, so you probably want to use two or three freemail services.

If the test fails, Nagios can alert you in various ways. You can send an SMS, either by purchasing a hardware device that attaches to the Nagios server and sends directly via GSM, or via a webservice. The latter is probably easier & cheaper, but will fail if your whole 'net connection is down.

Just remember not to have Nagios mail out the alerts ;-).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.