Share via


How to Query for Rules

Applies To: System Center 2012 - Operations Manager

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

You can use rules in Operations Manager to collect data, such as events, that are generated by managed objects. Rules can be used instead of monitors to generate alerts when the data that is collected from managed objects does not indicate the health state of the managed objects. You can query for rules by defining criteria in the Microsoft.EnterpriseManagement.Configuration.ManagementPackRuleCriteria class constructor. The criteria syntax is defined in Criteria Expression Syntax. The following property names are valid names that can be used in the criteria expression:

  • Id

  • Name

  • ManagementPackId

  • Target

  • Enabled

  • CategoryOld

  • DisplayName

  • Description

  • ConfirmDelivery

  • TimeAdded

  • LastModified

  • Remotable

  • Priority

  • DiscardLevel

  • HasNonCategoryOverride

  • Category

The following code queries for all the performance collection rules that are enabled:

/// <summary> 
/// Query for rules.
/// </summary>
using System;
using System.Collections.Generic;
using Microsoft.EnterpriseManagement;
using Microsoft.EnterpriseManagement.Configuration;
using Microsoft.EnterpriseManagement.Monitoring;

namespace SDKSamples
{
    class Program
    {
        static void Main(string[] args)
        {
            ManagementGroup mg = new ManagementGroup("localhost");

            // The criteria specifies that you want to collect
            // all the rules that are enabled and categorized by 
            // performance collection.
            ManagementPackRuleCriteria ruleCriteria =
                new ManagementPackRuleCriteria(
                "Enabled = 4 AND Category = 'PerformanceCollection'");

            Console.WriteLine("Querying for data...");
            IList<ManagementPackRule> monitoringRules =
                mg.Monitoring.GetRules(ruleCriteria);

            // Display information about each rule.
            foreach (ManagementPackRule rule in monitoringRules)
            {
                Console.WriteLine("Rule name: " + rule.Name);
                Console.WriteLine("Category: " + rule.Category);
                Console.WriteLine("Enabled: " + rule.Enabled.ToString());
                Console.WriteLine("Description: " + rule.Description +
                    Environment.NewLine);
            }

        }
    }
}

See Also

Concepts

Operations Manager Data Queries Overview