none
Grouping monitored services to use in view

    Question

  • So I have been messing around with the authoring console and created a basic discovery to discover the application servers I want to monitor.

    I then created a few monitors for services which run on these application servers.

    Next I want to create some views. 1 for the state of the servers and another for the state of the services. Thinking about this I believe I need to somehow create and populate a group that contains all of the service monitors that I created. Any ideas on how I would achieve this?

    Wednesday, May 30, 2012 2:29 PM

Answers

  • So if I create a class called App.AppServices and then target this class when creating the monitors this will populate that class with the monitors correct?

    I might have misunderstood but this is not technically accurate. Perhaps it is the word "populate" that is confusing.

    As an example. Class = App.AppServices and you create Service Monitors called Service1, Service2 and Service3 targetted at the class App.AppServices.

    In this case, the individual services are not classes. Only App.AppServices is a class. You can't scope views based on the monitor or to see the state of individual monitors (Service1, Service2, Service3) in a state view in the monitoring console although you could view the states in Health Explorer.

    You can only scope the view at a class (or group = group of discovered objects \ classes). And the view will only show the state of the class (which is a roll up of the state of the monitors) but not the state of the individual monitors themselves. Furthermore, in SCOM 2007 R2, you could only set the class into maintenance mode (which would put all the services into maintenance mode) and not the individual monitors (services). Likewise, you can't report on the availability or each service. Only the availability of the class App.AppServices

    This is shown in these links and it is also the way that monitoring within SCOM tends to be authored from the MSFT Management Packs:

    http://www.remoteitservices.com/content/authoring-generic-windows-application-scom-2007-management-pack-part1

    http://www.remoteitservices.com/content/authoring-generic-windows-application-scom-2007-management-pack-part2

    E.g. if you look at windows 200x operating system, availability - you'll see the service monitors are targetted at this class. But you can't scope by the individual monitors or see the state of the individual monitors in a state view - you can only scope by windows 200x operating system. Likewise, there is no SQL Server service class. You can't have a view of the state of each SQL Server service. This is scoped at SQL Server 200x DB Engine - although it is the only enabled monitor that is targetted at this class.

    If you want to scope views to see individual Service State, set maintenance mode on a specific service or reporton a specific service then each service needs to be a class. This is what the Service Monitoring Authoring Template does - it creates a class per service. It can also be done using the Authoring Console. You could:

    1) Create an App Class which discovers the servers running the classes (a base class)

    2) Create a Service1 class targetted at the App Class as a seed discovery - then target a monitor at the Service1 class.

    3) Create a Service2 class targetted at the App Class as a seed discovery - then target a monitor at the Service2 class.

    It depends on what you are looking to achieve as to which is best. The first option is less resource intensive but provides less granularity.

    Cheers

    Graham 


    Regards Graham New System Center 2012 Blog! - http://www.systemcentersolutions.co.uk
    View OpsMgr tips and tricks at http://systemcentersolutions.wordpress.com/

    • Marked as answer by MK_84 Thursday, May 31, 2012 11:46 AM
    Wednesday, May 30, 2012 5:41 PM

All replies

  • I would create a discovery mp first.  This mp would contain all your server groups, classes, etc (My Application Group, Servers Hosting My Application, My Application, Service on my Application).  After I created the discovery MP, I would create a "monitoring" mp that used this discovery mp as a reference. 

    However, you could just create one mp and have discoveries in it as well.  Whatever you feel is best for you.

    Here are some links that should help you in your authoring:

    http://blogs.technet.com/b/jonathanalmquist/archive/2011/04/07/management-pack-authoring-links.aspx


    Regards, Blake Email: mengotto<at>hotmail.com Blog: http://discussitnow.wordpress.com/

    Wednesday, May 30, 2012 3:02 PM
  • I took a look at those links and i created a computer group following the tutorial. What I am still a bit unclear about is how to populate the group with the monitors i've created. Any tips or suggestions? Not sure if I am on the right track here.
    Wednesday, May 30, 2012 4:23 PM
  • You have to create a custom class, and or create the monitors and target windows.server or windows.computer class.  Keep in mind, this means the monitors will be distributed to ALL agents.  So you can create it and ensure it's not ENABLED out of the box, then override enable it for the group you created.


    Regards, Blake Email: mengotto<at>hotmail.com Blog: http://discussitnow.wordpress.com/

    Wednesday, May 30, 2012 4:36 PM
  • So if I create a class called App.AppServices and then target this class when creating the monitors this will populate that class with the monitors correct?

    Wednesday, May 30, 2012 5:05 PM
  • Yes.  Then you have to go into the MP views area and make a view that will display the state of this class.

    Regards, Blake Email: mengotto<at>hotmail.com Blog: http://discussitnow.wordpress.com/

    Wednesday, May 30, 2012 5:09 PM
  • I think i have a better understanding of this portion now thank you for the links and for your help!
    Wednesday, May 30, 2012 5:10 PM
  • So if I create a class called App.AppServices and then target this class when creating the monitors this will populate that class with the monitors correct?

    I might have misunderstood but this is not technically accurate. Perhaps it is the word "populate" that is confusing.

    As an example. Class = App.AppServices and you create Service Monitors called Service1, Service2 and Service3 targetted at the class App.AppServices.

    In this case, the individual services are not classes. Only App.AppServices is a class. You can't scope views based on the monitor or to see the state of individual monitors (Service1, Service2, Service3) in a state view in the monitoring console although you could view the states in Health Explorer.

    You can only scope the view at a class (or group = group of discovered objects \ classes). And the view will only show the state of the class (which is a roll up of the state of the monitors) but not the state of the individual monitors themselves. Furthermore, in SCOM 2007 R2, you could only set the class into maintenance mode (which would put all the services into maintenance mode) and not the individual monitors (services). Likewise, you can't report on the availability or each service. Only the availability of the class App.AppServices

    This is shown in these links and it is also the way that monitoring within SCOM tends to be authored from the MSFT Management Packs:

    http://www.remoteitservices.com/content/authoring-generic-windows-application-scom-2007-management-pack-part1

    http://www.remoteitservices.com/content/authoring-generic-windows-application-scom-2007-management-pack-part2

    E.g. if you look at windows 200x operating system, availability - you'll see the service monitors are targetted at this class. But you can't scope by the individual monitors or see the state of the individual monitors in a state view - you can only scope by windows 200x operating system. Likewise, there is no SQL Server service class. You can't have a view of the state of each SQL Server service. This is scoped at SQL Server 200x DB Engine - although it is the only enabled monitor that is targetted at this class.

    If you want to scope views to see individual Service State, set maintenance mode on a specific service or reporton a specific service then each service needs to be a class. This is what the Service Monitoring Authoring Template does - it creates a class per service. It can also be done using the Authoring Console. You could:

    1) Create an App Class which discovers the servers running the classes (a base class)

    2) Create a Service1 class targetted at the App Class as a seed discovery - then target a monitor at the Service1 class.

    3) Create a Service2 class targetted at the App Class as a seed discovery - then target a monitor at the Service2 class.

    It depends on what you are looking to achieve as to which is best. The first option is less resource intensive but provides less granularity.

    Cheers

    Graham 


    Regards Graham New System Center 2012 Blog! - http://www.systemcentersolutions.co.uk
    View OpsMgr tips and tricks at http://systemcentersolutions.wordpress.com/

    • Marked as answer by MK_84 Thursday, May 31, 2012 11:46 AM
    Wednesday, May 30, 2012 5:41 PM
  • I think granularity is what I am looking for here. 

    I want a view that will show the state of all the monitors I have created on the 2 servers that run the services.

    I will go based on your second suggestion and see what i can put together


    Wednesday, May 30, 2012 6:04 PM
  • Hi

    Glad it made some sort of sense ;-)

    The main thing is that you can't have a state view that shows the state of a specific monitor - a state view can only show the state of a class. 

    Of course, the state of a class is dependant on the state of its monitors (and the configured rollup) so in many situations that usually is sufficient (and it tends to be the way that MSFT management packs are authored).

    But if you really want to see the state of service1 and service2 then you need to create a class for each of them. You could scope the state view by the base class to show the individual state of all the discovered instances of the services or you could have seperate state views scoped at the Service1 class and Service2 class. You could then also group these discovered services if required. 

    Health explorer does give you the states of individual monitors.

    Cheers

    Graham


    Regards Graham New System Center 2012 Blog! - http://www.systemcentersolutions.co.uk
    View OpsMgr tips and tricks at http://systemcentersolutions.wordpress.com/

    Wednesday, May 30, 2012 6:13 PM