For the last couple of months, I have been working with customers on implementing monitoring services for workloads that are running on Azure. Based on this recent experience I have come to learn of a few different monitoring solutions available within Azure, each having its own benefits and purpose. For the benefit of everyone, I wanted to summarise my findings and share it with my readers.
Before we proceed further, I would like to start with this basic question, Why monitor your cloud application?
Monitoring provides data to ensure that your application stays up and running in a healthy state. It also helps you to stave off potential problems or troubleshoot past ones. In addition, you can use monitoring data to gain deep insights about your application. That knowledge can help you to improve application performance or maintainability, or automate actions that would otherwise require manual intervention.
Pretty, simple right? Now, let’s look at the bigger picture of end-to-end monitoring services that Azure provides all in one place.
Azure Monitor, Log Analytics, Application Insights and other OMS components, and can all be viewed in the Azure portal.
How these set of monitoring services connect together to bridge gap between Application, Infrastructure and Platform.
Alright, let’s get into the details of each of these services below.
Application Insights can be used for development and as a production monitoring solution. It works by installing a package into your app, and so gives you a more internal view of what’s going on. Its data includes response times of dependencies, exception traces, debugging snapshots, execution profiles. It provides powerful smart tools for analysing all this telemetry both to help you debug an app and to help you understand what users are doing with it. You can tell whether a spike in response times is due to something in an app, or some external resourcing issue. If you use Visual Studio and the app is at fault, you can be taken right to the problem line(s) of code so you can fix it.
Application Insights offers two pricing options, Basic and Enterprise. With Basic, you pay based on the volume of telemetry your application sends, with a 1 GB free allowance per month. This free data allowance gives you a great way to try out Application Insights as you get started, and it also allows you to use Application Insights for free on an ongoing basis for debugging and low-volume applications. For more information, please refer to this article.
OMS Service Map automatically discovers application components on Windows and Linux systems and maps the communication between services. With Service Map, you can view your servers in the way that you think of them; as interconnected systems that deliver critical services. Service Map shows connections between servers, processes, and ports across any TCP-connected architecture, with no configuration required other than the installation of an agent. If you are not sure about what OMS is, I would recommend you to watch this video.
Service map available in Insight & Analytics OMS Stand-alone solution package. You could buy this as stand-alone package ($19.10 AUD/node) or through OMS subscription (E1/E2). For more info, please refer this article here.
OMS Log Analytics is for those who need to tune performance and plan maintenance on applications running in production. It is based in Azure. It collects and aggregates data from many sources, though with a delay of 10 to 15 minutes. It provides a holistic IT management solution for Azure, on-premises, and third-party cloud-based infrastructure (such as Amazon Web Services). It provides richer tools to analyse data across more sources, allows complex queries across all logs, and can proactively alert on specified conditions. You can even collect custom data into its central repository so can query and visualise it.
Same as OMS Service Map, log Analytics is part of Insight & Analytics OMS stand-alone solution package.
It helps you monitor the performance of your networks in near real-time to detect and locate network performance bottlenecks. With the Network Performance Monitor solution, you can monitor the loss and latency between two networks, subnets or servers.
Same as OMS Service Map, network Performance monitor is part of Insight & Analytics OMS Solution package.
Azure Monitor is basic tool for monitoring services running on Azure. It gives you infrastructure-level data about the throughput of a service and the surrounding environment. If you are managing your apps all in Azure, deciding whether to scale up or down resources, then Azure Monitor gives you what you use to start.
There are no charges for Metric Queries today. On 1 November 2017, charges for Metric Queries will go into effect. For more info, please refer this article here.
Azure Advisor is a personalised cloud consultant that helps you follow best practices to optimize your Azure deployments. It analyses your resource configuration and usage telemetry and then recommends solutions that can help you improve the cost effectiveness, performance, high availability, and security of your Azure resources.
Azure Advisor is a free service. For more information, please refer this article here.
That’s all, I hope this has given you an overview on what monitoring services available on Azure and where and when to use them. If you find this useful, please feel free to share this with others.