Sometimes working with SCOM seems to be Mission Impossible so today (should you accept the challenge) we’ll look at how to create application-based monitoring for your support and service management teams.
Our application is called Batura and to summarise it runs on Windows and the following needs monitoring:
- There is an application server that runs a windows service.
- It has a couple of databases hosted on Microsoft SQL Server 2012.
- There is an application pool and an Internet Information Services website hosted on Windows Server 2016.
We are going to create a sealed management pack using Visual Studio to create the monitoring and then use Squared Up to create an interactive \ drill down dashboard that will provide:
- Availability Status of the application
- Performance metrics of the components
The first consideration is how do we model the application? Let’s take a look at the application \ component classes that we require:
- The Microsoft Management Packs already provide us with classes for SQL databases and IIS websites and application pools so we don’t necessarily have to create classes for these components.
- There is no “out of the box” class for Batura Application Server though so we definitely need to create a class for this component
And then we will need to create the groups that we will use for scoping views, permissions and also for our Squared Up dashboard:
- Group that contains all the application Component groups. This will show the health of our application.
- A group of each of the application components (especially for more complex applications which might have more than one database \ website \ application pool):
- Group of databases
- Group of websites
- Group of application pools
- Computer Group – One of the gotchas with SCOM is that if the server is down then the computer object doesn’t go into an error or warning health state. If it was healthy when the server went down then all we see in SCOM is that server grey out in the console. So while it can be useful to have a computer group for scoping views and permissions, it isn’t that useful for the dashboard.
- Health Service Watcher Group – The way around the above is to create a Health Service Watcher group for the computers that host the application components. That way, if the computer goes down then health service watcher will go to critical and we tell we have a problem.
- Operating System Group – I also find it useful to have a group of operating system objects that host application components and a group of logical disks objects that underpin the application. But we’ll discuss that more when we create them.
The above is just an outline of one way to go about monitoring. There are other routes which we will look at in future articles. For example; you might want to create a specific class for your applications websites (and databases and application pools). This would then allow you to:
- Use it as a target for specific website monitoring that you want for this application.
- Have health state based on the health of a specific monitor rather than the IIS website class.
You would also likely want to monitor the URLs and databases remotely from “watcher nodes”; as I say; more on this later.
If you don’t already have Visual Studio to hand, then take a look here for how to download and create a key to seal our management pack. Let’s get started.