As a follow up to my recent blog post Capacity Planning – OMS Vs. OpsLogix Capacity Reports MP, I will be teaming up with the OpsLogix team and deliver a webinar next week. In this webinar, I will demonstrate how to utilize the OMS Capacity Planning Solution as well as the OpsLogix Capacity Reports MP to forecast your infrastructure fabric consumption.
The webinar is going to take place on Wednesday 3rd February, 21:00 UTC. You can find more details about this webinar on OpsLogix’s webiste: http://www.opslogix.com/capacity-planning-webcast/
This is a free webinar, only limited spots available. If you are interested in the topic, please join us next week .
One of the flagship management packs from OpsLogix is the Oracle Database MP. This MP provides several GUI driven wizard to help you creating your own monitoring solutions for Oracle by leveraging the OpsMgr management pack templates (https://technet.microsoft.com/en-au/library/hh457614.aspx). At this stage, the OpsLogix Oracle MP provides the following templates:
01. Oracle Alert Rule template
This template allows you to create a rule that checks a value from your oracle environment and generate alerts in the event that the value is detected or missing, depending on the configuration you have specified.
02. Oracle Performance Collection Rule template
This template allows you to create a rule that will collect performance data from your Oracle environment in order to visualize data on the performance view and reports.
03. Oracle Two-State Monitor Template
This template allows you to create a monitor that will check the health of an element according to the configuration that you have specified in the wizard. It will generate alerts when the monitor becomes unhealthy.
Like any other OpsMgr management pack templates, the above mentioned templates can be found in the Authoring pane of the OpsMgr console, under “Management Pack Templates”:
Some Background on Management Pack Templates
The MP templates provide great ways for users to create complex monitoring scenarios without having to use MP authoring tools such as VSAE or Silect MPAuthor. The MP templates are designed to satisfy specific monitoring needs (i.e. Windows service monitoring, TCP Port monitoring etc.). From an OpsMgr admin and operator point of view, they are great, because each template provides a user friendly GUI driven wizard for you to create your monitoring solutions.
From a MP developer point of view, these templates are not easy to create – not only because you need to define the templates in the MP, but most of time, you also need to design the UI pages to be used in the wizard, which is very time consuming (not to mention these UI pages are written in C#). I have done it several times, and believe me, they are not easy! So every time when I see a MP offers management pack templates, I really appreciate the effort put in by the developers.
Although I think the management pack templates provides a user friendly GUI driven wizard for users to create their monitoring solutions, in my opinion, the biggest drawback is also the GUI wizard. It means you HAVE TO use the GUI wizard – it may become an issue when you have a lot of stuff to configure.
Let me give you an example based on my own experience. A few months ago, I was away attending a conference overseas and a customer needed to create hundreds of instances for the Windows Service monitoring template. Because they didn’t want to wait for my return, I was told someone spent a few days clicking through the wizard many, many times.
So what other options do we have? Fortunately, the management pack template instances can be created via OpsMgr SDK.
Automating MP Template Instance Creation
If you have been following my blog series “Automating OpsMgr”, you may have already read Part 17 of this series: Creating Windows Service Management Pack Template Instance, where I demonstrated a runbook leveraging the OpsMgrExtended PowerShell module and enabled people to create a management pack template instance (in this case, the Windows Service template) using one line of PowerShell script. This was a great example on how to create the template instances in mass scales.
OK, let’s go back to the OpsLogix Oracle MP… Just to put it out there, my experience with Oracle DB is very limited. Throughout the years I spent in IT, I’ve only been dealing with Microsoft’s SQL servers. Based on my experience with SQL, I know that every DBA will have a set of queries they regularly use to monitor their SQL environments. I assume this is also the case for Oracle. So, one of the first concerns I had when I started playing with this MP is, creating user defined monitoring scenarios could be very time consuming when using the management pack template wizards. Therefore, I spent few hours today, and produced 3 separate PowerShell functions that people can use to create instances for the 3 templates mentioned above. These functions are:
These functions requires the OpsMgrExtended Module on the computer where you are running the script. Please follow the instruction and setup this module first.
I have uploaded the code for above mentioned PowerShell functions to Github. You can download them from https://github.com/tyconsulting/OpsMgr-SDK-Scripts/tree/master/OpsLogix%20Oracle%20MP%20Scripts
Now, let’s test them, I will use the –verbose switch when calling these functions so you can see the verbose messages.
01. Creating a test MP
Firstly, I’ll create a test MP using the New-OMManagementPack command from the OpsMgrExtended module:
New-OMManagementPack -SDK "OMMS01" -Name "TYANG.OpsLogix.Test" -DisplayName "TYANG OpsLogix Test MP" -Description "Custom MP for OpsLogix test MP" -Version 184.108.40.206 –Verbose
02. Create an instance for the alert rule template (using PowerShell Splatting)
Calling the New-OpsLogixOracleAlertTemplateInstance function:
03. Create an instance for the performance collection template
Calling the New-OpsLogixOraclePerfTemplateInstance function:
04. Create an instance for the Two-State Monitor template
Calling the New-OpsLogixOracle2StateMonitorTemplateInstance function:
Note: There is also a test.ps1 script in this Github repository. It contains the test parameters used as shown in the screenshots above.
As you may have noticed, these functions also have a parameter set to support the SMA / Azure Automation connection object (defined in the OpsMgrExtended Module). If you are planning to make this part of your automation solution, you can simply change this from a PowerShell function to a runbook and use the –SDKConnection parameter to establish connection to the management group. this should be very straightforward; you can refer to my previous post on the Automating OpsMgr blog series for more details.
I hope these functions will help customers who are deploying Oracle monitoring solutions using OpsLogix Oracle MP. For example, if you need to create a lot of these instances, you can create a CSV file with all the required parameters and values, and then create a very simple PowerShell script to read the CSV file and then call the appropriate functions. I’ve done the hard work for you, the rest should be pretty easy .
Lastly, if anyone would like to evaluate the OpsLogix Oracle MP, they can be contacted via email email@example.com
As you may have already heard, the biggest System Center community event System Center Universe (SCU) is coming to Melbourne this year. SCU APAC will host a 2-day event in KL, Malaysia followed by a 1-day event in Melbourne. The Malaysian event will be hosted on Tuesday and Wednesday 8th-9th March and the Melbourne event will be hosted on Friday 11th March at Crown Casino.
There will be many Cloud & Data Center MVPs, Hyper-V MVPs including many international speakers attending both events. The session information will be published soon, but let me assure you that attendees will not be disappointed based on what I already know. Additionally, I will co-present 2 sessions with my friends and CDM MVPs Alex Verkinderen (@AlexVerkinderen) and Pete Zerger (@pzerger):
- Be a hero and save the day with OMS and Power BI (co-Present with: Alex Verkinderen)
- Modernizing Your Automation Strategy with Azure Automation and OMS (co-present with Pete Zerger)
The Melbourne event organiser, my MVP buddy Daniel Mar (@barkerboy8) from Infront Consulting has asked me to help with promoting this event, and there is currently an Australian Day promotion at AUD $250 per ticket, which is discounted $50 from the normal price of $300. You will also get an additional 10% off if you get 5 or more tickets (which brings down the price to $225 per ticket). You can take advantage of this promotion by following this link: https://systemcenteruniverseaustralia2016.eventbrite.com/?discount=OZDAY
You can find more details about SCU APAC here:
Event website: http://systemcenteruniverse.asia/
For those who will attend these events, I’m looking forward to seeing you there.
Earlier this week, I have presented for a webinar hosted by WMUG NL (Windows Management User Group Netherlands). The topic is Introduction to OMS Alerting. The recording and the slide deck is now available online. You can find them here: http://wmug.nl/2016/01/15/recording-wmug-nl-webinar-6-2016-online-introduction-to-operational-management-suite-oms-alerting/
I’d like to thank everyone who has attended the webinar, and also big thanks the the event organiser and my fellow CDM MVP Kenneth van Surksum (@kennethvs).
When it comes to data center / fabric capacity planning, currently there are 2 major solutions within Microsoft’s System Center and OMS space. These solutions are:
- OMS Capacity Planning Solution (http://microsoft.com/oms)
- OpsLogix Capacity Reporting Management Pack for OpsMgr (http://www.opslogix.com/capacity-management-pack/)
In this post, I will discuss the differences and similarities between these 2 solutions
OMS Capacity Planning Solution Overview
The OMS Capacity Planning solution was designed to provide an overview on the current and future utilisation of your virtualisation infrastructure and fabric. It is freely available for all OMS customers (well, you do have to pay for the OMS data consumption).
It collects a set of performance data via OpsMgr, and forecast your resource utilization based on the performance data collected.
If you have not used the OMS Capacity Planning solution yet and would like to learn more, here is a list of great resources for you:
- OMS Blog Post Series Part 4 – Capacity Planning by Microsoft MVP Stanislav Zhelyazkov
- Chapter 5 of the Inside the Microsoft Operations Management Suite e-book
To date, out of all the solutions that OMS provides, the Capacity Planning Solution is probably the one that has the most complex requirements. It requires:
- Hyper-V hosts managed by VMM
- VMM fully integrated with OpsMgr (configured via VMM console)
- OpsMgr connected to OMS Workspace
- VMM Management Servers and Hyper-V hosts onboarded to OMS via OpsMgr
Because of the nature of this solution, it collects a specific set of performance counters on VMM and Hyper-V servers to forecast the compute and storage fabric within your virtualisation infrastructure. It does not work for Other types of hypervisors that are being managed by VMM (i.e. VMware).
It provides some charts and diagrams which gives you a high level overview of your fabric.
You can also access the performance data collected by this solution via Search (Type=Perf)
OpsLogix Capacity Report MP Overview
Unlike OMS Capacity Planning solution, the OpsLogix Capacity Report MP is not a hybrid solution. It does not require integrations with any products. Once you have imported the Capacity Report MP and the license MP, you should soon see the number of reports deployed in your OpsMgr management group.
As the names suggest, with the two absolute value reports, you can pick any performance collection rules for the language that you have selected (default to “English”).
and the report lists each instance you have selected.
The 2 columns on the left shows the forecasted changes and the forecasted value for each instance based on the time frame you have selected.
The percentage value reports are designed for the performance collection rules that are collecting percentage values. You can also specify warning and critical thresholds (in number of days) for the forecasted data.
Or, if you only want to see the critical ones, you can use “Critical Only” reports.
Although both solutions provide forecasting capabilities for your infrastructure managed by OpsMgr, it serves different purposes.
OMS Capacity Planning solution collects a specific set of performance counters around the compute and storage fabric, and provides a high level view on what is the current and future capacity for the fabric in your Hyper-V environment. If you want to take a look at what counters are being collected by the Capacity Planning solution, you can export the following MPs from your OpsMgr management group and take a look using MPViewer.
The OpsLogix Capacity Report MP provides a set of generic reports that can be used to forecast pretty much any existing counters that are being currently collected in your OpsMgr environment. This is purely a reporting MP, it does not collect any performance counters by itself.
Since the performance data collected by the OMS Capacity Planning solution is being saved only at your OMS workspace, you will not see these performance collection rules from the drop down lists in the OpsLogix capacity reports because they are not available in your OpsMgr Data Warehouse DB.
Although I have not personally tried it, theoretically, you can use the OpsLogix capacity report MP to produce forecasting reports for your Hyper-V environments (just like what the OMS Capacity Planning does), as long as you have configured OpsMgr to collect the same counters. Additionally, if you are using other hypervisors such as VMware and they are being monitored by OpsMgr, you can also use the OpsLogix capacity report MP for forecasting your fabric resource utilisation – this is something the OMS Capacity Planning solution does not provide.
I hope I have provided a high level overview and comparison between OMS Capacity Planning solution and OpsLogix Capacity Report MP in this post. If you have questions or feedback, please feel free to contact me.
I am going to speak at 2 community events in January 2016.
On 8pm Wednesday 13th Jan (Dutch time, which is going to be 6am Thursday Melbourne time), I am presenting a session on OMS Alerting and Alert Remediation in a webinar hosted by Windows Management User Group Netherlands (WMUG NL). Since it is a free webinar, everyone can register. If you are interested, you can find the registration details here: http://wmug.nl/2015/12/23/wmug-nl-webinar-1-january-13th-2016-introduction-to-oms-alerting-hosted-by-tao-yang/
On 6pm Tuesday 19th Jan (Melbourne local time), I am presenting a session on how to write your own PowerShell modules for SMA and Azure Automation at the Melbourne PowerShell user group (hosted by MVP David O’Brien). This is only a local event, so if you are a PowerShell fan and live in Melbourne, please feel free to attend this free event. You can find more information here: http://www.meetup.com/Melbourne-PowerShell-Meetup/events/227032378/
This is my first post in 2016, so happy new year everyone! Over the last few months, I have been a bit quiet on this blog, because I was involved in a book project together with Pete Zerger (@pzerger), Stanislav Zhelyazkov (@StanZhelyazkov) and Anders Bengtsson (http://contoso.se/blog/).
The book is titled Inside the Microsoft Operations Management Suite, and we have made it freely available to the community.
We wanted to bring a learning resource for the MS Operations Management Suite to the community that is complete, comprehensive, concise…and free (as in beer). While we finish final editing passes over the next couple of weeks, we wanted to share an early copy of the book so you can start digging in while we finish our work!
Description: This preview release of “Inside the Microsoft Operations Management Suite” is an end-to-end deep dive into the full range of Microsoft OMS features and functionality, complete with downloadable sample scripts (on Github). The chapter list in this edition is shown below:
Chapter 1: Introduction and Onboarding
Chapter 2: Searching and Presenting OMS Data
Chapter 3: Alert Management
Chapter 4: Configuration Assessment and Change Tracking
Chapter 5: Working with Performance Data
Chapter 6: Process Automation and Desired State Configuration
Chapter 7: Backup and Disaster Recovery
Chapter 8: Security Configuration and Event Analysis
Chapter 9: Analyzing Network Data
Chapter 10: Accessing OMS Data Programmatically
Chapter 11: Custom MP Authoring
Chapter 12: Cross Platform Management and Automation
This early edition is being shared with the community while final edits are being completed. Please send questions, comments or errata you find to firstname.lastname@example.org.
You can download for free from the TechNet Gallery at:
As the holiday season is fast approaching, 2015 has only around 10 days left. The first big System Center community event in 2016 would probably be System Center Universe North America, which is going to take place at Dallas, Taxes.
As you may or may not know, System Center Universe was originally started by my friend and fellow CDM MVP Cameron Fuller few years ago. As Cameron is currently busy organising this event, he has asked us to help him spread the words. I’m more than happy to do so because in my opinion, the System Center Universe “franchise” would have to be THE biggest System Center community event globally, and it all started in Texas, by Cameron.
Like 2015, SCU NA 2016 will also be hosted in various simulcast locations around the world. The sessions and speakers have already been announced, you can find everything you need to know from SCU NA’s website: http://www.systemcenteruniverse.com
Cameron has also published a blog post on this: http://blogs.catapultsystems.com/cfuller/archive/2015/12/17/scuniverse-returns-to-dallas-tx-and-the-world-on-january-19th-2016/
For all you Star Wars fans out there, Cameron and the team has also made the first video for SCU 2016: https://www.youtube.com/watch?v=ioJCNJRhlDo
Please help us spreading the words, to keep SCU awesome!
The biggest community event for System Center would have to be System Center Universe (SCU). This conference is currently conducted in 3 different continent: North America, Europe and Asia Pacific. Next year, it is coming down to Melbourne as part of the SCU APAC event. The SCU Australia event is going to take place on the 11th March 2016 at Crown Casino, Melbourne.
Other than the Australian based System Center, Cloud and Data Center Management MVPs (including myself), we are also going to have some globally recognised MVPs as speakers, which will be announced at a later stage once the list is finalised. I can’t drop any names at the moment, but please believe me, based on what I know so far, you don’t want to miss this event!
The SCU APAC event is managed and organised by the Infront Consulting Group APAC team. Currently, they are offering a Christmas special for the conference pass, which is only AUD $200, which is even $50 less than the super early bird special.
You can find the details about SCU Australia from here: http://systemcenteruniverse.asia/australia/
The Christmas special ends 31st December,2015. A promotional email was sent out to many people in the community few days ago. if you didn’t receive the email, you can read it here: http://burl.co/5C33A7B
Lastly, we’d like to see you in the first ever SCU Australia event. You can take advantage of the special Christmas offer and purchase your pass from here: https://www.eventbrite.com/e/system-center-universe-australia-2016-tickets-19177081166?discount=SCUAUS_XMAS
Couple of weeks ago, I published a post titled OMS Alerting Walkthrough. I mentioned in the post that I have written a test runbook called Test-OMSAlertRemediation that extracts information from the OMS alert JSON input sends to you via email.
Once you have created this rnbook in your Azure Automation account, you can use it as the remediation runbook for any OMS alerts.
#Process inputs from webhook data
Write-Verbose "Processing inputs from webhook data."
$WebhookName = $WebhookData.WebhookName
Write-Verbose "Webhook name: '$WebhookName'"
$WebhookHeaders = $WebhookData.RequestHeader
$WebhookBody = $WebhookData.RequestBody
Write-Verbose "Webhook body:"
$SearchResults = (ConvertFrom-JSON $WebhookBody).SearchResults
$SearchResultsId = $SearchResults.id
$SearchResultsValue = $SearchResults.value
$SearchResultsMetaData = $SearchResults.__metadata
#$SearchResult = $Inputs.SearchResult
Write-Verbose "Search Results:"
$SMTPConnection = Get-AutomationConnection SMTPNotification
$Subject = "Alert Remediation Runbook Input'"
$Body = @"
$($SearchResultsValue | out-String)
-Body $Body `
-HTMLBody $false `
-SMTPSettings $SMTPConnection `
-Subject $Subject `
This runbooks uses the SendEmail module for sending emails. You can install it to your automation account directly from PowerShell gallery(https://www.powershellgallery.com/packages/SendEmail/), or download the source code from GitHub(https://github.com/tyconsulting/SendEmail_PowerShellModule). Once the module is deployed to your Automation Account, you will then need to create a connection with type “SMTPServerConnection” with the name “SMTPNotification”:
You will also need to place your email address in the last line of the runbook.
The email below is a sample of what this runbook produces:
Hopefully this runbook would help you when you are designing your OMS alerting solutions.