MOM 2005 Response Script Tracing

I've been writing a MOM response script that stopped working at some point, so I had to debug or trace it. Of course, at the time I was able to check it, the problem already got solved. So, I decided to turn on tracing and give some time for the problem to re-occur.

The script was developed to write trace messages at different points using the ScriptContext.Echo(string) method, but I never tried this feature. I did a search on MSDN and found that I have to enable debugging on the *MOM AGENT* (my script runs on a remote agent box, so I have to do it there) in order to get these messages logged somewhere. The following article shows the registry keys: http://msdn2.microsoft.com/en-us/library/ms824564.aspx. Briefly, they are:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Mission Critical Software\OnePoint\EnableActiveDebugging= 1
  • HKEY_LOCAL_MACHINE\SOFTWARE\Mission Critical Software\OnePoint\DebugEnabledScripts = <Your Response Script name>

Did that, restarted the MOM service on the agent box and found that a new log file created under C:\WINDOWS\Temp\Microsoft Operations Manager with a name of "AgentResponses-<Mgmt group name> MOM.log", containing the last trace result of my response script.

So far so good, but I want to let my script-friend here doing his job and I want MOM to log every run, so I could analyze it next week when I come back. Unfortunately, MOM doesn't provide this nice feature to you, so I had to write my own scheduled task that does it:

1. Created a batch script, called MomLogGatherer, with the following content (the current trace file is assigned to an existing file):

type "C:\WINDOWS\Temp\Microsoft Operations Manager\AgentResponses-<Mgmt group name> MOM.log" >> C:\dszabo_MS\MomLog\momlog.txt

2. Created a scheduled task to call the batch script in every 5 minutes (the response script in MOM is scheduled to run in every 5 mins)

I just have to take care to archive the file sometimes before it gets too big.