1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Analyzing Resource Utilization on Azure

Resource Baseline

Start course

This course looks into how to capture log data and metrics from Azure services and feed this information into different locations for processing. We take a look at diagnostic logging, which can help to troubleshoot services and create queries and alerts based on that data. We also look into Azure Adviser, cost consumption reporting, and how we can baseline resources. This is an introduction to these advanced areas of Azure services.

Learning Objectives

  • Understand how to use and configure diagnostic logging for Azure services
  • Gain an understanding of Azure Monitor and how to create and manage alerts
  • Review cost consumption reporting and how to create scheduled reports
  • Investigate different methods for baselining resources

Intended Audience

  • People who want to become Azure cloud architects
  • People preparing for Microsoft’s AZ-303 exam


  • General knowledge of Azure services

For more MS Azure-related training content, visit our Microsoft Azure Training Library.


A baseline is helpful to ensure that your systems operate as expected. It's good to be able to track what has changed since the resources were first deployed. Azure Resource Manager, or ARM, allows us to use JSON files called ARM templates to define resources in Azure. This template uses what's described as declarative syntax rather than scripts. That allows us to repeatedly deploy resources with great consistency and allows us to determine if the resources have changed from their original state. Declarative syntax means you define what the resources look like, and their dependencies between the resources, and the Azure Resource Manager takes care of the actual deployment. With a template, you can use Desired State Configuration packages (or DSC). These packages are the same within the operating system. 

You can define a declarative configuration, and the provider takes care of ensuring the operating system looks like what you have defined. This style of configuration is often referred to as infrastructure as code. A benefit of using this method is that the configuration code can be submitted to a version control system to ensure that the changes are tracked and approved. This is in contrast to using scripts that execute command line operations in batches. Another approach can be to use change tracking. Change tracking is a solution that can be added to Azure resources and works by using Log Analytics and Azure Automation. You can enable this on a virtual machine. Once this feature is enabled, activity logs are collected in Log Analytics and analyzed and a dashboard is created to help identify events and changes to the operating system. The screenshot here shows Windows services and software have changed on this operating system.


About the Author

Matthew Quickenden is a motivated Infrastructure Consultant with over 20 years of industry experience supporting Microsoft systems and other Microsoft products and solutions. He works as a technical delivery lead managing resources, understanding and translating customer requirements and expectations into architecture, and building technical solutions. In recent years, Matthew has been focused on helping businesses consume and utilize cloud technologies with a focus on leveraging automation to rapidly deploy and manage cloud resources at scale.