[SLIDE FROM MICROSOFT ONLINE TECH FORUM SESSION]
Now that the applications are in the Cloud, developers must find ways to debug and interact with the production applications with minimal impact and maximal efficiency.
Azure comes with a full set of tools and utilities that can be used to manage and monitor your applications.
In this session, see how streaming logs work to monitor the production application in real time. We also show how Snapshot Debugging can be used to live debug applications.
2. Davide Benvegnu
DevOps Architect
Azure DevOps Customer Advisory Team
• Microsoft Certified Professional
• Microsoft Certified Azure Solution Architect Expert
• Microsoft MVP in VSALM - 3 years
• Microsoft Event Speaker – Gold (2018 and 2019)
• MMA fighter
3. Why is working with production apps difficult?
Frustrations with
getting exceptions /
logs / data
Issues caused by
config, data, and scale
Acquiring and
configuring the
tools
4. Agenda
A single solution with Azure Monitor
See inside your production apps with Application Insights
Query logs and traces with Log Analytics
Debug apps in production with Snapshot Debugging
6. Azure Monitor
Advanced diagnostics and
analytics powered by
machine learning
capabilities
Data Driven Insights
Rich ecosystem of popular
DevOps, issue management,
SIEM, and ITSM tools
Workflow Integrations
A common platform
for all metrics, logs and
other monitoring
telemetry
Unified Monitoring
Metrics Log
Common Store
Full observability for your infrastructure, app and network
7. Signals and Sources in Azure
Azure
Subscriptions
Security Center
Resource Manager
Service Health
Azure
Resources
Network Security Groups
Virtual Machines
Storage Accounts
Guest OS
(‘user space’)
Linux syslog
Windows Perf Counters
Application
User telemetry
Application logs
Azure Tenants Azure Active Directory
Sources
8. Unified
Monitoring
Metrics
Logs
Application Container VM Monitoring
Solutions
Insights
Dashboards Views Power BI Workbooks
Visualize
Metrics Explorer Log Analytics
Analyze
Alerts Autoscale
Respond
Event Hubs Ingest &
Export APIs
Logic Apps
Integrate
Azure Monitor
Custom Sources
Application
Operating System
Azure Resources
Azure Subscription
Azure Tenant
9. Wiring It All Up
Metrics
Logs
Azure Monitor
Custom Sources
Application
Operating System
Azure Resources
Azure Subscription
Azure Tenant
Logs & Metrics
emitted by Azure
Diag. Extensions +
Agents
Windows + Linux Support
Workload Agnostic
Application Insights
SDK Driven
Multi-Language Support
For everything else
13. Application Insights Overview
Telemetry is collected at
each tier: mobile
applications, server
applications and browser
Telemetry arrives in the
Application Insights service
in the cloud where it is
processed & stored
Get a 360° view of the
application including
availability, performance
and usage patterns
20. Run analytics queries for
investigations, statistics, and
root cause + trend analysis
Log Analytics advanced query
experience now in Azure Portal
Utilize ML algorithms for
clustering and anomaly
detection
RBAC per type
Azure Monitor Logs
31. In review…
Azure Monitor: the solutions for apps in production
Application Insights: see “inside” your production apps
Log Analytics : powerful log query engine
Snapshot Debugging: debug apps in production
Why is working with production apps usually difficult? There are a number of reasons. It can be difficult to pull logs and data. Tracking sessions is complicated when there are multiple load-balanced instances. Tools may be scattered and hard to find and configure.
This is an example dashboard. From one place you can (reiterate bullets here).
This is an overview of how Application Insights works.
Application insights provides intelligent performance monitoring, looking across the full stack and tracking performance through layers of dependencies.
All of the data collected by Application Insights can be analyzed using a powerful built-in analytics query language.
Application Insights automatically provides an application map that is generated based on observed dependencies between components of your application.
With Application Insights, drilling into a transaction is possible with correlating tracing that maps the entire interaction from the browser down to the database.
Log analytics provides query capabilities directly from the portal. It can be locked down with role-based security and features built-in algorithms for detecting anomalies and clusters in the data.
The data provided by log analytics can be displayed as a table or in a variety of different chart formats. You can easily save queries to reuse later.
Snapshot debugging is a powerful feature that allows you to debug your application in production.
It is designed to support distributed applications.
As with other Azure services, it supports role-based access control.
Debugging locally is straightforward because there is typically one instance of the app running on a single server.
The cloud complicates things. In production, you have multiple users each accessing your distributed application with instances spanning multiple servers. How do you debug a specific end-to-end experience?
Snapshot debugging captures the unique callstack for a specific session so you can debug without having to understand which client or server was part of the end-to-end flow that resulted in an exception.