Creating corrective actions with events4.nsf (with screenshots)
For a long time, I’ve been frustrated with Domino on the massive amount of messages that we sometimes receive over the weekend, late at night, or early in the morning indicating that a mail.box or some other database is corrupt.
Here’s a list of the common event generators/notifications we receive and a step by step guide on how I setup corrective actions to fix the problem and prevent the event task from spewing thousands of notification messages.
- Event/notification: Error compacting mail\somedatabase.nsf: Database is corrupt — Cannot allocate space
- Corrective Action: New event handler runs “load compact -c
” - Event/notification: Router: Mailbox file mail1.box is corrupt
- Corrective Action: New event runs “load fixup
” - Event/notification: Unable to update activity document in log database for bookmark.nsf: Database is corrupt — Cannot allocate space
- Corrective Action: New event handler runs “load fixup log.nsf”
This should significantly reduce the amount of messages that are generated by runaway event monitor notifications.
The following events cannot have event handlers run on them.
- Event/notification: Unable to store document in MailServer1/MyDomain mail\usermailbox.nsf (NoteID = 1264886) from mail\usermailbox.nsf (NoteID = 1209126): Database is corrupt — Cannot allocate space
- Reason: the command would have to be generated on remote server. No possible way to pass an argument to remote server on R6.5.6.
- Event/notification: Unable to replicate MailServer1/MyDomain mail\usermailbox.nsf: Database is corrupt — Cannot allocate space
- Reason: the command would have to be generated on remote server. No possible way to pass an argument to remote server on R6.5.6.
- Event/notification: Database is corrupt
- Reason: This event is generated by the router task based upon messages in the mail routing view in the log. The database that is corrupt is listed on a seperate line in the log than the “Database is corrupt” text, so there is no way to determine by
which database to run a command on.
I used to use Candle Intelliwatch a very long time again, which had these type of configurable activities, so I knew it was possible.
I’ve posted messages on the Notes 6 and 7 discussion forums, the Notes/Domino groups at LinkedIn.com and even created a PMR with IBM without any luck on figuring out how to do this. Incidentally, IBM told us that it wasn’t possible. Note: I’m in Hong Kong and our Lotus support comes from IBM China. Sometimes, we get good support from them, and other times, we can tell that they are reading directly from a knowledge base.
After searching through all of the the above mentioned and the help documentation for Domino 6, 7, 8, and 8.5, I generated an idea jam idea titled Put example screenshots in the Administration help
PLEASE VOTE ON IT!
I did find a link to Upgrading to Lotus Notes and Domino 7 – Chapter 3 : Domino Domain Monitoring by Mohan Raphel which did provide a couple of good clues.
I started tinkering around with what the following fields did in the event handler dialog (keeping in mind the format for running programs in server program documents):
Program
Parameters
Command line
The following assumes that you already have events4.nsf setup on all of your servers, you have created a statrep.nsf, run events and collect tasks on your servers, and have some event generators setup. Also note that the following examples are for Window servers.
That much of the process is pretty easy to figure out with the help documentation. Email me if you want an explanation on how to set it up and I’ll write another blog post.
One other important factor is that the ID you use to generate the event handlers, must be listed as an administrator in the security tab of the server document.
Here are the screen shots of the 3 tabs for the Error compacting event handler.
NOTE: the “BASICS” tab is identical for the first two examples, so I will only include it once to save space in the post.
Here are the second and third tabs for the Router: Mailbox file mail(#).box is corrupt event generator
Here are the second and third tabs for the Unable to update activity document in log database event generator. The first tab should be similar to the first two examples above with the exception that the Trigger: should be set to “Any event that matches a criteria”
This will work in R6.5.6 using the default event generators and event text that is setup from the events4.ntf template.
In R7 and greater, you have expanded features for running a program in an event handler, and more importantly, you can send a command directly to the local server console.
In my examples above, I’m sending commands to the server console, but I’m going in through the back door by executing nserver.exe -c “some valid server command”
In R8 or 8.5, it appears that you have another option called “Send Java Controller commands” to send to a remote server, but the commands are limited to (restart Domino, start Domino, and shutdown Domino).
Thanks, This helped me to resolve an imoportant issue.
Best regards,
We have lotus domino 8.5.0 server,we found from the last week that the server getting automatically restart 3-4 times daily.Any solution we be highly appreciated.