At 11:23 PM 11/27/01 -0500, Ed Ravin wrote: >The trick is to use an MTA that supports username+tag addressing (i.e., >[EMAIL PROTECTED]). When a failure occurs, >the system sends an email alarm to the two-way pagers, with a return >address of "mon+incident-ID@domain". The "incident-ID" is unique for >the current failure (and is applied to all subsequent failures until >everything stabilizes and "goes green").
I think that's a pretty decent idea. I was thinking of a similar scheme, with the one addition that I was also thinking that the username should be embedded in the ID string. Because if you are letting people do stuff like ack, disable, etc., you should know who did it. So a particular ID string would be a "ticket" for one event for one user. Then you could see in mon.cgi, for example, who acked the message without them having to type their name in. My scheme would, ideally, require mon itself to keep track of the tickets, which required patching mon. I'm not entirely sure how you would keep track of state from your brief description. One could keep state with a separate process but it would be nice for mon just to take care of it. There'd also need to be some modification of the alert script, since you couldn't invoke them with addresses stored in the config file, since you wouldn't know the dynamic portion of the address until the failure occurred. This would be some work but wireless is definitely the way of the future. Shoot, I've had a Skytel 2-way for 5+ years now and a internet phone for 1 year, it's kind of odd that the urge has never struck me that hard before :) While it would be nice to be MTA-independent, making the whole thing work with (cough) sendmail and any other lame MTA is just too much work, since wireless providers seem to take a perverse joy in destroying message Subject: headers, dropping random characters, truncating messages in random places, etc. Addressing is about the only thing you can be sure of, and I'm sure there's wireless providers out there who don't get that right either. andrew
