Let us start with a question - looking at the dashboard about - is the car ready to drive? I am sure (at least hope!) the answer no. Since you can see a few issues like the door is open, the hand brake light is on etc.
Can you imagine having a car without a dashboard, indicators on what’s happening inside?
Do you run our applications with little to no monitoring? I hope not!
Monitoring in Cloud
When it comes to Azure there are two things to be aware of at a high-level
- Platform Monitoring & Shared Capabilities: Out of box capabilities to help you monitor platform example CPU metric for VM or App Services etc.
- Deep Application and Infrastructure Monitoring: Deep monitoring of your application example Application insights can help you track slow running methods in your code.
Let's understand two types of Monitoring data i) Metrics and ii) Logs.
i) Metrics: There are three fundamental sources of metrics Platform, Guest OS and Applications. It is usually a numeric value over a period of time e.g. TotalConnectionRequests, CPU, etc (see details here)
ii) Logs: They are used to capture events that occurred in the system and can be structured or unstructured with a timestamp. There are two types of logs Activity and Diagnostic
- Activity Logs - Audit trail of everything that is happening to your resources by someone working with Azure Platform – User A stopped VM, User X deployed new service etc.
- Diagnostic Logs are resource-specific logs, in Azure, they share a common schema
here are some things you can do with Activity & Diagnostics logs
Azure Monitor - One Metrics, One Logs, and One Alerts
Azure Monitor provides a common monitoring data platform that includes Logs and Metrics. Collecting data into this platform allows data from multiple resources to be analyzed together using a common set of tools in Azure Monitor. (see full-stack capabilities here)
Finally, Azure Dashboard enables you to build rich custom dashboards consuming these metrics that are relevant to your deployments (see here)