Loading...

Announcing the Public Preview of Alerting on Azure Resource Graph

Announcing the Public Preview of Alerting on Azure Resource Graph

Azure Resource Graph is an Azure service designed to provide efficient and performant resource exploration with the ability to query at scale across a given set of subscriptions so that you can effectively govern your environment. While customers could provide complex queries to get visibility into their environments, there was no easy way to proactively identify issues and get notified. 

We are happy to announce that you can enable alerts on Azure Resource Graph queries using Azure Monitor alerting. With this feature, you have the option to customize alerts based on the results of your ARG (Azure Resource Graph) queries. This means that not only can you gain insights from your resource data, but you can also take proactive actions when predefined criteria are met.

 

How to Get Started

To create an alert on ARG queries, you need to have a Log Analytics Workspace and a Managed identity with reader permission for the resource.  Here is a basic guide to help you set up your first ARG alert.  

  1. Go to Azure portal to access Azure Monitor and click on either Alerts or Logs.  
  2. From the Logs query builder, craft Azure Resource Graph queries and execute them to obtain results by utilizing the specified prefix arg("").Table_name as shown in the picture below.
    Saandrine_0-1699904898951.pngarg("").resourcechanges | extend Target = tostring(properties.targetResourceType), changeType = tostring(properties.changeType), targetResourceId = tostring(properties.targetResourceId), timestamp = todatetime(properties.changeAttributes.timestamp), correlationId = todatetime(properties.changeAttributes.correlationId) | where changeType == "Delete"
  3. After checking the results, click on “New alert rule” and follow the steps from choosing the Log Analytics workspace previously created as the scope of the rule execution to “create” the alert rule. 

Sample Scenarios & Examples 

Alert on Failed update runs

 

arg("").maintenanceresources | extend failed = toint(properties.resourceUpdateSummary.failed), timeout = toint(properties.resourceUpdateSummary.timedout), maintenanceId = tostring(properties.maintenanceConfigurationId), EndTime = todatetime(properties.endDateTime) | where failed > 0 or timeout > 0 | where EndTime > ago(12h) | summarize Failed=count() by maintenanceId

 

 

Alert on VMs (Virtual Machines) needing patches

 

arg("").patchassessmentresources | where type has "softwarepatches" | extend id = tolower(id) | parse id with resourceId "/patchassessmentresults" * | where isnotnull(properties.kbId) | extend MissingUpdate = tostring(properties.patchName), Classification = tostring(properties.classifications[0]) | extend UpdatesNeeded = pack_array(MissingUpdate, Classification) | summarize UpdatesNeeded = make_set(UpdatesNeeded), Count= count() by resourceId

 

 

Related Resources 

To learn about this exciting capability, refer to:

 

This is one of many features that we plan to bring to you for rich alerting capabilities on Azure Resource Graph queries. We want to build featuresthat will help you quickly identify issues within your IT landscape, whichis why we would appreciate your feedback and collaboration opportunity here. We look forward toworkingwith you as we build out the alerting on Azure Resource Graph capabilities.

 

Happy Alerting!

 

Feedback 

If you have any feedback for Azure Resource Graph service, post your ideas here. If you're just getting started with Azure Resource Graph, you can learn about the service hereand follow us on Twitter for the latest updates.  

Published on:

Learn more
Azure Governance and Management Blog articles
Azure Governance and Management Blog articles

Azure Governance and Management Blog articles

Share post:

Related posts

Azure Landing Zones - Policy Refresh Q1 FY25

ALZ - Policy Refresh Q1 FY25 is here! As you may be aware, the ALZ team release cadence is now on quarterly basis to help customers and partne...

1 year ago

Custom Policy- Reusable Logs Templates

Reusable Templates for Sending Logs to Log Analytics Workspace   Challenge:   When it comes to developing custom policies for sendin...

1 year ago

Enhancements to Azure Monitor Baseline Alerts for Azure Landing Zones

Introduction   Welcome to our latest blog post where we dive into a number of exciting new key updates, highlight the new portal accelera...

1 year ago

Introducing the Azure Policy Community Repo

Introducing the Azure Policy Community Repo   What is the Azure Policy Community Repo? The Azure Policy Community Repo is a collaborativ...

1 year ago

General Availability: Vaulted backups for Azure Blob Storage

We are excited to announce the general availability of vaulted backups for Azure Blob Storage. Vaulted backups can help you achieve complete p...

2 years ago

Azure Update Manager to support CIS hardened images among other images

What’s coming in by end of July 2024: Azure Update Manager will add support for 35 CIS hardened images. This is the first time that Update Man...

2 years ago

Mastering your cloud journey: Essentials to Innovating, Migrating and Modernizing, on Azure

We are living during a time of rapid growth in AI technologies and seeing cloud complexity increase as a result of those advanced workloads, w...

2 years ago

Public Preview Announcement: Azure Policy Built-in Versioning

Welcome to a new era of policy management, where policy definitions are more agile, adaptable, and accessible than ever before! We are thrille...

2 years ago

Announcing Azure Monitoring Agent support in Azure Landing Zones

Introduction   Hello and welcome to another blog post about Azure Landing Zones, the best practice framework for accelerating your cloud...

2 years ago

Announcing the General Availability of Change Actor

Change Analysis  Identifying who made a change to your Azure resources and how the change was made just became easier! With Change Analys...

2 years ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy