We're at the point now where we have built out our basic Distributed Application. We can go to the OpsMgr console and access the Distributed Applications state view to see if our application is healthy or not. The limitation on this initial basic state view is that if you personalize the view you are doing so at a global level... so trying to show the sub states for the JBoss, Oracle or OS results in those health states showing for all distributed applications in your environment. This is kind of messy when the real goal of using distributed apps is to be more organized with focused monitoring.
Now, remember back to the first post when I mentioned you should save the distributed application to its own management pack? If you did this, you will have a folder in the OpsMgr Monitoring pane of the console named after the MP you saved as. For me it's PetStore 2.0 and because this is an unsealed MP I can build out views and organize them under this folder.
So let's do so now, I'll typically create several "Single View" objects like a State View and Event View and then combine those at the parent level to create a custom dashboard that ties the information together.
Build Out Your Organizational Hierarchy
This is completely personal preference. I tend to build a sub folder for my standalone views and keep only dashboards at the highest level, it all depends on how many metrics you plan to expose.
- Right click on the management folder and select New->Folder and specify your folder name
- Repeat for all the folders you want to create, you can also nest sub folders.
Creating the State View
- Right click on the folder under which you want the view to appear (Single Views for me) and select New->State View
- Give it a name, like Application State, then click the ellipses (...) under Show data related to: in order to pick the scope for the state view.
- Click View all targets and then in the Look for: box enter the name of your distributed application (for me it is PetStore).
That's it, we now have a scoped state view that is only for our distributed application. We can customize it to our hearts content and not impact other services that get modeled.
Creating the Alerts View
- Right click on the appropriate folder (Single Views for me) and select New->Alert View
- Give it a name, like Alerts, then click the ellipses under Show data related to:
- Click View all targets and then in the Look for: box enter the same name as for the State view
- In the Select conditions pane, click "with specific resolution state"
- In the Criteria description pane click the highlighted "specific" key word to bring up the scoping dialog
- Click "New"
So a little more painful that working with a State view, but you have a lot of options to play with in order to ensure the alerts you are seeing are the alerts you want to see. For example, you could create a view that shows you the high priority alerts that have been closed in the last 7 days.
Now we'll tie the two views together into a single Dashboard, this makes it easier to see what the overall status of our service is and at the same time see what alerts are effecting it.
- Right Click the root folder and select New->Dashboard
- Make a "2 views" pane over pane view and give it a name, for example "_Overview"
- Let the new view draw in, then click the "Click to add view" link
- Navigate through the Select View dialog to find our Application State view and select it
- Click the link on the 2nd pane and select the Alerts view we created
There we go, we're on our way to a fully modeled service stack. We've now built out 3 views that are scoped to our service and help us drill into the health of our service and only our service.
If you want to change the view that is being shown in a dashboard, right click on the title bar and select "Remove view". If you want to customize the data shown in your console, right click within the pane and select "Personalize view..."
Next we'll look at building out Performance Views which require a little more work in order to get them properly targeted.
Part 1 - Associating Components
Part 2 - Building the Service Model
Part 3 - Building Custom Views
Part 4 - Building Performance Views
Part 5 - Service Level Objectives
Comments