Tag: Analytics

Azure

Overview of Monitoring in Azure

Monitoring, monitoring, monitoring! In my opinion as a Systems Architect and Developer for the last 20 years I’ve found that we don’t do enough application and resource logging. It’s only when you start working with DevOps and see how the operations team works with and troubleshoots your applications do you as a developer realize that maybe we should have added more logging to help diagnose and provide valuable insights to the state of your application.

Luckily for us when you deploy your application to Azure there is a breadth of monitoring solutions for collecting, analyzing and acting on telemetry from your application and the Azure resources that support them. These services are categorized into the following four sections:

  • Deep Application Monitoring
  • Deep Infrastructure Monitoring    
  • Core Monitoring    
  • Shared Capabilities

Monitoring overview

Deep Application Monitoring

Application Insights provides deep insights into your application performance, availability and usage, whether you have it hosted in the cloud or on-premises. Application Insights provides the capability to instrument your own applications, adding events to suit your own needs. Application Insights can be configured for new applications or you can start monitoring an existing application in production without any changes by using an agent.

Application Insights provides you with the ability to quickly identify and diagnose issues in production and can also be used for local and/or QA testing.

When leveraging Application Insights you can take advantage of Application Insights Analytics to detect trends, identify usage behaviors, and perform complex queries, and Application Insights is built upon core monitoring services found in Azure.

Deep Infrastructure Monitoring

On the infrastructure side we have Deep Infrastructure Monitoring is made up Log Analytics, Management Solutions, Service Map, and Network Monitoring which is made up by several tools that work together. These services also build upon core monitoring services in Azure that provide powerful analytics.

Core Monitoring

Core monitoring is standard across Azure resources and require only minimal configuration. Core monitoring provides the necessary telemetry that the premium monitoring services leverage. With Core monitoring we have access to Azure Monitor, Azure Advisor, Azure Service Health, and Activity Logs.

Shared Capabilities

Finally we have the shared monitoring capabilities that the core and deep monitoring services use to provide features like Alerts, Dashboards, and the Metrics Explorer.

Summary

Monitoring is an essential role in any application so that you can collect and analyze data to determine the performance, health and availability of your application and the resources that it depends on. Azure provides a very robust set of services from monitoring your application all the way down to the infrastructure it runs on.

Enjoy!

Resources

Azure Monitoring Docs

Overview of Monitoring in Azure 

Explore Azure Monitor to get started with core monitoring metrics and alerts

Explore Application Insights if you’re trying to diagnose problems in your App Service web app

Explore Log Analytics for analyzing collected monitoring data and logs

AnalyticsAzure

Monitoring and Scaling your Azure Functions

Everybody loves Azure Functions. My team recently deployed a production service using Azure Functions as the back end backbone. I’d like to share some lessons and tips we learned along the way. We’re using Azure functions in consumption plan – which basically means the platform scales in and out as required without our intervention. But […]

via Monitoring and Scaling Azure Functions — 4pp1n51ght5

Azure

Azure Functions now with Application Insights integration

Earlier this month Azure Functions was updated to have direct integration with Application Insights and is currently only available on the “beta” version of Azure Functions. At this time it’s recommended to only try this out in non-production Azure Function apps until it’s a more stable release.

Getting Started

Before we can enable Azure Function Application Insights integration, we will need to setup an Application Insights instance. If you already have one skip to the next step.

  1. Create an Application Insights instance and Application Type should be General. Once your Application Insights is setup, copy the instrumentation key which we’ll need in the next step.
    image
    image
  2. Next you will need to update your Azure Function Application Settings to configure your function to run under the “beta” version and then to set your Application Insights Instrumentation Key.image
  3. Now go to Application Settings and then update App Setting “FUNCTIONS_EXTENSION_VERSION” from “~1” to “beta” and then add a new key named “APPINSIGHTS_INSTRUMENTATIONKEY” and set the value to the Application Insights Instrumentation key you copied in step 1. Now click Save to update your Azure Function.
    image 

Once this is done, your Application Insights instance will start collecting telemetry from your Azure Function without any code changes.

Using Application Insights

Going to your Application Insights, you can start to see some metrics showing up on the overview blade:image

Live Metrics Stream

You can get a lot more insights to real-time telemetry from the Live Metrics Stream to see what’s happening right now:
image

Analytics

Another great resource of Application Insights is the Analytics portal, which provides you the ability to write your own custom queries.
image

Alerts

The previous two options are great to see what is happening or what happened historically, but Alerts will tell you what’s happening. I suggest you checkout Alerts from the Application Insights blade, where you can define alerts based on a wide array of metrics.

image

Summary

You can now add Application Insights to your Azure Functions with minimal effort, which is a powerful tool for monitoring your applications. Keep in mind that this is currently only available in the “beta” version of Azure Functions, but is something that should be coming to the production release in the near future now that it’s been merged into the develop branch on github.

Enjoy!

References

Azure Functions integration with Application Insights

Azure Functions now has direct integration with Application Insights

Application Insights

Live Metrics Stream docs