Stop!
Ever need to run a PowerShell command (or script) as a specific ID?
Maybe you need to know when the command fails to catch degraded application health?
Let’s work into the scenario with a MP Fragment
Download the latest fragments here
Operational monitoring tools including System Center, Azure Monitor
Stop!
Ever need to run a PowerShell command (or script) as a specific ID?
Maybe you need to know when the command fails to catch degraded application health?
Let’s work into the scenario with a MP Fragment
Download the latest fragments here
Shout to Tyson Paul for his initial MP with 2016, catch his blog here!
This should help speed up building the MP if you have Visual Studio 2013 or 2015 with Visual Studio Authoring Extensions (VSAE). Read Kevin Holman’s blog if this is new
Download the latest fragments here
Quicker method To build the MP as MP fragment, update the following:
get-scomrule | ? { $_.DisplayName -like “System Processor Queue Length*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “Current Disk Queue Length*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “Current Disk Queue*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “Current Dis*k Queue*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Current Disk Queue*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Average Disk Seconds Per Transfer*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Logical Disk Idle Time*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Processor Time Total*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Memory Available Megabytes*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Network Adapter Bytes Total*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Memory Pages per Second*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*System Processor Queue Length*” } | fl ID,DisplayName,Name
get-ScomGroup | ? { $_.DisplayName -like “*Load Testing Group*” } | fl ID,DisplayName
Read below if you want a specific MP for load testing
I don’t know about you, but I’ve come across the situation where you need to compare performance.
This MP should help validate performance, whether to validate physical versus virtual, or a new Server Farm, storage performance between environments, etc.
Shout to Tyson Paul for his initial MP with 2016, catch his blog here!
Check out the upcoming Gallery download for MP’s and fragments here
NOTE: GUID’s will vary to your environment
To build the MP, you will need to update the following:
Pack ID to include the OS version
Add Reference for OS Monitoring MP (can use Visual Studio (VS) MP alias if VS is available for use in your environment)
Class Type ID with OS version
Discovery ID and Target with OS Version
Overrides ID with OS Version, and Target with OS MP Rule name and reference
Use the OS Monitoring MP to help with the rule names
The far right of the Override lists the Rule that must match to the OS MP
View ID with OS Version
Folder Item Element ID and ID
MP Display Strings with OS Version
Save and Import MP without the Report parameter to see what Group ID SCOM assigns the Load Test group
Don’t forget to update MP version under Identity!
Get Report parameter value for group ID
From PowerShell
get-ScomGroup | ? { $_.DisplayName -like “*Load Testing Group*” } | fl ID,DisplayName
Alternatively, obtain from SQL SSMS
select [ManagedEntityDefaultName],[ManagedEntityRowId]
FROM [vManagedEntity]
where [ManagedEntityDefaultName] like ‘%load%’
order by displayname
SSMS Output
In MP XML, update View Target GUID to your Group ID
Add Report section, and update parameter values Rule GUID
PowerShell commands to run from MS or console installed machine
The GUID’s needed for the report parameters section
get-scomrule | ? { $_.DisplayName -like “System Processor Queue Length*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “Current Disk Queue Length*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “Current Disk Queue*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “Current Dis*k Queue*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Current Disk Queue*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Average Disk Seconds Per Transfer*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Logical Disk Idle Time*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Processor Time Total*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Memory Available Megabytes*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Network Adapter Bytes Total*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*Memory Pages per Second*” } | fl ID,DisplayName,Name
get-scomrule | ? { $_.DisplayName -like “*System Processor Queue Length*” } | fl ID,DisplayName,Name
You logged into SCOM because someone said they didn’t get a notification
Looked at subscriptions and it’s blank
Do you know if you backed up your subscriptions?
Hopefully, you read this and back up your management packs
Hope you read this blog, and it saved your life!
You can manually back up the MP
From the SCOM console
Click on the Administration Tab
Click on Management Packs (2012), or Installed Management Packs (2016)
Type ‘notification’ in the ‘Look for:’ bar
Hit Enter
Highlight the ‘Notifications Internal Library’ pack
Click on Export Management Pack
Name your path
Hit OK
# Backup Management packs to C drive
# Set up your path, this example is monadmin\backup
$date = Get-Date -UFormat “%Y-%m-%d”
c:
cd monadmin\backup
new-item -itemtype directory -path c:\monadmin\backup\$date
cd $date
Get-SCOMManagementPack -Name *Notification* | Export-SCOMManagementPack -Path “C:\monadmin\backup\$date”
Thought it funny when asking a child ‘what is a subscription?’ and the response isn’t that for movies, videos, streaming and such!?
My first thought was a magazine or newspaper.
…Anyways!
Somewhere in the middle of a Service and product, you need to know vital information
Prerequisites:
SCOM Administrator ID required for update
Channel name
Subscriber Name set up in the SCOM environments for notifications
Log in to the SCOM Console
Click on Administration Tab
Expand Notifications
Click on Subscriptions
Click on New on top right hand pane
Enter Subscription name – Company AppID Environment Problem Description
Example TestLab Queue Monitors (Retry, Suspended, MessageCount GT 1000)
Recommend reviewing subscription naming convention to help leverage the description field for quick subscription criteria visibility
https://kevinjustin.com/blog/2017/04/24/building-a-subscription/
Update the description for SUBSCRIBERS and COMMENTS based on requirements
Sample description
+MONITOR = Exchange2013 Message Count, Exchange2013 Queue in * +SEVERITY = Critical +SUBSCRIBERS = JustinTime NOC team DL + Exchange support via Email +COMMENTS Created 2017-06-13 for Additional Exchange alerting
Click Next
Click the checkbox ‘created by specific rules or monitors’
In the bottom pane, click on the hyperlink blank
In the Popup window for Monitor and Rule Search
Type Exchange
If that is too broad, type in the name of the first monitor
(repeat for the second and third monitors)
Monitor names
Exchange Message Count
Exchange Queue in
Click on Search button for each search
Highlight the monitor(s) from the output
Click Add
Verify they are in the ‘Selected rules and monitors:’ pane
Click OK
Verify the 3 monitors are in the ‘created by hyperlinked data’
Click Next
Click Add to add a subscriber
Type in Subscriber name
Click Search
Highlight Available subscriber
Click Add
Verify subscriber is in ‘Selected subscribers’ box
Click OK
Verify that subscriber shows up in subscription wizard
Click Next
Click on Add
Type in channel name
Click Search
Select from ‘Available channels’
Click Add
Verify channel is in ‘selected channel’ pane
Click OK
Click Next to verify summary
Make sure ‘Enable this notification subscription’ checkbox is checked
Click Finish
Ever need to disable a specific monitor?
I know I get tired of clicking through the console, maybe you do too?
Do you know the Monitor name and class?
If yes, then you can enable/disable monitors from PowerShell
So let’s get started.
From your management server, you can run SCOM commands as your ID (assuming your ID is set up in SCOM)
This example has 2 purposes:
Find the monitors
$Monitor = get-scommonitor | where { $_.DisplayName -like “Service Pack Compliance” } | where { $_.Name -like “*Microsoft.SQLServer.2016.DBEngine*” }
Let’s focus for a second on some differences, and how you can interchange the two depending on what information you know
DisplayName attribute is what you see in the console (note the spaces)
Name attribute typically has dots for the spaces
Override a class
Disable-SCOMMonitor -Class $Class -ManagementPack $MP -Monitor $Monitor
Just in case you need to undo the override
Enable-SCOMMonitor -Class $Class -ManagementPack $MP -Monitor $Monitor
Override a group
$Group = (Get-SCOMGroup -DisplayName “Group*”)
# Enable the group
Enable-SCOMMonitor -Group $Group -ManagementPack $MP -Monitor $Monitor
# Disable the group
Disable-SCOMMonitor -Group $Group -ManagementPack $MP -Monitor $Monitor
Reference Links
Disable-SCOMMonitor https://docs.microsoft.com/en-us/powershell/systemcenter/systemcenter2016/operationsmanager/vlatest/disable-scommonitor
Enable-SCOMMonitor https://docs.microsoft.com/en-us/powershell/systemcenter/systemcenter2016/OperationsManager/vlatest/Enable-SCOMMonitor
Hit the easy button!
For all those diehard SCOM Console MP authoring folks, don’t forget about Wei Lim’s blogs to help add PowerShell script functionality into rules and monitors.
PowerShell Rules Blog https://blogs.msdn.microsoft.com/wei_out_there_with_system_center/2015/09/28/opsmgr-new-sample-powershell-collection-rule-wizards-in-the-ops-console/
PowerShell Monitor blog https://blogs.msdn.microsoft.com/wei_out_there_with_system_center/2015/07/09/opsmgr-new-sample-wizard-to-create-powershell-monitors-in-the-ops-console/
Performance Data blog https://blogs.msdn.microsoft.com/wei_out_there_with_system_center/2015/10/03/opsmgr-collecting-performance-data-using-a-powershell-script-collection-rule-created-from-a-wizard/
Download Rule https://gallery.technet.microsoft.com/Sample-Management-Pack-e48040f7
Download Monitor https://gallery.technet.microsoft.com/Sample-Management-Pack-17b76379
If authoring with Visual Studio or Notepad++, don’t forget Holman’s MP fragments!
Discover Class = Class.And.Discovery.Script.PowerShell.mpx
Monitor Timed Script PowerShell = Monitor.TimedScript.PowerShell.mpx
Monitor Timed Script SQL Query PowerShell = Monitor.TimedScript.PowerShell.SQLQuery.mpx
PowerShell Performance Rule = Rule.Performance.Collection.PowerShellScript.mpx
Download fragments here
Happy MP Authoring!
Ever wonder where all your time goes each week?
From an executive standpoint, want to see statistics on where employees are spending most of their time?
Did you know Office365 has an Outlook AddIn for analytics? Personal Analytics Link
Access your analytics
Website https://microsoft-my.sharepoint.com/_layouts/15/me.aspx?v=analytics
Requires E3 add on or above (E5), and can be configured by the Office Admin
Set your goals in meetings, email, network, focus/project time, and after hours
Click on Email hours for insight on where you so pend your time
Click on View Details to see when you’re sending and reading email
Click on the Network tab to add important people to your dashboard that you work with (for projects, job duties, etc.)
You can add people by using the Search Bar (top right hand corner)
Add Important People to your network
Click the Star to favorite people in the ‘Stay in Touch’ pane (or from the Network pane)
From the Network pane, click on Important people to see your VIP list
Click on the Meetings
Click View Details to see what meetings you multitask
Focus Hours and After Hours
Review the insights, and customize to your needs
Knowledge Link https://support.office.com/en-us/article/Microsoft-MyAnalytics-for-Office-365-admins-77590915-6eb0-47a6-a72f-8116cfcfc2c7
Personal dashboard link
https://github.com/uglide/azure-content/blob/master/articles/log-analytics/log-analytics-add-solutions.md Repository archived by the owner on Feb 1, 2021. It is now read-only.
Do you know what your HyperV hosts are doing?
Not a HyperV fan, there’s a VMWare solution also here
Documentation https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-capacity
https://github.com/uglide/azure-content/blob/master/articles/log-analytics/log-analytics-capacity.md
Capacity dashboard
Details
Already have the dashboard setup? Perhaps this will help troubleshoot
Do you have network connectivity, or is a proxy required?
Firewall https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-proxy-firewall
Windows Agents https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-windows-agents
Verify Operations Manager event log on local agent, then filter for error events and/or EventID 4506. Look for dates/times to see when events started.
Example Event ID 4506 details the Capacity and Performance Solution, citing ‘Microsoft.IntelligencePacks.CapacityPerformance.Collector’.
2. Verify no proxy is set up (unless your network requires this)
3. 4506’s result from too many workflows sending data from MS to DB’s (OpsMgr and DW). Additionally, 4506 events can be communication issues from MS to DB server(s). Lastly, use TLS1.2 configuration as a best practice to enforce encryption from MS to SQL communication. Beyond encryption, TLS may be a culprit if AlwaysOn or SQL clusters are involved, particularly as the SCOM console connections fail as SDK cannot talk with SQL side. See Kevin Holman’s blog for additional TLS1.2 information and setup.
TLS blog https://kevinholman.com/2018/05/06/implementing-tls-1-2-enforcement-with-scom/
Learn article https://learn.microsoft.com/en-us/answers/questions/212007/scom-errors-no-data-in-summary-performance-dashboa
TechNet blog https://social.technet.microsoft.com/Forums/ie/en-US/10b38121-b0e1-43ec-bf3a-d22ae9ef0220/event-4506-data-was-dropped-due-to-too-much-outstanding-data-in-rule
MS RMSe https://www.system-center.me/opsmgr/event-4506-and-new-root-management-server-rms-management-server-ms/
Ever wonder when a SQL MP is published?
Wonder no longer, look for the SQL Engineering Blog!
New https://techcommunity.microsoft.com/t5/SQL-Server/bg-p/SQLServer/label-name/SQLReleases
Old – redirect in effect https://blogs.msdn.microsoft.com/sqlreleaseservices/