SlideShare a Scribd company logo
Azure
Application
Insights
An introduction
Matthias Güntert – November 2021
Agenda
• What is Application Insights?
• What does it monitor?
• Investigation Tools
• Usage Analysis
• Tips & Tricks (optional)
About me
Personal
• Father of two kids
• Digital photographer
• Supermoto rider
• Blogger: www.azureblue.io
Professional
• Azure Cloud Enthusiast & Solution Architect
• Work for Solveva, a company focusing on software
solutions in the insurance sector
What is Application Insights?
• Application Monitoring solution
• Feature of Azure Monitor
• Collects logs & metrics
• Server- & Client side monitoring
• Both Azure & Non-Azure
• Code-based & code-less monitoring
• Code-based via SDK integration
• Code-less via middleware integration
• e.g. Web Apps, Azure Functions…
• Multiple ways to react
What does it monitor?
• Request rates, response times,
failure rates
• Dependency rates, response
times, failure rates
• Exceptions
• Page views, Load performance
• AJAX calls
• User and session counts
• Performance counters
• Host Diagnostics
• Diagnostic Trace Logs
• Custom events & metrics
Architecture for Demo
Application Maps
Triage Distributed Applications
• Visualize complex topologies
• Spot performance bottlenecks &
failure hotspots
• Across all components
• Component = Independently
deployable parts of
distributed/microservices
application
• Finds components by following
HTTP dependency calls made
between servers with App Insights
SDK installed
Smart Detection
Automatic notification of anomalies
• Proactive analysis of app
telemetry
• Automatically detects…
• degradations
• memory leaks
• abnormal rise in exception volume
• abnormal patterns in client or
server performance
• security anti-patterns
• No configuration required
• Get email notifications &
automated alerts
Live Metrics
Monitor & Diagnose with 1-second Latency
• See logs & metrics as they come in
• Displays data within seconds
• Metrics Explorer & Analytics requires
minutes
• Data is not getting stored & only
streamed while pane is open
• Free of charge
• Supports
• ASP.NET (Core), .NET (Core)
• Java
• Node.js
• Doesn’t support JavaScript!
Transaction search & log analytics
Explore Individual Telemetry Items
• Explore & filter telemetry items
• Visualize metrics
• Drill into end-to-end transaction
details
Event Types
Transaction search & log analytics
Event Type Description
Trace • Diagnostic logs
• TrackTrace, log4Net, Nlog, System.Diagnostic.Trace
Request • HTTP requests received by sever application
• Including pages, scripts, images, style files, and data
Page View • Telemetry send by the web client
• Frontend, JavaScript
Custom Event • Calls to TrackEvent()
Exception • Uncaught exceptions in the server
• Calls to TrackException()
• Pay attention to not loose the stacktrace!
Dependency • Calls from server application to other REST APIs, databases, …
• AJAX Calls from client code
Availability • Results of availability tests
Transaction diagnostic experience
Parent Node
Timeline view
Create ADO board
items
Transaction details
Transaction search
results
Switch to telemetry view
Transaction diagnostic experience
Log Analytics
Transaction search & log analytics
• Data gets feeded to
Log Analytics
workspace
• Perform rich queries
with KQL
Availability Tests
Monitor Availability & Responsiveness
• Sends web requests at regular
intervals
• Alerts if app isn’t responding
• Supports for types of tests
• URL Ping Test
• Standard Test
• Multi-Step Test
• Custom TrackAvailability() Test
Four types of tests
Availability Tests
Test Type Description
URL Ping Test (Classic) • Simple GET request from multiple regions
• Allows to check response body and code
• Created via portal
Standard Test (Preview) • Includes TLS certificate validation checks
• Proactive lifetime check of TLS certificate
• Supports more request verbs, GET, HEAD, POST, …
• Allows to check response body
• Created via portal
Multi-Step Web Test (Classic) • Play back a recording of web request sequences
• Created in Visual Studio Enterprise
Custom TrackAvailability() Test • Created in code
Failures
Correlate exceptions with other events
• Reports exceptions on client &
server side
• Correlate requests to exceptions
• See how many users are affected
• Get transactional details
Snapshot Debugger
• Automatically collects debug snapshots
• ThresholdForSnapshotting
• View snapshots in portal
• Show call stack & variables
• Protected by RBAC
• Set snap- & logpoints
• Instructs debugger to take snapshots
• Similar to breakpoints, but they don’t halt
the app when hit!
• Available for
• .NET Framework & ASP.NET (4.5)
• .NET Core & ASP.NET Core 2.1, 3.1
• .NET 5
• Environments
• App Service, Functions, …
Performance
Measure & Profile Requests
• Get statistics about
• Operations
• Dependencies
• Roles
Logarithmic performance distribution
Performance Profiler
• Provides performance traces
• Identify «hot» code path taking
the longest time
• Works with .NET applications
• App Service Basic service tier or
higher
Enable via: App Service > App Insights
User, Session & Event Reports
User Behavior Analytics
• Drive decisions about next development cycle based on usage & stats
• Three different perspectives
• Export to CSV, PowerBI, Excel (via log analytics)
• Split graphs by properties (refUri, browser version, OS, country, …)
Report Answers… Counting Method
User Report How many people used my app & features? Anonymous ID in browser cookie
Session Report How many sessions have included certain pages & features? A period of activity by a user, terminated by a period
of inactivity of half an hour
Event Report How often are certain pages & features used? On page load
Examples
User, Session & Event Reports
Users Report
Session Report
Users Report split by referer URI
Funnels
Monitor step-by-step conversion rate
• Are users processing through
an entire process?
• Track up to 6 custom events
• Create custom events with:
<button
onclick="appInsights.trackEvent({name:'a
dd-item-to-cart'});">Add item to
cart</button>
• Or use Click Analytics Plugin
<button id="add-item-to-cart“>Add item
to cart</button>
User Flows
Visualize & Analyze user navigation patterns
• What steps have led to an
exception?
• What are the places users
churn most from the site?
• What do users click on the
site?
Dependencies Pave Views Exceptions Custom Events Requests
Cohorts
Group your users
• A set of users, sessions, events or
operations having something in
common
• E.g. users who used app a certain
number of days within a time window
• Similar to filters
• Can be used from
• Users
• Sessions
• Events
• User flow
App Insights REST API
Query & integrate with AI data
• Access all app events & metric
data via REST API
• Integrate your data e.g., with
PowerBI, Excel and others
• https://api.applicationinsights.io
• Configure > API Access > Create
API Key
• Application ID != Instrumentation
Key
Displaying Client IP Addresses
Tips & Tricks
• By default, only collected
temporarily for geolocation lookup
• IP calc. for client-side telemetry
occurs at the ingestion endpoint in
Azure
• Populated fields
• client_City = …
• client_StateOrProvince = …
• client_CountryOrRegion = …
• client_IP = 0.0.0.0
• Check your compliance
requirements first!
• Disable IP Masking via
• REST Call
• “DisableIpMasking”: true
• Custom Telemetry Initializer
az rest --method patch 
--url https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/microsoft.insights/components/<resource-name>?api-version=2018-05-01-preview 
--body { "location": "<resource location>", "kind": "web", "properties": { "Application_Type": "web", "DisableIpMasking": true } }
Live Metrics - Securing control channel
Tips & Tricks
• Custom filters are sent back to
your app/SDK
• May contain confidential data
• Configure > API Access >
Create API key
ASP.NET Core: Startup.cs
Log request & response body
Tips & Tricks
• Write custom middleware OR
• Use my nuget package
• dotnet add package
Azureblue.ApplicationInsights.RequestLogging
• Read more
• https://www.azureblue.io/how-to-log-http-request-body-with-asp-net-core-
application-insights/
• https://github.com/matthiasguentert/ApplicationInsightsRequestLogging
Client-Side monitoring (JavaScript)
Tips & Tricks
• Options for setup (don’t mix them)
• Via NPM
• npm i --save @microsoft/applicationinsights-web
• Via code snippet
• Via nuget package (Microsoft.ApplicationInsights.AspNetCore)
• Property: public string FullScript { get; }
• Convenient, but won’t allow configuring the client-side part
• Snippet:
• Should be the first script after <head>
Set Cloud Role Name
Tips & Tricks
.NET Core
Java
JavaScript
Data Model
• Automatically collected
• Request
• Dependency
• Exception
• Additional types
• Trace
• Metric
• Event

More Related Content

What's hot

Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An IntroductionVenkatesh Narayanan
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overviewgjuljo
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure FunctionsCallon Campbell
 
48. Azure Active Directory - Part 1
48. Azure Active Directory - Part 148. Azure Active Directory - Part 1
48. Azure Active Directory - Part 1Shawn Ismail
 
Azure API Management
Azure API ManagementAzure API Management
Azure API ManagementDaniel Toomey
 
Azure Container Apps
Azure Container AppsAzure Container Apps
Azure Container AppsKen Sykora
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsGlobalLogic Ukraine
 
Monitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyMonitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyKarl Ots
 
Azure key vault
Azure key vaultAzure key vault
Azure key vaultRahul Nath
 
Mastering Azure Monitor
Mastering Azure MonitorMastering Azure Monitor
Mastering Azure MonitorRichard Conway
 
Introduction to Azure
Introduction to AzureIntroduction to Azure
Introduction to AzureRobert Crane
 
Azure AD Presentation - @ BITPro - Ajay
Azure AD Presentation - @ BITPro - AjayAzure AD Presentation - @ BITPro - Ajay
Azure AD Presentation - @ BITPro - AjayAnoop Nair
 
Azure Web Apps - Introduction
Azure Web Apps - IntroductionAzure Web Apps - Introduction
Azure Web Apps - IntroductionChristopher Gomez
 

What's hot (20)

Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
 
Azure Reference Architectures
Azure Reference ArchitecturesAzure Reference Architectures
Azure Reference Architectures
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
48. Azure Active Directory - Part 1
48. Azure Active Directory - Part 148. Azure Active Directory - Part 1
48. Azure Active Directory - Part 1
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Azure Container Apps
Azure Container AppsAzure Container Apps
Azure Container Apps
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
Monitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyMonitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and why
 
Azure key vault
Azure key vaultAzure key vault
Azure key vault
 
Mastering Azure Monitor
Mastering Azure MonitorMastering Azure Monitor
Mastering Azure Monitor
 
Introduction to Azure
Introduction to AzureIntroduction to Azure
Introduction to Azure
 
Introduction to Microsoft Azure Cloud
Introduction to Microsoft Azure CloudIntroduction to Microsoft Azure Cloud
Introduction to Microsoft Azure Cloud
 
Azure AD Presentation - @ BITPro - Ajay
Azure AD Presentation - @ BITPro - AjayAzure AD Presentation - @ BITPro - Ajay
Azure AD Presentation - @ BITPro - Ajay
 
Azure Web Apps - Introduction
Azure Web Apps - IntroductionAzure Web Apps - Introduction
Azure Web Apps - Introduction
 
Azure privatelink
Azure privatelinkAzure privatelink
Azure privatelink
 
Amazon Cognito
Amazon CognitoAmazon Cognito
Amazon Cognito
 
Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
 

Similar to Azure Application insights - An Introduction

Applications Performance Monitoring with Applications Manager part 1
Applications Performance Monitoring with Applications Manager part 1Applications Performance Monitoring with Applications Manager part 1
Applications Performance Monitoring with Applications Manager part 1ManageEngine, Zoho Corporation
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Igor Abade
 
Real User Experience Insight External
Real User Experience Insight ExternalReal User Experience Insight External
Real User Experience Insight Externaloracleonthebrain
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architectureMatsuo Sawahashi
 
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Karl Ots
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSPC Adriatics
 
CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsMichael Blackstock
 
Salesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide DeckSalesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide Deckbrightgenss
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...Agile Testing Alliance
 
Azure Monitoring Overview
Azure Monitoring OverviewAzure Monitoring Overview
Azure Monitoring Overviewgjuljo
 
Serverless in the Azure World
Serverless in the Azure WorldServerless in the Azure World
Serverless in the Azure WorldKasun Kodagoda
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions ProxiesTokyo Azure Meetup
 
Different monitoring options for cloud native integration solutions
Different monitoring options for cloud native integration solutionsDifferent monitoring options for cloud native integration solutions
Different monitoring options for cloud native integration solutionsBizTalk360
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, augustTokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustKanio Dimitrov
 
How to build a serverless helmet detection system
How to build a serverless helmet detection systemHow to build a serverless helmet detection system
How to build a serverless helmet detection systemMandar Dharmadhikari
 

Similar to Azure Application insights - An Introduction (20)

Closing the door on application performance problems
Closing the door on application performance problemsClosing the door on application performance problems
Closing the door on application performance problems
 
Applications Performance Monitoring with Applications Manager part 1
Applications Performance Monitoring with Applications Manager part 1Applications Performance Monitoring with Applications Manager part 1
Applications Performance Monitoring with Applications Manager part 1
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
 
Real User Experience Insight External
Real User Experience Insight ExternalReal User Experience Insight External
Real User Experience Insight External
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architecture
 
Azure functions serverless
Azure functions serverlessAzure functions serverless
Azure functions serverless
 
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 
CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applications
 
Salesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide DeckSalesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide Deck
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
 
Azure Monitoring Overview
Azure Monitoring OverviewAzure Monitoring Overview
Azure Monitoring Overview
 
Serverless in the Azure World
Serverless in the Azure WorldServerless in the Azure World
Serverless in the Azure World
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions Proxies
 
Cloud monitoring with Applications Manager
Cloud monitoring with Applications ManagerCloud monitoring with Applications Manager
Cloud monitoring with Applications Manager
 
ASP.NET MVC - Latest & Greatest So Far
ASP.NET MVC - Latest & Greatest So FarASP.NET MVC - Latest & Greatest So Far
ASP.NET MVC - Latest & Greatest So Far
 
Different monitoring options for cloud native integration solutions
Different monitoring options for cloud native integration solutionsDifferent monitoring options for cloud native integration solutions
Different monitoring options for cloud native integration solutions
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 
How to build a serverless helmet detection system
How to build a serverless helmet detection systemHow to build a serverless helmet detection system
How to build a serverless helmet detection system
 

Recently uploaded

НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»QADay
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform EngineeringJemma Hussein Allen
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance
 

Recently uploaded (20)

НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

Azure Application insights - An Introduction

  • 2. Agenda • What is Application Insights? • What does it monitor? • Investigation Tools • Usage Analysis • Tips & Tricks (optional)
  • 3. About me Personal • Father of two kids • Digital photographer • Supermoto rider • Blogger: www.azureblue.io Professional • Azure Cloud Enthusiast & Solution Architect • Work for Solveva, a company focusing on software solutions in the insurance sector
  • 4. What is Application Insights? • Application Monitoring solution • Feature of Azure Monitor • Collects logs & metrics • Server- & Client side monitoring • Both Azure & Non-Azure • Code-based & code-less monitoring • Code-based via SDK integration • Code-less via middleware integration • e.g. Web Apps, Azure Functions… • Multiple ways to react
  • 5. What does it monitor? • Request rates, response times, failure rates • Dependency rates, response times, failure rates • Exceptions • Page views, Load performance • AJAX calls • User and session counts • Performance counters • Host Diagnostics • Diagnostic Trace Logs • Custom events & metrics
  • 7. Application Maps Triage Distributed Applications • Visualize complex topologies • Spot performance bottlenecks & failure hotspots • Across all components • Component = Independently deployable parts of distributed/microservices application • Finds components by following HTTP dependency calls made between servers with App Insights SDK installed
  • 8. Smart Detection Automatic notification of anomalies • Proactive analysis of app telemetry • Automatically detects… • degradations • memory leaks • abnormal rise in exception volume • abnormal patterns in client or server performance • security anti-patterns • No configuration required • Get email notifications & automated alerts
  • 9. Live Metrics Monitor & Diagnose with 1-second Latency • See logs & metrics as they come in • Displays data within seconds • Metrics Explorer & Analytics requires minutes • Data is not getting stored & only streamed while pane is open • Free of charge • Supports • ASP.NET (Core), .NET (Core) • Java • Node.js • Doesn’t support JavaScript!
  • 10. Transaction search & log analytics Explore Individual Telemetry Items • Explore & filter telemetry items • Visualize metrics • Drill into end-to-end transaction details
  • 11. Event Types Transaction search & log analytics Event Type Description Trace • Diagnostic logs • TrackTrace, log4Net, Nlog, System.Diagnostic.Trace Request • HTTP requests received by sever application • Including pages, scripts, images, style files, and data Page View • Telemetry send by the web client • Frontend, JavaScript Custom Event • Calls to TrackEvent() Exception • Uncaught exceptions in the server • Calls to TrackException() • Pay attention to not loose the stacktrace! Dependency • Calls from server application to other REST APIs, databases, … • AJAX Calls from client code Availability • Results of availability tests
  • 12. Transaction diagnostic experience Parent Node Timeline view Create ADO board items Transaction details Transaction search results Switch to telemetry view
  • 14. Log Analytics Transaction search & log analytics • Data gets feeded to Log Analytics workspace • Perform rich queries with KQL
  • 15. Availability Tests Monitor Availability & Responsiveness • Sends web requests at regular intervals • Alerts if app isn’t responding • Supports for types of tests • URL Ping Test • Standard Test • Multi-Step Test • Custom TrackAvailability() Test
  • 16. Four types of tests Availability Tests Test Type Description URL Ping Test (Classic) • Simple GET request from multiple regions • Allows to check response body and code • Created via portal Standard Test (Preview) • Includes TLS certificate validation checks • Proactive lifetime check of TLS certificate • Supports more request verbs, GET, HEAD, POST, … • Allows to check response body • Created via portal Multi-Step Web Test (Classic) • Play back a recording of web request sequences • Created in Visual Studio Enterprise Custom TrackAvailability() Test • Created in code
  • 17. Failures Correlate exceptions with other events • Reports exceptions on client & server side • Correlate requests to exceptions • See how many users are affected • Get transactional details
  • 18. Snapshot Debugger • Automatically collects debug snapshots • ThresholdForSnapshotting • View snapshots in portal • Show call stack & variables • Protected by RBAC • Set snap- & logpoints • Instructs debugger to take snapshots • Similar to breakpoints, but they don’t halt the app when hit! • Available for • .NET Framework & ASP.NET (4.5) • .NET Core & ASP.NET Core 2.1, 3.1 • .NET 5 • Environments • App Service, Functions, …
  • 19. Performance Measure & Profile Requests • Get statistics about • Operations • Dependencies • Roles Logarithmic performance distribution
  • 20. Performance Profiler • Provides performance traces • Identify «hot» code path taking the longest time • Works with .NET applications • App Service Basic service tier or higher Enable via: App Service > App Insights
  • 21. User, Session & Event Reports User Behavior Analytics • Drive decisions about next development cycle based on usage & stats • Three different perspectives • Export to CSV, PowerBI, Excel (via log analytics) • Split graphs by properties (refUri, browser version, OS, country, …) Report Answers… Counting Method User Report How many people used my app & features? Anonymous ID in browser cookie Session Report How many sessions have included certain pages & features? A period of activity by a user, terminated by a period of inactivity of half an hour Event Report How often are certain pages & features used? On page load
  • 22. Examples User, Session & Event Reports Users Report Session Report Users Report split by referer URI
  • 23. Funnels Monitor step-by-step conversion rate • Are users processing through an entire process? • Track up to 6 custom events • Create custom events with: <button onclick="appInsights.trackEvent({name:'a dd-item-to-cart'});">Add item to cart</button> • Or use Click Analytics Plugin <button id="add-item-to-cart“>Add item to cart</button>
  • 24. User Flows Visualize & Analyze user navigation patterns • What steps have led to an exception? • What are the places users churn most from the site? • What do users click on the site? Dependencies Pave Views Exceptions Custom Events Requests
  • 25. Cohorts Group your users • A set of users, sessions, events or operations having something in common • E.g. users who used app a certain number of days within a time window • Similar to filters • Can be used from • Users • Sessions • Events • User flow
  • 26. App Insights REST API Query & integrate with AI data • Access all app events & metric data via REST API • Integrate your data e.g., with PowerBI, Excel and others • https://api.applicationinsights.io • Configure > API Access > Create API Key • Application ID != Instrumentation Key
  • 27. Displaying Client IP Addresses Tips & Tricks • By default, only collected temporarily for geolocation lookup • IP calc. for client-side telemetry occurs at the ingestion endpoint in Azure • Populated fields • client_City = … • client_StateOrProvince = … • client_CountryOrRegion = … • client_IP = 0.0.0.0 • Check your compliance requirements first! • Disable IP Masking via • REST Call • “DisableIpMasking”: true • Custom Telemetry Initializer az rest --method patch --url https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/microsoft.insights/components/<resource-name>?api-version=2018-05-01-preview --body { "location": "<resource location>", "kind": "web", "properties": { "Application_Type": "web", "DisableIpMasking": true } }
  • 28. Live Metrics - Securing control channel Tips & Tricks • Custom filters are sent back to your app/SDK • May contain confidential data • Configure > API Access > Create API key ASP.NET Core: Startup.cs
  • 29. Log request & response body Tips & Tricks • Write custom middleware OR • Use my nuget package • dotnet add package Azureblue.ApplicationInsights.RequestLogging • Read more • https://www.azureblue.io/how-to-log-http-request-body-with-asp-net-core- application-insights/ • https://github.com/matthiasguentert/ApplicationInsightsRequestLogging
  • 30. Client-Side monitoring (JavaScript) Tips & Tricks • Options for setup (don’t mix them) • Via NPM • npm i --save @microsoft/applicationinsights-web • Via code snippet • Via nuget package (Microsoft.ApplicationInsights.AspNetCore) • Property: public string FullScript { get; } • Convenient, but won’t allow configuring the client-side part • Snippet: • Should be the first script after <head>
  • 31. Set Cloud Role Name Tips & Tricks .NET Core Java JavaScript
  • 32. Data Model • Automatically collected • Request • Dependency • Exception • Additional types • Trace • Metric • Event