The booking portal of Nordlicht Reisen GmbH, a fictional travel agency, consists of a web application, a payment service and a service for travel confirmations. Since the last release, individual bookings respond slowly, and the customer service report reads: "sometimes it takes a long time". The web application shows no errors, and neither does the payment service. You are to find out where the time goes and build an evaluation that stands out sooner next time.
The exam calls this: analyze metrics (measures of infrastructure, usage and performance), use distributed tracing and master basic KQL.
Prior knowledge: Logs, metrics and traces as three signals and Application Insights with OpenTelemetry are explained in K3, lessons 3.4.1 and 3.4.2; your own traces and measured values in 3.4.3; KQL in detail in 3.4.4 and clearing up a fault in 3.4.6. Metrics and Log Analytics of the platform are in AZ-104, lessons 5.1 and 5.2; the monitoring of the delivery chain in lesson 6.1. This lesson is an exam map with a design task: Which question demands which view, and how do you read a trace when the fault lies between the services?
Measures: three kinds
The exam names three kinds of measures, and each has its source.
| Kind | Examples | Source in Azure |
|---|---|---|
| Infrastructure | CPU, memory, disk latency, network throughput of a VM or a container | platform metrics, VM insights, Container insights (AZ-104, lesson 5.4) |
| Usage | users, sessions, page views, funnels, flows | Application Insights, area Usage |
| Performance | response time, failure rate, dependency duration | Application Insights, views Performance and Failures |
Azure Monitor keeps two data stores: Log Analytics workspaces for logs and traces (KQL) and Azure Monitor workspaces for Prometheus and OpenTelemetry metrics (PromQL). For analysis you use the metrics explorer for metrics and Log Analytics for logs and traces; workbooks and Grafana dashboards display both.
Application Insights: the views
According to Microsoft, Application Insights organizes its tools in four groups:
- Investigate: application dashboard, Application map (map of the components), Live metrics (real time), Search (find transactions), Availability, Failures and Performance.
- Monitoring: alerts, metrics, diagnostic settings, logs, workbooks, Grafana dashboards and SDK Stats.
- Usage: users, sessions and events, Funnels (conversion rates), Flows (paths of the users), Cohorts.
- Code analysis: .NET Profiler, Code optimizations and Snapshot debugger.
The choice follows the question: "Is capacity missing?" leads to the infrastructure, "Where do users drop out?" to Usage, "Where does it get slow?" to Performance and on to the single transaction.
A peculiarity of data ingestion: Most data has a latency of under five minutes, some takes longer. Whoever sees nothing right after a test therefore waits briefly first.