There are variety of approaches to monitor system and business metrics of your app hosted in Microsoft Azure. And you might feel like everything is simple and clear... However it's not so obvious on practice and evolution of the project can lead to limitations of current approach for monitoring you're using right now.
This presentation cover different approaches for monitoring distributed application hosted in Azure App Service as well as discover proc & cons of each approach,
Monitoring of distributed app hosted in Azure App Service
1. Monitoring of distributed app
hosted in Azure App Service
Alexander Laysha,
Chief Software Engineer at EPAM Systems
2. Agenda
• Overview of Monitoring in Azure
• App Service Monitoring: App Insights & Azure Portal
• App Service Monitoring : Stream Analytics & Power BI
• App Service Monitoring : Advanced approach
9. DEMO #2
Ambient Context Implementation &
Monitoring of App Service based on App Insights and Azure Portal
10. Existing Challenges
• Minimal chart auto-refresh time is 5 mins
• Total data rate for App Insights is limited
500 dp/s, exceptions to 50 dp/s
• Total data points for App Insights per month are limited
50M/month
• Limited support for Live Metrics Stream
no data store, no additional charts, no configuration, no custom data, can’t be pinned on dashboard
• Not all App Insights charts be pinned on dashboard
• Retention period
7 days for raw data and 90 days for aggregated data
• Delay between data sending and displaying
11. Delay between data sending and displaying
Custom Metric Custom Event
Single Request Multiple (500) Requests Single Request
# Delay, s # Delay, s # Delay, s
1 98 1 70 1 107
2 105 2 58 2 136
3 143 3 68 3 103
4 93 4 83 4 137
5 127 5 80 5 114
6 108 6 95 6 106
7 138 7 52 7 108
8 118 8 80 8 123
9 134 9 80 9 128
10 117 10 56 10 133
Average 118 Average 72 Average 120
12. Monitoring: Stream Analytics & PowerBI
Metrics Collector Web Job
Azure Insights REST API
Azure App Insights
Metrics & Events Storage
Includes exported diagnostics from
Azure Resources
Azure Stream Analytics Power BI
REST API
FIFO Retention Policy
Processed MetricsRaw Metrics
Resource
Metrics
14. Existing challenges
• Azure Stream Analytics creates FIFO dataset by default
Each table in FIFO dataset stores up to 200,000 rows
• Azure Stream Analytics doesn’t support multiple PowerBI outputs to
the same dataset
One dataset & one table for each PowerBI output
• A table with none retention police can store up to 5,000,000 rows
Power BI REST API doesn’t provide the ability to clear table partly
• Delay between sending data to App Insights and exporting
15. Delay between data sending and exporting
Metric Custom Event
Single Request Single Request
# Delay, s # Delay, s
1 141 1 144
2 153 2 156
3 154 3 159
4 142 4 139
5 159 5 162
6 163 6 135
7 160 7 163
8 150 8 153
9 162 9 135
10 139 10 143
Average 152 Average 149
16. Monitoring: Advanced approach
PowerBI
REST API or
External Analysis Storage
(DirectQuery)
Metrics Collector Web Job Azure Insights REST API
Azure Web Job
Azure Web App
Other Sources
Diagnostics Logs, Azure Storage Analytics, etc.
3rd Party or Custom Monitoring
Event Hub Azure Function