From the course: Azure for DevOps: Continuous Feedback

Azure Monitor, metrics, logs, and alerts - Azure Tutorial

From the course: Azure for DevOps: Continuous Feedback

Start my 1-month free trial

Azure Monitor, metrics, logs, and alerts

- [Instructor] Now that we understand the build measure and learn feedback loop, it is now time to look at Azure capabilities, that can help us accomplish this feedback loop, starting with Azure Monitor. So what is Azure Monitor? Azure Monitor is a native Azure capability. That means that it's an out of the box capability, so you don't need any third party monitoring solutions or analytics solutions. It is a mission critical capability. What do I mean by that? So it can help you not just diagnose performance issues or collect metrics, but it can also help you understand the overall health of your application, availability of your application across different regions where you users may be, reliability of your application, and even the infrastructure. So your application may be running on top of a VM or an app service, it can help you monitor the health of the underlying infrastructure as well. In addition, Azure Monitor is powered by a centralized logging platform, with a rich query language, so you can run queries against petabytes of data and get your information back in seconds. And finally, you're able to take advantage of the machine learning capabilities to convert this rich dataset into intelligence. You can also integrate with third-party ecosystem. So let's say you want to talk to a service management tool like ServiceNow or a PagerDuty, you will be able to integrate with those third-party solutions as well. Azure Monitor is a hybrid solution, even though it's a cloud native solution, you can use Azure Monitor to monitor resources that are not just in Azure, but also available on-premises or other cloud providers. Continuing on with the overview of Azure Monitor, Azure Monitor can help you detect and diagnose issues across your application dependencies. So what do I mean by that? Your application may be comprised of multiple components that are deployed separately, your application may be dependent on Azure SQL Database or Azure Cosmos DB. Azure Monitor can help you detect and diagnose issues across all of the dependent pieces here, you're able to correlate issues. So let's say you've built an application that is running on top of the Kubernetes server. So your application may be just fine, but the underlying Kubernetes cluster may be having an issue, or furthermore, there may be an issue with the region where cluster is hosted. How do you figure that out? How do you get the end-to-end picture of your application? And that's where Azure Monitor comes in. You can also drill down into the Log Analytics workspace, which is the centralized database. And I said earlier, this is based on a big data technology too. You can run very complex queries, like the one shown here in the diagram against petabytes of data. And then furthermore, using Azure Monitor, you can scale up your operations, which means you can set up smart alerts. So if the application reaches a certain threshold of a metric in terms of CPU utilization, and this can be statically defined or can be dynamically defined, you can even take automated actions in response to a certain event you may want to scale up or scale down as the case may be. Finally, Azure Monitor gives you rich visualizations as shown on the screen here, you can have rich dashboards, and if you wanted to do something more flexible and complex, you can do that using the notion of workbooks, which we'll be looking at later in the course. Now that we understand the high level capabilities of Azure Monitor, it's time to look at the overall architecture of Azure Monitor. So at the center of the diagram, you have the two data stores, metrics and logs, which are the two fundamental types of data used inside Azure Monitor. On the left are all of the sources of telemetry that populate these data stores in the center. So the data could be coming from application operating system, could be coming from Azure resources like Azure SQL Database, it could even be a subscription level data. So once the data is inside the data store, you can perform a number of actions shown on the right side of this diagram here. You typically start with insights and think of insights as a curated experience. So there's application insights that gives you information about your application. Your application is a container-based application, you may want to use container insights that can give you insights about the health of your container. Similarly, if your applications running on a VM, you can take advantage of VM insights. So insights are curated experience, easy to get started. Beyond that if you want to visualize your data, you can have dashboards, you can have views, if you wanted something more powerful, you can connect to a Power BI or create your own workbook. So now you've looked at the visualization, you've developed a hypothesis and you want to test that hypothesis. And this is where you want access to the raw data store. And this is where the Metric Explorer or the Log Analytics workspace, where you can write queries against comes into play. If you want to be proactive and take corrective actions to support from an operational perspective, you can set up alerts, you can even auto-scale as I had mentioned earlier, and then finally, if you want to integrate with the third-party tools that we've talked about in the previous slide, like ServiceNow or PagerDuty, there are different ways you can integrate with third-party tools. You can use Event Hubs, or you can create a workflow using Logic Apps, or you can take advantage of the APIs that are available to you.

Contents