Protect your Azure subscription IDs when presenting

I came across a great browser extension a while ago called Azure Mask. I’ve been following the development of it closely because for a while it didn’t work with Edge. That issue is now fixed so lets have a look.

Azure mask does exactly what it says on the tin, it will mask your Azure subscription IDs and make them appear blurred out, this is a great tool for anyone presenting or screen sharing in Azure.

Looking at the below you can see exactly that

There’s even a hand toggle to easily turn the mask on and off

Azure Mask is available for Chrome (so it works on Edge) and Firefox and is available here from GitHub big kudos to developer Brian Clark

SCOM 2016: UR10 released!

Update rollup 10 for SCOM is out you can get it here.

This is a reasonably solid update with a few fixes for some long outstanding issues.

Improvements and issues that are fixed


  • Management Pack Import is now compatible for SCOM 2007 –> SCOM 2016 Upgrade version when upgraded directly or Indirectly.
  • The exception which blocked further progress when the user attempted to configure web application availability monitoring has been fixed.
  • The security issue regarding reverse tabnabbing has been fixed in the operations manager web console.
  • Fixed the Cross-site Scripting (XSS) related security issue in the operations manager web console.
  • The cmdlet Export-SCOMEffectiveMonitoringConfiguration has been fixed to give a correct summary of the applicable monitors, rules and overrides on an object.
  • Quarterly report end date will be shown correctly for the first quarter when the “From” field is selected as “First day of previous quarter” and “To” field is selected as “Last day of previous quarter”.
  • Reports have been fixed to not show objects which have been deleted before the selected start time.
  • VB scripts for partition and grooming, calculate operations manager free space and detecting duplicate agent will now run without failure even if SNAC or MSOLEDBSQL are not installed.
  • The issue regarding the TLS 1.2 compatibility in the OleDB module has been fixed. It is no longer mandatory for the provider element to be the first reference in the connection string.
  • Fix has been provided for when the monitor erroneously turned critical due to the URL module incorrectly parsing the charset header value.
  • The  .NET API  issue regarding scheduling reports via the schedule management wizard has now been fixed.  
  • Performance improvement: Added “Recompile” hint to the stored procedures “p_SelectForTypeCache” and “p_SelectForNewTypeCache” that run frequently on SCOM DB.

What Windows Event Logs am I collecting in Azure Monitor Logs?

With Event Log collection in Azure Monitor Logs (Log Analytics), if the log name is too long you can’t see the full name in the UI and it can be tricky to check what the log is.

Especially if you don’t have data yet.

Here’s a quick script using Get-AzOperationalInsightsDataSource that will display the event logs you are collecting.

$RG = "Resource Group Name"
$WS = "Workspace Name"

$Log = Get-AzOperationalInsightsDataSource -Kind WindowsEvent -ResourceGroupName $RG -WorkspaceName $WS

$Log.Properties.EventLogName

SCOM 2019: New version of the SQL Management Pack v7.0.24.0

The latest version of the SQL version agnostic mp is out you can get it here

What’s New

  • Added a new “Securables Configuration Status” monitor targeted to SQL Server databases
  • Updated the “Product Version Compliance” monitor with the most recent versions of public updates for SQL Server
  • Updated the “Securables Configuration Status” monitor targeted to the DB Engine when a SQL Server instance participates in Availability Groups
  • Removed the “Securables Configuration Status” monitor targeted to the Availability Replica as non-useful
  • Updated the “SQL Server Database Engines” discovery; the “Netbios Computer Name” property is now uppercased.
  • Added reports from version-specific management packs for SQL Server
  • Updated monitor “Job Duration” to add current job run’s duration to its alert description
  • Updated Web Console version of SQL MP Dashboards to support SCOM 2019 UR1
  • Updated alert description of monitor “Securables Configuration Status”
  • Added “CheckStartupType” property to SSIS Health Status monitor
  • Revised columns of SQL Agent and SQL Agent Jobs state views
  • Updated display strings

Issues Fixed

  • Fixed error “Unsupported path format” in workflows targeting Filegroups
  • Fixed discovery error on non-readable availability replicas
  • Fixed wrong Run As profile in SSIS Seed Discovery
  • Fixed issue that caused rule “Disable Discovery of Selected DB Engines” to fail
  • Fixed discovery issue for databases in recovering state
  • Fixed issue in monitor “Securables Configuration Status” when it went critical on Shared-Memory-only SQL Servers
  • Fixed the Alerting Rules data source to avoid an alert storm after exiting maintenance mode
  • Fixed the SQL Log Reader data source to support changing of the SQL Authentication method
  • Fixed the Performance Reader data source to support changing of the SQL Authentication method

Azure Monitor Agent (AMA) goes preview

The new Azure Monitor Agent, is available for preview in the Azure Portal, lets have a look at how to configure data collection for this new experience.

If the Azure Monitor blade there are a couple of changes, we’re interested in the new option called Data Collection Rules this is how we’ll tell out new agent what data to collect.

Clicking new we can see there’s a few tabs to configure, under Basics, we need to name our rule, choose a subscription and resource group.

Next we need to choose the Virtual Machines we can to add to the rule, this will also deploy the agent to the VM if necessary. Note that due to the agent being in preview that it is not available in all regions currently.

Below the selected machines are all set and ready to go.

Finally we need to configure what this rule is collecting, you can choose logs or metrics and you can be more granular then before when it comes to log collection with a custom filter.

You can also have log and metrics collections in the same rule.

Once everything is configured simply click create, the agent will be deployed if necessary and the collection will start.

Easy as pie, enjoy the new monitoring experience!

SCOM 2019: Scheduled reports fail to run – The job failed. Unable to determine if the owner has access

I encountered a minor issue today which luckily proved simple to solve. Hopefully this proves useful to others.

The Issue:

In a brand new SCOM 2019 deployment the scheduled reports weren’t sending. After investigation I found the below error in the Application log on the SSRS server:

SQL Server Scheduled Job ’62A9826E-082B-4ACD-9270-6BC13FC260BE’ (0x832F33183531EF4483665BBBFCCEBD9A) – Status: Failed – Invoked on: 2020-08-05 11:00:00 – Message: The job failed. Unable to determine if the owner (DOMAIN\USER) of job 62A9826E-082B-4ACD-9270-6BC13FC260BE has server access (reason: Could not obtain information about Windows NT group/user ‘DOMAIN\USER’, error code 0x5. [SQLSTATE 42000] (Error 15404)).

The Solution

The SSRS Instance, in this case SQL 2016 SP2, was deployed using system accounts for the SQL Server and SQL agent services. Simply changing these to use a domain account with access to the SQL instance resolved the issue and reports started sending shortly after.

See the source image

SCOM 2019: Update Rollup 2 Released!

UR 2 for SCOM 2019 is out and it’s a big one get it here

This is a fantastic update with the long awaited MP change tracking feature and tons of fixes.

What’s new?

  • Change tracking for management packs
  • Improvements in scheduled maintenance mode
  • Favorite reports in web console
  • Support for folders in monitoring view of web console
  • Support for CentOS 8

What’s fixed?

This is a big update and the list of fixes is long as this includes not only the recent SCOM hotfix but also many other useful changes see here for the full list.

Coming soon: SCOM as a Service!

See the source image

Let me start by saying that this news is really exciting, as any one in the monitoring world can tell you SCOM has faced a little bit of uncertainty in the past and the announcement of an upcoming SCOMaaS offering from Microsoft sends a clear message that the product has a place in the companies future.

Not a lot of information is available yet but here’s what we do know:

For starters the solution will be containerized which will leverage all of the benefits of containers such as speed of deployment and scaling to name a few.

A SCOM administrator will be able to “lift & shift” their existing SCOM environment into Azure – Aakash Basavaraj Program Manager for the SCOM Team at Microsoft.

This bodes well for existing SCOM customers as it means that the ability to easily migrate to a SCOMaaS solution will be available and that they won’t have to set up their new platform from scratch. This really shows that Microsoft has given thought and care towards truly bringing SCOM to the cloud.

When will is be available?

Unfortunately no details are available yet around timelines or pricing, I know I’ll be watching this develop with keen interest. One thing is for certain SCOM and Azure Monitor are now more firmly hand in hand then ever before.

SCOM 2019: Updated SQL Management Packs for SSRS and SSAS v7.0.22.0

Updated management packs for SSRS and SSAS have been released, they are available at the below links and support versions from 2012 through to 2019 and now include Power BI Report Server:

SQL Server Analysis Services

SQL Server Reporting Services

SQL Server Analysis Services MP Changelog

What’s New

  • Added support for SQL Server Analysis Services 2012, 2014, and 2016 in addition to previously supported 2017 and up
  • Added Start/Stop Analysis Services Windows Service tasks
  • Implemented Database Status monitor 
  • Updated display strings

SQL Server Reporting Services MP Changelog

What’s New

  • Added support for monitoring SQL Server Reporting Services 2012, 2014, and 2016 in addition to 2017 and up
  • Added Start/Stop Reporting Services Windows Service tasks
  • Updated Event Log Collection Target Management Server Discovery to make it use default SCOM action profile instead of SQL MP Discovery run as profile
  • Updated display name of SSRS Deployment object to display AG name as part of it instead of GUID
  • Updated logic of installation detection for local Reporting Services instance to query Windows Registry instead of WMI
  • Improved error handling for cases when error “Process with an Id is not running” is returned
  • Updated display strings

Bug Fixes

  • Fixed false alerting with status code 400 in monitor Report Manager Accessible for SSRS 2016 and PBIRS
  • Fixed alert parameter replacement failure in monitor Report Manager Accessible
  • Fixed issue with accessing DBConnectionString property of PBIRS
  • Fixed NullReferenceException error when Report Server portal being configured to have several ports

Scheduling reports using your Azure Monitor data

It’s quite a common ask, as to how to take the data in an Azure Monitor Logs workspace and create a report that can then be scheduled. Lets take a look at how we can achieve that.

Immediately we are talking about automation when we use the word schedule and Azure has several tools which we can use. The best fit in this case is Logic Apps.

In this example we will create a report showing if any agents haven’t had a successful heartbeat in the past 24 hours.

Navigate to the Logic Apps blade in your Azure Portal and click +Add

Populate the fields selecting my subscription and resource group, creating a new RG if necessary. Then I’ll give my logic app a name and choose my Azure region and click Review + Create and then Create

Once the deployment is complete I can navigate to the resource and it automatically opens the Logic Apps Designer. Now every Logic App needs to start with a trigger and because I want to run a schedule I am going to use Recurrence

I want this on a daily basis so I’m going to enter 24 Hour as my parameters and then click new step

Search for Run Query and Visualize Results as this option will allow a KQL query as a parameter and the results can be manipulated in a variety of ways. Make sure to select the one for Azure Monitor Logs and not for Azure Data Explorer.

You will need to sign in to create a connection with Azure Monitor Logs. Now populate the fields choosing the subscription, resource group and workspace that contains the data you want to use in your report. Put your query in the relevant section and choose chart type HTML.

Heartbeat
| project TimeGenerated, Computer
| where TimeGenerated < now()
| summarize ["Last Heartbeat"]=max(TimeGenerated) by Computer
| where ["Last Heartbeat"] < ago(24h)

The last thing that needs to be done is connect the logic app to a step to send email, click New Step, search for send an email, I’ll be using Office365 but you can use other providers. Select Send an email v2 and sign in to create the connection.

Populate as below making sure to include the attachments

Click save and we’re all good to go. Now test by clicking Run.

You should receive an email with an attachment and voila opening it will have a nice html table with our query results.

These steps can be easily replicated and amended to be used for any number of handy reports using your Azure Monitor Logs data.