Need help understanding monitor targeting
Consider the following: The Logical Disk Fragmentation Level monitor targets the Windows Server 2003 Logical Disk class; while The monitor’s underlying script (Microsoft.Windows.Server.LogicalDisk.DefragAnalysis.vbs) iterates through each Win32_Volume on the agent hosting the logical disk targeted by the monitor; SELECT * FROM Win32_Volume WHERE (DriveType=3 or DriveType=6) and FileSystem!=null It seems to me that the above logic is flawed in the sense that, though my understanding has it that the script should run against the agent n times, n being the # of local disks discovered by OpsMgr, each instance will target all local (& RAM) disks on the agent. Having said this, the evidence is quite clear that this is not occurring, as there are only 2 event log entries (1 for “Running DefragAnalysis” & 1 for “DefragAnalysis results”) per logical disk. Can someone explain what I am missing? Thanks, Larry
May 5th, 2011 3:26pm

Targeting is driven on a per instance basis. If there are two logical disks, the workflow will run two times. If there are nine logical disks, the workflow will run 9 times. So I think you get what you are asking for if all of the logical's are discovered. Now that query looks generic, so running it 9 times will get the exact same results nine times ..... which doesn't seem right.Microsoft Corporation
Free Windows Admin Tool Kit Click here and download it now
May 5th, 2011 4:23pm

Actually the monitor is targetted to logical disks, but i'm guessing the scripts input is not the logical disk input but servername (same as with free diskspace) and it returns 1 property bag containing all the info for all disks. Actually i thought this script to run once, because it gives info back for all logical disks. But i guess i need to doublecheck that... (fictional output of the script) <xml> <instance = xxxxx-xxx-xxxx-xxxxxx> <disklabel>C:</disklabel> <fragmentation>15</fragmentation> </instance> <instance = xxxxx-xxx-xxxx-xxxxxx> <disklabel>D:</disklabel> <fragmentation>25</fragmentation> </instance> </xml> As the script would run for each instance at the same time with the same parameters (each logical disk instance would run it with the same fqdn of the computer), maybe a scom agent has some logic to detect this and run it only once. Rob Korving http://jama00.wordpress.com/
May 6th, 2011 7:16am

Actually the monitor is targetted to logical disks, but i'm guessing the scripts input is not the logical disk input but servername (same as with free diskspace) and it returns 1 property bag containing all the info for all disks. Actually i thought this script to run once, because it gives info back for all logical disks. But i guess i need to doublecheck that... (fictional output of the script) <xml> <instance = xxxxx-xxx-xxxx-xxxxxx> <disklabel>C:</disklabel> <fragmentation>15</fragmentation> </instance> <instance = xxxxx-xxx-xxxx-xxxxxx> <disklabel>D:</disklabel> <fragmentation>25</fragmentation> </instance> </xml> As the script would run for each instance at the same time with the same parameters (each logical disk instance would run it with the same fqdn of the computer), maybe a scom agent has some logic to detect this and run it only once. Rob Korving http://jama00.wordpress.com/
Free Windows Admin Tool Kit Click here and download it now
May 6th, 2011 7:16am

Hi Larry I think this is an example of how cookdown works - it is perhaps easiest to follow if you export the sealed management packs (windows server OS) to get them into xml format and then open them in the authoring console. http://technet.microsoft.com/en-us/library/ff381335.aspx http://technet.microsoft.com/en-us/library/ff381355.aspx http://myitforum.com/cs2/blogs/vdipippo/pages/workflow-cook-down-in-operations-manager-2007.aspx In the authoring console (under type library), you'll see a data source for free space and another for logical disk (which fire the script). Also in the authoring console (under type library), you'll see monitor types - the monitor types for free space uses the data source By using ReturnItems in the script and then System.ExpressionFilter, you can use the script as a single data source and yet still evaluate each instance individually. http://technet.microsoft.com/en-us/library/ff381474.aspx Cheers GrahamView OpsMgr tips and tricks at http://systemcentersolutions.wordpress.com/
May 6th, 2011 9:31am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics