다음을 통해 공유


Monitor State Report

 

OpsMgr Health Explorer allows you to look at the State of all Monitors for a specific object.  But, what if you want to look at the State of a specific Monitor on ALL objects that it applies to?  For example, I want to see the state of the “SQL Server Windows Service” Monitor on all objects that it applies to….or maybe just those that are in a Critical State….or maybe just for the version of the monitor that is targeted at the SQL 2005 DB Engine class.  Here is a report that should help with this.

The report allows you to select a Monitor and view the state of all objects targeted by the monitor.  It requires a data source for the Operations database (the data source should be named “OpsDB”.  Kevin Holman has instructions on how to create this here.

The report has four parameters to select:

Target
Selecting a Target Class will narrow down the list of monitors to choose from.  If you know what class the monitor you are interested in targets, select it here.  Otherwise, use the default of <ALL>

Monitor Name Filter
If you know part of the name of the monitor you are interested in, enter it here to narrow down the list of monitors.  Otherwise, use the default of “%”

Monitor Name
This will give a list of monitors to choose from, based on selection in the Target and Monitor Name Filter Parameters.  This uses the Display Name property of the monitors, and there could be more than one monitor with the same display name.  For example, the SQL MP has a “SQL Server Windows Service” monitor targeted at both SQL 2005 DB Engine and SQL 2008 DB Engine.  If the Target parameter is set to "<ALL>”, we will show the state of both monitors.  If you need to narrow it down, select the desired target.

State
Select the state(s) that you want to show in the report (Unmonitored, Healthy, Warning, Critical)

 

image

 

Right now, the report is pretty basic in what it displays…I’m open to feedback and suggestions for improvement.

Monitor State Report.zip

Comments

  • Anonymous
    January 01, 2003
    Here's a quick query to show all alerts from all monitors...although you'll probably want to narrow it down to a specific monitor or date range: Select a.RaisedDateTime ,vme.FullName ,vme.DisplayName ,a.AlertName ,vds.Name as WorkflowName ,vmp.ManagementPackDefaultName as ManagementPack from Alert.vAlert a join vMonitor r on r.MonitorRowId=a.WorkflowRowId join vManagementPack vmp on vmp.ManagementPackRowID=r.ManagementPackRowId join vDisplayString vds on vds.ElementGuid=r.MonitorGuid join vManagedEntity vme on vme.ManagedEntityRowId=a.ManagedEntityRowId where a.MonitorAlertInd=1 order by a.RaisedDateTime desc

  • Anonymous
    September 06, 2010
    What if someone needs to run a report of any servers that has Drive space less than 50% or CPU is over 80% (report based on threshold values)... Would you be able to post a sample rdl on this issue??

  • Anonymous
    October 22, 2010
    Could you let me know the SQL query for populating the alerts raised by a monitor from OpsMgr DW DB?

  • Anonymous
    March 16, 2012
    Hello, Is it possible to have the same reports for a certain period of time? Apparently it is only a current status that I am getting...for now I will need to have the up and down of the service?(with graphs if possible?) Thanks, Dom