Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We, like many others I assume, get a lot of emails from systems running automated task (backups and such). Those emails should arrive on certain schedules and not contain error messages. If they don't arrive as planned or contain error messages, then obviously we have some work to do.

The problem is that with the volume of email that comes in, it can be easy to not realize an expected email did not arrive. It can also be tedious to look through a lot of email for error messages when most of the messages will not have errors.

So, it would be nice to have a system that could be configured to monitor a mail box and notify us if an expected email didn't arrive on time or had an error message in the email.

Does anyone know of an email monitoring program like this?

share|improve this question
add comment

2 Answers

up vote 2 down vote accepted

I don't know of anything like this, but it seems like it would be relatively easy to handroll a nagios monitor to check for email in a mailbox and make sure that the last one that matched the specified subject line had happened no longer than X minutes ago. So if you expect to get 1 email/hr, make sure that there's always an email in the mailbox with the matching subject that's less than an hour old. You can check as often as you like, of course since the check is time-independent.

share|improve this answer
    
I have realized I need to invest in a real monitoring system like nagios or zabbix and then just write a plugin to test the status of the job. Email is easy, but once the monitoring infrastructure is in place, monitoring is pretty easy too. –  Randy Syring Apr 27 '10 at 17:56
add comment

It's a common complaint of SAs and the solution is simpler than you think. Just turn it on it's head.

Only send email when there is a problem.

As you've well discovered, there is a breaking point whereby sending the output of every system task far outweighs any human's ability to parse it all. Either you don't have time to sit down and read all of those reports. Or, if you are lucky enough to have the time, the vast quantity of positive data makes the process of identifying the negative data statistically improbable.

You can still store that information as log files on the systems themselves for future reference. But chances are that you don't need to read them every day or week. So do yourself a favour :)

share|improve this answer
    
In some instances, your advice is helpful. However, its common to have jobs that we want to make sure run on scheduled tasks and often the easiest way to know they have run is to send an email (backup jobs for instance). While some other kind of monitoring system could be implemented in many cases, the complexity of doing so is often not warranted. Sending an email is easy and if we had a system to monitor those emails, it would be a much less complicated than trying to monitor lots of different processes accross diverse platforms and applications. –  Randy Syring Oct 9 '09 at 16:57
    
Another advantage of what you're asking for is that all the notifications are consolidated. Then "all" you have to do is process those notifications and send another one for the problem notifications. –  Ward Oct 12 '09 at 5:27
    
It will always be easier to identify: something that is there amongst nothing. Versus: something that isn't there amongst everything. –  Dan Carley Oct 18 '09 at 8:47
    
But if the process sending the email is affected by a problem then not getting an email is a problem. This is the same as the problem of monitoring your monitoring system... –  dunxd Jan 4 '13 at 16:13
add comment

Your Answer

 
discard

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.