Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Getting Cache status during run

Status
Not open for further replies.

wolf5370

Programmer
Nov 20, 2000
43
GB
Hi all,
I have a project support/monitoring task to complete and...

Does anyone know if it is possible to get status of caches while a schedule is running - externally.

Basically, for one of my Mstr 7.2.1 projects, there is a very large cache run every Monday morning. Currently, a support bod logs in from home (ras) at 4am! and checks that the reports have kicked off - he then baby sits it until it is finished. During this period he checks that they are running, and are not failing on-mass.
I have been asked to automate this, and alert if this is so - and let the bod sleep unless there is a problem.

In 6x, I could perhaps scan through the scheduler log files and pick up that it had started, had finished and a failure ratio.

In 7x (7.2.1 specifically) there seems to be no file based cache log files - as this is to be external, I am trying to avoid hitting the statistic tables directly.

Does anyone have any ideas? Done something similar?

PS: The reports (for this cache run) are all user created static (saved) reports - so putting post execution SQL on each report (to mark it as complete) would be a real maintainence overhead I think.

PPS: 'Caches starting' is simple as the cache run is event based and I can mark the time that it is triggered (actually I do this as part of a DTS package so can set a flag to 'started' etc).

Cheers,

Wolf
 
The cache won't be created until the job is complete...so there is no way to check the cache directory and ask if it is there yet. Your concern has more to do with whether the job is in fact running...i.e., did the schedule in fact kick off the job? Through the API you could initiate a check and scan all running jobs at 4AM. Part of the info you can get from the API re: these jobs is the report ID or name. If the report ID or name of a running job matches one that you are monitoring then all is well, no alert sent out. If not, then an alert needs to get kicked off...

From a higher level, I would be more concerned about whether the server is up and running at 4AM. If I were to create a widget, I would start there...if the server is NOT running, set up way to send a page or something...maybe use Narrowcaster. There are a few ways to do this.

You could also use the API to ask when the report results are returned for you static report, and then do a check in the cache directory to ensure that a new cache has been established...in 7i you can schedule admin tasks such as deleting caches, etc. Again through the API the cache monitor can be asked whether it has a report that has the same name as the one you had scheduled...this might happend at 6 AM (assuming the report runs for 1 hour or so.

I think there are a lot of ways to skin this cat. Worth discussing and possibly even logging as an enhancement request to MicroStrategy. They are pretty good about enhancement suggestions.
 
Thanks Chael, plenty to think about there. Not worried about server up though, as we have network monitoring tools that capture if a server is down or if listed services are not running on the servers. Alerts go direct to the bridge and thus support are called.

The other side of the coin is to get a ratio of failed reports to sucessfull ones (during a cache). This is a summary for the support areas - don't ask me why they want it. The easiest way I see to do this is to run an Enterprise Manager report on completion of the cache.

Thnaks for your help,
Wolf
 
So, have you figured out how to do it through enterprise manager? Problem solved?
 
Haven't tried yet, but see no problem as there are failed flags available as metrics in EM, so a simple report based on existing components.

I wanted to be able to see this at points through the run itself - e.g. if a cache run was to take two hours, I wanted to poll the succeed/fail ratio of reports running at intervals - say every 10 minutes. I could not see how the API will help as the reports that I am interested in at each iteration have already completed - (lots of shorter running jobs rather than the reverse).

I am therefore left with either running (or simulating running with the API) the above summary EM job every 10 mins (with no cache) or to read the Statistics tables externally at the same interval.

I know this seems overkill, but this all results from history - we used Mstr 6x and 5x scheduler. This tool was pretty flaky and often decided not to work, or dropped whole Agents because it had not kept up RI (i.e. a user deleted a report from the report folder that existed in a scheduled agent, Mstr 6x did not remove the job from the agent, and thus failed during the cache run. It would then drop all successive jobs in the agent regardless).

This caused the business to put a 'baby-sitting' type support in operation. We are trying to remove this now we are using the infinitly more robust 7i schedule service - and appease the business at the same time!

...but I think I'm all sorted now, so thanks for your help.

Wolf
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top