diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/appInsights.json b/public/app/plugins/datasource/azuremonitor/dashboards/appInsights.json
index d6cc70066d9..1b6e82299b8 100644
--- a/public/app/plugins/datasource/azuremonitor/dashboards/appInsights.json
+++ b/public/app/plugins/datasource/azuremonitor/dashboards/appInsights.json
@@ -1,34 +1,75 @@
{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "-- Grafana --",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "target": {
- "limit": 100,
- "matchAny": false,
- "tags": [],
- "type": "dashboard"
- },
- "type": "dashboard"
- }
- ]
- },
+ "__inputs": [],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "9.5.2"
+ },
+ {
+ "type": "datasource",
+ "id": "grafana-azure-monitor-datasource",
+ "name": "Azure Monitor",
+ "version": "1.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "stat",
+ "name": "Stat",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
+ }
+ ],
"description": "The dashboard provides insights of Azure Apps via different metrics for app monitoring through Application Insights.",
"editable": true,
- "gnetId": null,
- "graphTooltip": 0,
"id": null,
- "iteration": 1644348036942,
- "links": [],
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": ["Azure-AppInsights-Perf"],
+ "targetBlank": true,
+ "title": "Performance",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": ["Azure-AppInsights-Failures"],
+ "targetBlank": true,
+ "title": "Failures",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
"panels": [
{
"collapsed": false,
- "datasource": null,
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"gridPos": {
"h": 1,
"w": 24,
@@ -41,7 +82,6 @@
"type": "row"
},
{
- "datasource": null,
"gridPos": {
"h": 3,
"w": 5,
@@ -50,14 +90,22 @@
},
"id": 10,
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "\n \n
${res} \n Application Insights
\n
\n",
"mode": "html"
},
- "pluginVersion": "8.2.7",
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -121,18 +169,9 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.7",
+ "pluginVersion": "9.5.2",
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -148,12 +187,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "A",
@@ -165,7 +201,6 @@
"type": "stat"
},
{
- "datasource": null,
"gridPos": {
"h": 3,
"w": 4,
@@ -175,20 +210,18 @@
"id": 44,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "\n\n
Smart detection
\n
${res}
\n
\n",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "queryType": "randomWalk",
- "refId": "A"
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": "Azure Monitor",
"gridPos": {
"h": 3,
"w": 3,
@@ -198,20 +231,18 @@
"id": 46,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "\n\n
Live Metrics
\n
${res}
\n
\n\n \n ",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "queryType": "randomWalk",
- "refId": "A"
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": null,
"gridPos": {
"h": 3,
"w": 3,
@@ -220,21 +251,23 @@
},
"id": 42,
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "\n\n\n ",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "queryType": "randomWalk",
- "refId": "A"
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
"collapsed": false,
- "datasource": null,
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"gridPos": {
"h": 1,
"w": 24,
@@ -243,11 +276,10 @@
},
"id": 54,
"panels": [],
- "title": "Application Insights",
+ "title": "Application Insights Overview",
"type": "row"
},
{
- "datasource": null,
"gridPos": {
"h": 3,
"w": 4,
@@ -256,20 +288,22 @@
},
"id": 12,
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": " Usage
",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "queryType": "randomWalk",
- "refId": "A"
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -336,41 +370,17 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.7",
+ "pluginVersion": "9.5.2",
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
"azureLogAnalytics": {
"query": "union\n (traces\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (requests\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (pageViews\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (dependencies\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (customEvents\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (availabilityResults\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (exceptions\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (customMetrics\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (browserTimings\n | where timestamp >= $__timeFrom and timestamp < $__timeTo)\n| where notempty(user_Id)\n| summarize ['users/count_unique'] = dcount(user_Id) by bin(timestamp, 1m)\n| order by timestamp desc",
"resource": "/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res",
"resultFormat": "time_series"
},
- "azureMonitor": {
- "aggOptions": [],
- "aggregation": "Count",
- "allowedTimeGrainsMs": [60000, 300000, 900000, 1800000, 3600000, 21600000, 43200000, 86400000],
- "dimensionFilter": "*",
- "dimensionFilters": [],
- "metricDefinition": "microsoft.insights/components",
- "metricName": "requests/count",
- "metricNamespace": "microsoft.insights/components",
- "resourceGroup": "$rg",
- "resourceName": "$res",
- "timeGrain": "auto",
- "timeGrains": [],
- "top": "50"
- },
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "hide": false,
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Log Analytics",
"refId": "B",
@@ -382,7 +392,6 @@
"type": "stat"
},
{
- "datasource": "Azure Monitor",
"gridPos": {
"h": 3,
"w": 4,
@@ -391,50 +400,18 @@
},
"id": 14,
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "Reliability
",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
- "azureMonitor": {
- "aggOptions": [],
- "dimensionFilter": "*",
- "dimensionFilters": [],
- "metricDefinition": "Microsoft.Insights/components",
- "metricNamespace": "microsoft.insights/components",
- "resourceGroup": "$rg",
- "resourceName": "$res",
- "timeGrain": "",
- "timeGrains": [],
- "top": "10"
- },
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
- },
- "queryType": "Azure Monitor",
- "refId": "A",
- "subscription": "$sub",
- "subscriptions": []
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": null,
"gridPos": {
"h": 3,
"w": 2,
@@ -444,20 +421,18 @@
"id": 36,
"links": [],
"options": {
- "content": "\n\n\n",
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "\n\n\n",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "queryType": "randomWalk",
- "refId": "A"
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": "Azure Monitor",
"gridPos": {
"h": 3,
"w": 3,
@@ -466,50 +441,18 @@
},
"id": 17,
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "Responsiveness
",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
- "azureMonitor": {
- "aggOptions": [],
- "dimensionFilter": "*",
- "dimensionFilters": [],
- "metricDefinition": "Microsoft.Insights/components",
- "metricNamespace": "microsoft.insights/components",
- "resourceGroup": "$rg",
- "resourceName": "$res",
- "timeGrain": "",
- "timeGrains": [],
- "top": "10"
- },
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
- },
- "queryType": "Azure Monitor",
- "refId": "A",
- "subscription": "$sub",
- "subscriptions": []
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": null,
"gridPos": {
"h": 3,
"w": 3,
@@ -519,20 +462,18 @@
"id": 38,
"links": [],
"options": {
- "content": "\n\n
Performance
\n
${res}
\n
\n\n",
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "\n\n
Performance
\n
${res}
\n
\n\n",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "queryType": "randomWalk",
- "refId": "A"
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": "Azure Monitor",
"gridPos": {
"h": 3,
"w": 4,
@@ -541,50 +482,18 @@
},
"id": 18,
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "Browser
",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
- "azureMonitor": {
- "aggOptions": [],
- "dimensionFilter": "*",
- "dimensionFilters": [],
- "metricDefinition": "Microsoft.Insights/components",
- "metricNamespace": "microsoft.insights/components",
- "resourceGroup": "$rg",
- "resourceName": "$res",
- "timeGrain": "",
- "timeGrains": [],
- "top": "10"
- },
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
- },
- "queryType": "Azure Monitor",
- "refId": "A",
- "subscription": "$sub",
- "subscriptions": []
- }
- ],
+ "pluginVersion": "9.5.2",
"type": "text"
},
{
- "datasource": null,
"gridPos": {
"h": 3,
"w": 2,
@@ -593,21 +502,23 @@
},
"id": 50,
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "\n\n",
"mode": "html"
},
- "pluginVersion": "8.2.7",
- "targets": [
- {
- "queryType": "randomWalk",
- "refId": "A"
- }
- ],
+ "pluginVersion": "9.5.2",
"transparent": true,
"type": "text"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"description": "The resource path for this panel uses multiple template variables which requires modifying the dashboard JSON directly. If you would like to do something similar please go to Settings > JSON Model. Edit as you'd like in your new copy by going to Settings > Save as.",
"fieldConfig": {
"defaults": {
@@ -616,6 +527,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMin": 0,
@@ -714,45 +627,24 @@
"legend": {
"calcs": ["sum"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
"azureLogAnalytics": {
"query": "union\n (traces\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (requests\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (pageViews\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (dependencies\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (customEvents\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (availabilityResults\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (exceptions\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (customMetrics\n | where timestamp >= $__timeFrom and timestamp < $__timeTo),\n (browserTimings\n | where timestamp >= $__timeFrom and timestamp < $__timeTo)\n| where notempty(user_Id)\n| summarize ['users/count_unique'] = dcount(user_Id) by bin(timestamp, $__interval)\n| order by timestamp desc",
"resource": "/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res",
"resultFormat": "time_series"
},
- "azureMonitor": {
- "aggOptions": [],
- "allowedTimeGrainsMs": [60000, 300000, 900000, 1800000, 3600000, 21600000, 43200000, 86400000],
- "dimensionFilter": "*",
- "dimensionFilters": [],
- "metricDefinition": "microsoft.insights/components",
- "metricName": "requests/count",
- "metricNamespace": "microsoft.insights/components",
- "resourceGroup": "$rg",
- "resourceName": "$res",
- "timeGrain": "auto",
- "timeGrains": [],
- "top": "50"
- },
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "hide": false,
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Log Analytics",
"refId": "A",
@@ -765,8 +657,9 @@
"resource": "/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res",
"resultFormat": "time_series"
},
- "azureMonitor": {
- "timeGrain": "auto"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"hide": false,
"queryType": "Azure Log Analytics",
@@ -774,13 +667,15 @@
"subscription": ""
}
],
- "timeShift": null,
"title": "Users",
"transformations": [],
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -788,6 +683,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -851,23 +748,16 @@
"legend": {
"calcs": ["sum"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Count",
@@ -883,12 +773,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Failed requests",
@@ -900,7 +787,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -908,6 +798,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMin": 0,
@@ -976,23 +868,16 @@
"legend": {
"calcs": ["mean"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -1004,16 +889,14 @@
"metricNamespace": "microsoft.insights/components",
"resourceGroup": "$rg",
"resourceName": "$res",
+ "resourceUri": "/subscriptions/$sub/resourceGroups/$rg/providers/microsoft.insights/components/$res",
"timeGrain": "auto",
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "A",
@@ -1026,7 +909,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -1034,6 +920,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -1101,23 +989,16 @@
"legend": {
"calcs": ["sum"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Count",
@@ -1133,12 +1014,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "A",
@@ -1150,7 +1028,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -1158,6 +1039,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisWidth": 50,
@@ -1241,23 +1124,16 @@
"legend": {
"calcs": ["mean"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -1273,12 +1149,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "A",
@@ -1290,7 +1163,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -1298,6 +1174,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -1389,23 +1267,16 @@
"legend": {
"calcs": ["sum"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Count",
@@ -1422,13 +1293,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "hide": false,
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Server Exceptions",
@@ -1436,15 +1303,6 @@
"subscriptions": []
},
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Count",
@@ -1461,13 +1319,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "hide": false,
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Dependency failures",
@@ -1480,7 +1334,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -1488,6 +1345,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMax": -6,
@@ -1555,23 +1414,16 @@
"legend": {
"calcs": ["mean"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -1587,12 +1439,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Processor",
@@ -1600,15 +1449,6 @@
"subscriptions": []
},
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -1624,13 +1464,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "hide": false,
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Process CPU",
@@ -1642,7 +1478,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -1650,6 +1489,8 @@
"mode": "continuous-BlPu"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -1775,23 +1616,16 @@
"legend": {
"calcs": ["mean"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -1807,12 +1641,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Page load network connect time",
@@ -1820,15 +1651,6 @@
"subscriptions": []
},
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -1844,13 +1666,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "hide": false,
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Client processing time",
@@ -1858,15 +1676,6 @@
"subscriptions": []
},
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -1882,13 +1691,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "hide": false,
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Send request time",
@@ -1896,15 +1701,6 @@
"subscriptions": []
},
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -1920,13 +1716,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "hide": false,
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "Receiving response time",
@@ -1938,13 +1730,18 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMin": 0,
@@ -1979,8 +1776,7 @@
"mode": "absolute",
"steps": [
{
- "color": "green",
- "value": null
+ "color": "green"
},
{
"color": "red",
@@ -2010,23 +1806,16 @@
"legend": {
"calcs": ["sum"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Count",
@@ -2042,12 +1831,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "A",
@@ -2059,7 +1845,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -2067,6 +1856,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -2100,8 +1891,7 @@
"mode": "absolute",
"steps": [
{
- "color": "green",
- "value": null
+ "color": "green"
},
{
"color": "red",
@@ -2131,23 +1921,16 @@
"legend": {
"calcs": ["mean"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -2163,12 +1946,9 @@
"timeGrains": [],
"top": "100"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "A",
@@ -2180,7 +1960,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -2188,6 +1971,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMin": 0,
@@ -2223,8 +2008,7 @@
"mode": "absolute",
"steps": [
{
- "color": "green",
- "value": null
+ "color": "green"
},
{
"color": "red",
@@ -2254,23 +2038,16 @@
"legend": {
"calcs": ["mean"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Average",
@@ -2286,12 +2063,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "A",
@@ -2303,7 +2077,10 @@
"type": "timeseries"
},
{
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"fieldConfig": {
"defaults": {
"color": {
@@ -2311,6 +2088,8 @@
"mode": "fixed"
},
"custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMin": 0,
@@ -2346,8 +2125,7 @@
"mode": "absolute",
"steps": [
{
- "color": "green",
- "value": null
+ "color": "green"
},
{
"color": "red",
@@ -2377,23 +2155,16 @@
"legend": {
"calcs": ["sum"],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
- "mode": "single"
+ "mode": "single",
+ "sort": "none"
}
},
"targets": [
{
- "appInsights": {
- "dimension": [],
- "metricName": "select",
- "timeGrain": "auto"
- },
- "azureLogAnalytics": {
- "query": "//change this example to create your own time series query\n //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by , bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
- "resultFormat": "time_series"
- },
"azureMonitor": {
"aggOptions": [],
"aggregation": "Count",
@@ -2409,12 +2180,9 @@
"timeGrains": [],
"top": "50"
},
- "azureResourceGraph": {
- "resultFormat": "table"
- },
- "insightsAnalytics": {
- "query": "",
- "resultFormat": "time_series"
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
},
"queryType": "Azure Monitor",
"refId": "A",
@@ -2427,14 +2195,14 @@
}
],
"refresh": "",
- "schemaVersion": 32,
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {},
- "description": null,
- "error": null,
"hide": 0,
"includeAll": false,
"label": "Datasource",
@@ -2449,32 +2217,39 @@
"type": "datasource"
},
{
- "allValue": null,
"current": {},
- "datasource": "${ds}",
- "definition": "Subscriptions()",
- "description": null,
- "error": null,
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
"hide": 0,
"includeAll": false,
"label": "Subscription",
"multi": false,
"name": "sub",
"options": [],
- "query": "Subscriptions()",
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "SubscriptionsQuery",
+ "rawQuery": "Subscriptions()"
+ },
+ "queryType": "Azure Subscriptions",
+ "refId": "A"
+ },
"refresh": 1,
"regex": "",
"skipUrlSync": false,
- "sort": 5,
+ "sort": 0,
"type": "query"
},
{
- "allValue": null,
"current": {},
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"definition": "",
- "description": null,
- "error": null,
"hide": 0,
"includeAll": false,
"label": "Resource Group",
@@ -2482,26 +2257,28 @@
"name": "rg",
"options": [],
"query": {
- "azureResourceGraph": {
- "query": "resources\r\n| where [\"type\"] =~ \"Microsoft.Insights/components\"\r\n| distinct resourceGroup"
+ "grafanaTemplateVariableFn": {
+ "kind": "ResourceGroupsQuery",
+ "rawQuery": "ResourceGroups($sub)",
+ "subscription": "$sub"
},
- "queryType": "Azure Resource Graph",
+ "queryType": "Azure Resource Groups",
"refId": "A",
- "subscriptions": ["$sub"]
+ "subscription": "$sub"
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
- "sort": 5,
+ "sort": 0,
"type": "query"
},
{
- "allValue": null,
"current": {},
- "datasource": "${ds}",
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
"definition": "",
- "description": null,
- "error": null,
"hide": 2,
"includeAll": false,
"label": "Namespace",
@@ -2509,26 +2286,30 @@
"name": "ns",
"options": [],
"query": {
- "azureResourceGraph": {
- "query": "resources\r\n| where [\"type\"] =~ \"Microsoft.Insights/components\" and resourceGroup =~ \"$rg\"\r\n| distinct [\"type\"]"
+ "grafanaTemplateVariableFn": {
+ "kind": "MetricNamespaceQuery",
+ "rawQuery": "Namespaces($sub, $rg)",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
},
- "queryType": "Azure Resource Graph",
+ "queryType": "Azure Namespaces",
"refId": "A",
- "subscriptions": ["$sub"]
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
},
"refresh": 1,
- "regex": "",
+ "regex": "([mM](icrosoft)\\.[iI](nsights)/(components))",
"skipUrlSync": false,
- "sort": 5,
+ "sort": 0,
"type": "query"
},
{
- "allValue": null,
"current": {},
- "datasource": "${ds}",
- "definition": "",
- "description": null,
- "error": null,
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "ResourceNames($sub, $rg, $ns)",
"hide": 0,
"includeAll": false,
"label": "Resource",
@@ -2545,38 +2326,7 @@
"refresh": 1,
"regex": "",
"skipUrlSync": false,
- "sort": 5,
- "type": "query"
- },
- {
- "current": {},
- "datasource": {
- "type": "grafana-azure-monitor-datasource",
- "uid": "${ds}"
- },
- "definition": "resources\n| project tenantId",
- "hide": 2,
- "includeAll": false,
- "label": "tenantId",
- "multi": false,
- "name": "tenant",
- "options": [],
- "query": {
- "azureLogAnalytics": {
- "query": "",
- "resource": ""
- },
- "azureResourceGraph": {
- "query": "Resources\r\n|project tenantId"
- },
- "queryType": "Azure Resource Graph",
- "refId": "A",
- "subscriptions": ["$sub"]
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 5,
+ "sort": 0,
"type": "query"
}
]
@@ -2587,7 +2337,7 @@
},
"timepicker": {},
"timezone": "",
- "uid": "Yo38mcvnz",
- "title": "Azure / Insights / Applications",
- "version": 10
+ "title": "Azure / Insights / Applications - Overview",
+ "uid": "Azure-AppInsights-Overview",
+ "version": 83
}
diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureDependencies.json b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureDependencies.json
new file mode 100644
index 00000000000..eaac78827c4
--- /dev/null
+++ b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureDependencies.json
@@ -0,0 +1,1595 @@
+{
+ "__inputs": [],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "10.0.3"
+ },
+ {
+ "type": "datasource",
+ "id": "grafana-azure-monitor-datasource",
+ "name": "Azure Monitor",
+ "version": "1.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "stat",
+ "name": "Stat",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "The dashboard provides insights of dependency failures through Application Insights.",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": ["Azure-AppInsights-Failures"],
+ "targetBlank": true,
+ "title": "Azure Application Insights Failures Dashboards",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 89,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "# Failures - Dependencies",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.3",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 81,
+ "panels": [],
+ "title": "Application Insights - Failures - Dependencies",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 64,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "failedCount"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "FailedCount"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 13,
+ "x": 0,
+ "y": 3
+ },
+ "id": 80,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "dependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where \"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code)\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| summarize FailedCount=sumif(itemCount, success == false) by bin(timestamp, $__interval)\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Failed Dependencies (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [
+ {
+ "targetBlank": false,
+ "title": "Filter Result code",
+ "url": "/d/Azure-AppInsights-Failures-Dependencies/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${dependency:queryparam}&var-dependency_result_code=${__data.fields[\"Result Code\"]}"
+ }
+ ],
+ "mappings": [],
+ "min": 0,
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "custom.width",
+ "value": 584
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Result Code"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 252
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Filter result code",
+ "url": "/d/Azure-AppInsights-Failures-Dependencies/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${dependency:queryparam}&var-dependency_result_code=${__data.fields[\"Result Code\"]}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 11,
+ "x": 13,
+ "y": 3
+ },
+ "id": 84,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "dependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where success == false\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| summarize Count=sum(itemCount) by [\"Result Code\"]=resultCode\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top response codes (count)",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 62,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 13,
+ "x": 0,
+ "y": 13
+ },
+ "id": 83,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n// calculate average request duration for all requests\n| summarize Count = count() by bin(timestamp, $__interval)\n| order by timestamp asc\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Server Requests (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 22,
+ "gradientMode": "hue",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sum_itemCount 404"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sum_itemCount 500"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResultCode 404"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 11,
+ "x": 13,
+ "y": 13
+ },
+ "id": 82,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.0.8.1",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "dependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where \"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code)\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| summarize ResultCode = sum(itemCount) by resultCode, bin(timestamp, $__interval)\n| sort by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Response codes (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "links": [
+ {
+ "title": "Reset to All dependencies and All result codes",
+ "url": "/d/Azure-AppInsights-Failures-Dependencies/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&var-dependency=All&var-dependency_result_code=All"
+ }
+ ],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 0,
+ "y": 19
+ },
+ "id": 85,
+ "interval": "60s",
+ "links": [
+ {
+ "title": "Reset to All Failed Dependencies and All result codes",
+ "url": "/d/Azure-AppInsights-Failures-Dependencies/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&var-dependency=All&var-dependency_result_code=All"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "dependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| summarize failedCount=sumif(itemCount, success == false)\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "All Failed dependencies (Count)",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Failed dependencies matching result code ${dependency_result_code:text} and dependency ${dependency:text}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-red",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "failedCount"
+ },
+ "properties": [
+ {
+ "id": "links"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 8,
+ "y": 19
+ },
+ "id": 77,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "dependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where \"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code)\n| where client_Type != \"Browser\"\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| summarize failedCount=sumif(itemCount, success == false)\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Failed dependencies matching result code and dependency",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on a dependency name to filter dashboard.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Show list of sample transactions",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"type\",\"filters\":[\"${__data.fields.type}\"],\"operation\":\"eq\"}, {\"property\":\"target\",\"filters\":[\"${__data.fields.target}\"],\"operation\":\"eq\"}, {\"property\":\"name\",\"filters\":[\"${__data.fields.name}\"],\"operation\":\"eq\"},{\"property\":\"resultCode\",\"filters\":[${dependency_result_code:doublequote}],\"operation\":\"eq\"}],\"traceTypes\": [\"dependencies\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.5
+ },
+ {
+ "color": "dark-red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dependency name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 161
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Show list of matching dependencies",
+ "url": "d/Azure-AppInsights-Failures-Dependencies/?orgId=1&${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${dependency_result_code:queryparam}&var-dependency=${__data.fields[\"Dependency name\"]}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Failed count"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": false
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "lcd",
+ "type": "gauge",
+ "valueDisplayMode": "text"
+ }
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open dependencies in explorer",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"type\",\"filters\":[\"${__data.fields.type}\"],\"operation\":\"eq\"}, {\"property\":\"name\",\"filters\":[\"${__data.fields.name}\"],\"operation\":\"eq\"}, {\"property\":\"target\",\"filters\":[\"${__data.fields.target}\"],\"operation\":\"eq\"}, {\"property\":\"resultCode\",\"filters\":[${dependency_result_code:doublequote}],\"operation\":\"eq\"}],\"traceTypes\": [\"dependencies\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "target"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "name"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ },
+ {
+ "id": "filterable",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Impacted users"
+ },
+ "properties": [
+ {
+ "id": "links"
+ },
+ {
+ "id": "custom.width",
+ "value": 130
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total count"
+ },
+ "properties": [
+ {
+ "id": "links"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "lcd",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 8,
+ "x": 0,
+ "y": 22
+ },
+ "id": 87,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Count"
+ }
+ ]
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let m = dependencies\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| project itemCount, duration, typeTransform=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), targetTransform=tostring(split(target, \" | cid-v1\")[0]), name, type, target, user_Id, success, resultCode;\nm\n| summarize [\"Failed count\"]=sumif(itemCount, success == false and (\"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code))), [\"Impacted users\"]=dcountif(user_Id, success == false and (\"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code))), [\"Total count\"]=sum(itemCount)\n| project [\"Dependency name\"]=\"All\", [\"Failed count\"], [\"Impacted users\"], [\"Total count\"]\n| union(\nm\n| summarize [\"Failed count\"]=sumif(itemCount, success == false and (\"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code))), [\"Impacted users\"]=dcountif(user_Id, success == false and (\"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code))), [\"Total count\"]=sum(itemCount) by typeTransform=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), targetTransform=tostring(split(target, \" | cid-v1\")[0]), name, target, type\n| where [\"Failed count\"] > 0\n| sort by [\"Failed count\"] desc\n| project [\"Dependency name\"]=strcat(typeTransform, \": \", name , \" \", targetTransform), [\"Failed count\"], [\"Total count\"], [\"Impacted users\"], type, target, name)\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top Dependencies by Avg Duration",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on an OperationID or Dependency name to view the trace details in explorer.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 0.5
+ },
+ {
+ "color": "dark-red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseTime"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dependency Name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open dependencies in explorer",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"type\",\"filters\":[\"${__data.fields.type}\"],\"operation\":\"eq\"}, {\"property\":\"name\",\"filters\":[\"${__data.fields.name}\"],\"operation\":\"eq\"}, {\"property\":\"target\",\"filters\":[\"${__data.fields.target}\"],\"operation\":\"eq\"}, {\"property\":\"resultCode\",\"filters\":[${dependency_result_code:doublequote}],\"operation\":\"eq\"}],\"traceTypes\": [\"dependencies\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseCode"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 211
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseCode"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseCode"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "200": {
+ "color": "dark-green",
+ "index": 0
+ }
+ },
+ "type": "value"
+ },
+ {
+ "options": {
+ "from": 201,
+ "result": {
+ "color": "dark-orange",
+ "index": 1
+ },
+ "to": 399
+ },
+ "type": "range"
+ },
+ {
+ "options": {
+ "from": 400,
+ "result": {
+ "color": "dark-red",
+ "index": 2
+ },
+ "to": 999
+ },
+ "type": "range"
+ }
+ ]
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "OperationID"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open Trace Details",
+ "url": "/explore?left={\r\n\t\"datasource\": \"${ds}\",\r\n\t\"queries\": [{\r\n\t\t\"azureTraces\": {\r\n\r\n\t\t\t\"operationId\": \"${__data.fields.OperationID}\",\r\n\r\n\t\t\t\"resources\": [\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\r\r\n\r\n\t\t\t\"resultFormat\": \"trace\"\r\n\r\n\r\n\r\n\r\n\t\t},\r\n\t\t\"datasource\": \"${ds}\",\r\n\t\t\"refId\": \"A\",\r\n\r\n\t\t\"queryType\": \"Azure Traces\"\r\n\t}],\r\n\t\"range\": {\r\n\t\t\"from\": \"${__from}\",\r\n\t\t\"to\": \"${__to}\"\r\n\t}\r\n}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "target"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 251
+ },
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "name"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Score"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 16,
+ "x": 8,
+ "y": 22
+ },
+ "id": 88,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let min_length_8 = (s: string) {\n let len = strlen(s);\n case(len == 1, strcat(s, s, s, s, s, s, s, s),\n len == 2 or len == 3, strcat(s, s, s, s),\n len == 4 or len == 5 or len == 6 or len == 7, strcat(s, s),\n s)\n};\nlet ai_hash = (s: string) {\n abs(toint(__hash_djb2(min_length_8(s))))\n};\n\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp) and (\"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code))\n| extend typeTransform=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), targetTransform=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(typeTransform, \": \", name, \" \", targetTransform)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency)) and isnotempty(operation_Id)\n| where (\"All\" in ($dependency_result_code) or resultCode in ($dependency_result_code))\n| project [\"Dependency Name\"], target, ResponseCode = resultCode, ResponseTime = duration, OperationID = operation_Id, type, name, Score=ai_hash(operation_Id)\n| top 20 by Score asc\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 20 Dependencies matching $dependency by Relevance",
+ "transformations": [],
+ "type": "table"
+ }
+ ],
+ "refresh": "",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["Azure-AppInsights-Failures"],
+ "templating": {
+ "list": [
+ {
+ "current": {},
+ "hide": 0,
+ "includeAll": false,
+ "label": "Datasource",
+ "multi": false,
+ "name": "ds",
+ "options": [],
+ "query": "grafana-azure-monitor-datasource",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Subscription",
+ "multi": false,
+ "name": "sub",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "SubscriptionsQuery",
+ "rawQuery": "Subscriptions()"
+ },
+ "queryType": "Azure Subscriptions",
+ "refId": "A"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource Group",
+ "multi": false,
+ "name": "rg",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "ResourceGroupsQuery",
+ "rawQuery": "ResourceGroups($sub)",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Resource Groups",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Namespace",
+ "multi": false,
+ "name": "ns",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "MetricNamespaceQuery",
+ "rawQuery": "Namespaces($sub, $rg)",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Namespaces",
+ "refId": "A",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "([mM](icrosoft)\\.[iI](nsights)/(components))",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "ResourceNames($sub, $rg, $ns)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource",
+ "multi": false,
+ "name": "res",
+ "options": [],
+ "query": "ResourceNames($sub, $rg, $ns)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Dependency",
+ "multi": true,
+ "name": "dependency",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "dependencies\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\" and success == false\r\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\r\n| project [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target), success\r\n| summarize count() by [\"Dependency Name\"]\r\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Result Code",
+ "multi": true,
+ "name": "dependency_result_code",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "dependencies\r\n// additional filters can be applied here\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| where success == false\r\n| summarize _count=sum(itemCount) by resultCode\r\n| sort by _count desc",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "utc",
+ "title": "Azure / Insights / Applications - Failures - 2. Dependencies",
+ "uid": "Azure-AppInsights-Failures-Dependencies",
+ "version": 48
+}
diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureExceptions.json b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureExceptions.json
new file mode 100644
index 00000000000..3c578e5207d
--- /dev/null
+++ b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureExceptions.json
@@ -0,0 +1,1278 @@
+{
+ "__inputs": [],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "10.0.3"
+ },
+ {
+ "type": "datasource",
+ "id": "grafana-azure-monitor-datasource",
+ "name": "Azure Monitor",
+ "version": "1.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "stat",
+ "name": "Stat",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "The dashboard provides insights of exceptions through Application Insights.",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": ["Azure-AppInsights-Failures"],
+ "targetBlank": true,
+ "title": "Application Insights Failures Dashboards",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 97,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "# Failures - Exceptions",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.3",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 89,
+ "panels": [],
+ "title": "Application Insights - Failures - Exceptions",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "The resource path for this panel uses multiple template variables which requires modifying the dashboard JSON directly. If you would like to do something similar please go to Settings > JSON Model. Edit as you'd like in your new copy by going to Settings > Save as.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 64,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "failedCount"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "FailedCount"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 13,
+ "x": 0,
+ "y": 3
+ },
+ "id": 91,
+ "interval": "60s",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "${res} | Users",
+ "url": "https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/${sub}/resourceGroups/${rg}/providers/microsoft.insights/components/${res}/segmentationUsers"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nexceptions\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where (\"All\" in ($exception_type) or type in ($exception_type))\n| summarize FailedCount=sum(itemCount) by bin(timestamp, $__interval)\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Exceptions (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "The resource path for this panel uses multiple template variables which requires modifying the dashboard JSON directly. If you would like to do something similar please go to Settings > JSON Model. Edit as you'd like in your new copy by going to Settings > Save as.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 257
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": false,
+ "title": "Filter by exception type",
+ "url": "/d/Azure-AppInsights-Failures-Exceptions/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${exception:queryparam}&var-exception_type=${__data.fields.type}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 13,
+ "w": 11,
+ "x": 13,
+ "y": 3
+ },
+ "id": 90,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nexceptions\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| summarize Count=sum(itemCount) by type\n| top 10 by Count desc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 10 exception types (count)",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "The resource path for this panel uses multiple template variables which requires modifying the dashboard JSON directly. If you would like to do something similar please go to Settings > JSON Model. Edit as you'd like in your new copy by going to Settings > Save as.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 62,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 13,
+ "x": 0,
+ "y": 10
+ },
+ "id": 92,
+ "interval": "60s",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "${res} | Users",
+ "url": "https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/${sub}/resourceGroups/${rg}/providers/microsoft.insights/components/${res}/segmentationUsers"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "requests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n// calculate average request duration for all requests\n| summarize Count = count() by bin(timestamp, $__interval)\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Server Requests (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "The resource path for this panel uses multiple template variables which requires modifying the dashboard JSON directly. If you would like to do something similar please go to Settings > JSON Model. Edit as you'd like in your new copy by going to Settings > Save as.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "links": [],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 0,
+ "y": 16
+ },
+ "id": 93,
+ "interval": "60s",
+ "links": [
+ {
+ "title": "Reset to All Failed exceptions",
+ "url": "/d/Azure-AppInsights-Failures-Exceptions/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&var-exception_type=All&var-exception=All"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "exceptions\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| summarize failedCount=sum(itemCount)\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "All Exceptions (Count)",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "The resource path for this panel uses multiple template variables which requires modifying the dashboard JSON directly. If you would like to do something similar please go to Settings > JSON Model. Edit as you'd like in your new copy by going to Settings > Save as.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-red",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 8,
+ "y": 16
+ },
+ "id": 94,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "exceptions\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where (\"All\" in ($exception) or problemId in ($exception))\n| where (\"All\" in ($exception_type) or type in ($exception_type))\n| summarize failedCount=sum(itemCount)\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Number of exceptions matching exception type $exception_type and exception $exception",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "The resource path for this panel uses multiple template variables which requires modifying the dashboard JSON directly. If you would like to do something similar please go to Settings > JSON Model. Edit as you'd like in your new copy by going to Settings > Save as.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Show list of sample transactions",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"problemId\",\"filters\":[\"${__data.fields.Exception}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"exceptions\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.5
+ },
+ {
+ "color": "dark-red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dependency name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 161
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Show list of matching dependencies",
+ "url": "d/Azure-AppInsights-Failures-Exceptions/?orgId=1&${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${__value.time}&${result_code:queryparam}&var-exception=${__data.fields.Exception}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": false
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "lcd",
+ "type": "gauge",
+ "valueDisplayMode": "text"
+ }
+ },
+ {
+ "id": "links",
+ "value": []
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "impactedUsers"
+ },
+ "properties": [
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Exception"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": false,
+ "title": "Filter dashboards to Exception",
+ "url": "/d/Azure-AppInsights-Failures-Exceptions/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${exception_type:queryparam}&var-exception=${__data.fields.Exception}"
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 8,
+ "x": 0,
+ "y": 19
+ },
+ "id": 95,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Count"
+ }
+ ]
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let m = exceptions\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where (\"All\" in ($exception_type) or type in ($exception_type))\n| project itemCount, user_Id, problemId;\nm\n| summarize Count=sum(itemCount), impactedUsers=dcount(user_Id)\n| project Exception=\"All\", Count, impactedUsers\n| union(\nm\n| summarize Count=sum(itemCount), impactedUsers=dcount(user_Id) by problemId\n| sort by Count desc\n| project Exception=problemId, Count, impactedUsers)\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top Exceptions by Count",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "The resource path for this panel uses multiple template variables which requires modifying the dashboard JSON directly. If you would like to do something similar please go to Settings > JSON Model. Edit as you'd like in your new copy by going to Settings > Save as.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 0.5
+ },
+ {
+ "color": "dark-red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseTime"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Exception"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open dependencies in explorer",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"problemId\",\"filters\":[\"${__data.fields.Exception}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"exceptions\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "OperationID"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open Trace Details",
+ "url": "/explore?left={\r\n\t\"datasource\": \"${ds}\",\r\n\t\"queries\": [{\r\n\t\t\"azureTraces\": {\r\n\r\n\t\t\t\"operationId\": \"${__data.fields.OperationID}\",\r\n\r\n\t\t\t\"resources\": [\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\r\r\n\r\n\t\t\t\"resultFormat\": \"trace\"\r\n\r\n\r\n\r\n\r\n\t\t},\r\n\t\t\"datasource\": \"${ds}\",\r\n\t\t\"refId\": \"A\",\r\n\r\n\t\t\"queryType\": \"Azure Traces\"\r\n\t}],\r\n\t\"range\": {\r\n\t\t\"from\": \"${__from}\",\r\n\t\t\"to\": \"${__to}\"\r\n\t}\r\n}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Score"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 16,
+ "x": 8,
+ "y": 19
+ },
+ "id": 96,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let min_length_8 = (s: string) {\n let len = strlen(s);\n case(len == 1, strcat(s, s, s, s, s, s, s, s),\n len == 2 or len == 3, strcat(s, s, s, s),\n len == 4 or len == 5 or len == 6 or len == 7, strcat(s, s),\n s)\n};\nlet ai_hash = (s: string) {\n abs(toint(__hash_djb2(min_length_8(s))))\n};\n\nexceptions\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where (\"All\" in ($exception_type) or type in ($exception_type))\n| where (\"All\" in ($exception) or problemId in ($exception))\n| where isnotempty(operation_Id)\n| project Exception=problemId, OperationID=operation_Id, Score=ai_hash(operation_Id)\n| top 20 by Score asc\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 20 exceptions level matching $exception by Relevance",
+ "transformations": [],
+ "type": "table"
+ }
+ ],
+ "refresh": "",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["Azure-AppInsights-Failures"],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Azure Monitor",
+ "value": "Azure Monitor"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Datasource",
+ "multi": false,
+ "name": "ds",
+ "options": [],
+ "query": "grafana-azure-monitor-datasource",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Subscription",
+ "multi": false,
+ "name": "sub",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "SubscriptionsQuery",
+ "rawQuery": "Subscriptions()"
+ },
+ "queryType": "Azure Subscriptions",
+ "refId": "A"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource Group",
+ "multi": false,
+ "name": "rg",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "ResourceGroupsQuery",
+ "rawQuery": "ResourceGroups($sub)",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Resource Groups",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Namespace",
+ "multi": false,
+ "name": "ns",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "MetricNamespaceQuery",
+ "rawQuery": "Namespaces($sub, $rg)",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Namespaces",
+ "refId": "A",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "([mM](icrosoft)\\.[iI](nsights)/(components))",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "ResourceNames($sub, $rg, $ns)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource",
+ "multi": false,
+ "name": "res",
+ "options": [],
+ "query": "ResourceNames($sub, $rg, $ns)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Exception Type",
+ "multi": true,
+ "name": "exception_type",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "exceptions\r\n| search \"*\"\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| summarize count() by type\r\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Exception",
+ "multi": true,
+ "name": "exception",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "exceptions\r\n| search \"*\"\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| where (\"All\" in ($exception_type) or type in ($exception_type))\r\n| summarize count() by problemId\r\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "utc",
+ "title": "Azure / Insights / Applications - Failures - 3. Exceptions",
+ "uid": "Azure-AppInsights-Failures-Exceptions",
+ "version": 37
+}
diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureOperations.json b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureOperations.json
new file mode 100644
index 00000000000..9bcdc18a70a
--- /dev/null
+++ b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsFailureOperations.json
@@ -0,0 +1,1753 @@
+{
+ "__inputs": [],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "10.0.3"
+ },
+ {
+ "type": "datasource",
+ "id": "grafana-azure-monitor-datasource",
+ "name": "Azure Monitor",
+ "version": "1.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "stat",
+ "name": "Stat",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "The dashboard provides insights of operation failures through Application Insights.",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": ["Azure-AppInsights-Failures"],
+ "targetBlank": true,
+ "title": "Azure Application Insights Failures",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 87,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "# Failures - Operations",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.3",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 68,
+ "panels": [],
+ "title": "Application Insights - Failures",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 64,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "failedCount"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "FailedCount"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 13,
+ "x": 0,
+ "y": 3
+ },
+ "id": 69,
+ "interval": "60s",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "${res} | Users",
+ "url": "https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/${sub}/resourceGroups/${rg}/providers/microsoft.insights/components/${res}/segmentationUsers"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where \"All\" in ($operation_name) or operation_Name in ($operation_name)\n| where \"All\" in ($result_code) or resultCode in ($result_code)\n| summarize FailedCount=sumif(itemCount, success == false) by bin(timestamp, $__interval)\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Failed Requests (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on a result code to filter this dashboard.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [
+ {
+ "targetBlank": false,
+ "title": "Filter Result code",
+ "url": "/d/Azure-AppInsights-Failures-Operations/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${operation_name:queryparam}&var-result_code=${__data.fields[\"Result Code\"]}"
+ }
+ ],
+ "mappings": [],
+ "min": 0,
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "custom.width",
+ "value": 584
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Result Code"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 252
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Filter result code",
+ "url": "/d/Azure-AppInsights-Failures-Operations/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${operation_name:queryparam}&var-result_code=${__data.fields[\"Result Code\"]}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 11,
+ "x": 13,
+ "y": 3
+ },
+ "id": 72,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where success == false\n| where \"All\" in ($operation_name) or operation_Name in ($operation_name)\n| summarize Count=sum(itemCount) by [\"Result Code\"]=resultCode\n| top 5 by Count desc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 5 response codes",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on an type to open the exceptions dashboard.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 257
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open Exceptions Dashboard",
+ "url": "/d/Azure-AppInsights-Failures-Exceptions?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&var-exception_type=${__data.fields.type}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 11,
+ "x": 13,
+ "y": 9
+ },
+ "id": 73,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nexceptions\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| summarize Count=sum(itemCount) by type\n| top 5 by Count desc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 5 exception types",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 22,
+ "gradientMode": "hue",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sum_itemCount 404"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sum_itemCount 500"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResultCode 404"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 13,
+ "x": 0,
+ "y": 13
+ },
+ "id": 79,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.0.8.1",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where \"All\" in ($operation_name) or operation_Name in ($operation_name)\n| where \"All\" in ($result_code) or resultCode in ($result_code)\n| where client_Type != \"Browser\"\n| where success == false\n| summarize ResultCode = sum(itemCount) by resultCode, bin(timestamp, $__interval)\n| sort by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Response codes (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 264
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open Dependencies Dashboard",
+ "url": "/d/Azure-AppInsights-Failures-Dependencies/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 11,
+ "x": 13,
+ "y": 16
+ },
+ "id": 74,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where success == false\n| summarize Count=sum(itemCount) by type\n| top 5 by Count desc\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 5 failed dependencies",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 62,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 13,
+ "x": 0,
+ "y": 18
+ },
+ "id": 70,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where \"All\" in ($operation_name) or operation_Name in ($operation_name)\n| where \"All\" in ($result_code) or resultCode in ($result_code)\n// calculate average request duration for all requests\n| summarize Count = count() by bin(timestamp, $__interval)\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Server Requests (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "links": [
+ {
+ "title": "Reset to All Operations and All Result codes",
+ "url": "/d/Azure-AppInsights-Failures-Operations/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&var-result_code=All${result_code:queryparam}&var-operation_name=All"
+ }
+ ],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 0,
+ "y": 24
+ },
+ "id": 78,
+ "interval": "60s",
+ "links": [
+ {
+ "title": "Reset to All Operation Names and All Result codes",
+ "url": "/d/Azure-AppInsights-Failures-Operations/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&var-result_code=All${result_code:queryparam}&var-operation_name=All"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where \"All\" in ($result_code) or resultCode in ($result_code)\n| where client_Type != \"Browser\"\n| summarize failedCount=sumif(itemCount, success == false)\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "All Failed Operations (Count) matching Result code $result_code",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-red",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "failedCount"
+ },
+ "properties": [
+ {
+ "id": "links"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 8,
+ "y": 24
+ },
+ "id": 86,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "requests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where \"All\" in ($result_code) or resultCode in ($result_code)\n| where client_Type != \"Browser\"\n| where \"All\" in ($operation_name) or operation_Name in ($operation_name)\n| summarize failedCount=sumif(itemCount, success == false)\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Number of failed transactions matching $operation_name",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${ds}",
+ "type": "grafana-azure-monitor-datasource"
+ },
+ "description": "Click on the Operation name to filter dashboard.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "links": [
+ {
+ "title": "View transactions with Operation name",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/Microsoft.Insights/components/${res}\"],\"filters\":[{\"property\":\"operation_Name\",\"filters\":[\"${__data.fields.operation_Name}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"requests\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ],
+ "noValue": "--"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Failed count"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "lcd",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "View transactions with Operation Name",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/Microsoft.Insights/components/${res}\"],\"filters\":[{\"property\":\"operation_Name\",\"filters\":[\"${__data.fields[\"Operation name\"]}\"],\"operation\":\"eq\"}, {\"property\":\"resultCode\",\"filters\":[${result_code:doublequote}],\"operation\":\"eq\"}],\"traceTypes\": [\"requests\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total count"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "lcd",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "View transactions with Operation name",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/Microsoft.Insights/components/${res}\"],\"filters\":[{\"property\":\"operation_Name\",\"filters\":[\"${__data.fields[\"Operation name\"]}\"],\"operation\":\"eq\"}, {\"property\":\"resultCode\",\"filters\":[${result_code:doublequote}],\"operation\":\"eq\"}],\"traceTypes\": [\"requests\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Operation name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 184
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Impacted users"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 130
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Operation name"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Filter dashboard to this failing operation",
+ "url": "/d/Azure-AppInsights-Failures-Operations/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&var-operation_name=${__data.fields[\"Operation name\"]}&${result_code:queryparam}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 13,
+ "w": 8,
+ "x": 0,
+ "y": 27
+ },
+ "id": 71,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "showHeader": true,
+ "cellHeight": "sm",
+ "footer": {
+ "show": false,
+ "reducer": ["sum"],
+ "countRows": false,
+ "fields": ""
+ },
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "failedCount"
+ }
+ ]
+ },
+ "pluginVersion": "10.2.0-pre",
+ "targets": [
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "azureLogAnalytics": {
+ "query": "let dataset =\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\";\ndataset\n| summarize\n [\"Failed count\"]=sumif(itemCount, success == 'False' and (\"All\" in ($result_code) or resultCode in ($result_code))),\n [\"Impacted users\"]=dcountif(user_Id, success == 'False' and (\"All\" in ($result_code) or resultCode in ($result_code))),\n [\"Total count\"]=sum(itemCount)\n| project [\"Operation name\"]=\"All\", [\"Failed count\"], [\"Impacted users\"], [\"Total count\"]\n| union (dataset| summarize\n [\"Failed count\"]=sumif(itemCount, success == 'False' and (\"All\" in ($result_code) or resultCode in ($result_code))),\n [\"Impacted users\"]=dcountif(user_Id, success == 'False' and (\"All\" in ($result_code) or resultCode in ($result_code))),\n [\"Total count\"]=sum(itemCount)\n by [\"Operation name\"]=operation_Name\n| where [\"Failed count\"] > 0\n| top 10 by [\"Failed count\"] desc)\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table",
+ "dashboardTime": false
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 10 Failed Operation Name List",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on the OperationID or Name to view trace details in explorer.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Response Time"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 173
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open explorer with this name",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/Microsoft.Insights/components/${res}\"],\"filters\":[{\"property\":\"operation_Name\",\"filters\":[\"${__data.fields.Name}\"],\"operation\":\"eq\"}, {\"property\":\"resultCode\",\"filters\":[${result_code:doublequote}],\"operation\":\"eq\"}],\"traceTypes\": [\"requests\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Response Code"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "200": {
+ "color": "dark-green",
+ "index": 0
+ }
+ },
+ "type": "value"
+ },
+ {
+ "options": {
+ "from": 201,
+ "result": {
+ "color": "dark-orange",
+ "index": 1
+ },
+ "to": 399
+ },
+ "type": "range"
+ },
+ {
+ "options": {
+ "from": 400,
+ "result": {
+ "color": "dark-red",
+ "index": 2
+ },
+ "to": 999
+ },
+ "type": "range"
+ }
+ ]
+ },
+ {
+ "id": "links"
+ },
+ {
+ "id": "custom.width",
+ "value": 211
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "OperationID"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Show Trace Details",
+ "url": "/explore?left={\r\n\t\"datasource\": \"${ds}\",\r\n\t\"queries\": [{\r\n\t\t\"azureTraces\": {\r\n\r\n\t\t\t\"operationId\": \"${__data.fields.OperationID}\",\r\n\r\n\t\t\t\"resources\": [\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\r\r\n\r\n\t\t\t\"resultFormat\": \"trace\"\r\n\r\n\r\n\r\n\r\n\t\t},\r\n\t\t\"datasource\": \"${ds}\",\r\n\t\t\"refId\": \"A\",\r\n\r\n\t\t\"queryType\": \"Azure Traces\"\r\n\t}],\r\n\t\"range\": {\r\n\t\t\"from\": \"${__from}\",\r\n\t\t\"to\": \"${__to}\"\r\n\t}\r\n}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Score"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 13,
+ "w": 16,
+ "x": 8,
+ "y": 27
+ },
+ "id": 75,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let min_length_8 = (s: string) {\n let len = strlen(s);\n case(len == 1, strcat(s, s, s, s, s, s, s, s),\n len == 2 or len == 3, strcat(s, s, s, s),\n len == 4 or len == 5 or len == 6 or len == 7, strcat(s, s),\n s)\n};\nlet ai_hash = (s: string) {\n abs(toint(__hash_djb2(min_length_8(s))))\n};\n\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where \"All\" in ($operation_name) or operation_Name in ($operation_name)\n| where \"All\" in ($result_code) or resultCode in ($result_code)\n| where success == 'False'\n| project Name = operation_Name, [\"Response Code\"] = resultCode, [\"Response Time\"] = duration, OperationID = operation_Id, Score=ai_hash(operation_Id)\n| top 20 by Score asc\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 20 Sample Failed Operations matching $operation_name by relevance",
+ "transformations": [],
+ "type": "table"
+ }
+ ],
+ "refresh": "",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["Azure-AppInsights-Failures"],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Azure Monitor",
+ "value": "Azure Monitor"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Datasource",
+ "multi": false,
+ "name": "ds",
+ "options": [],
+ "query": "grafana-azure-monitor-datasource",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Subscription",
+ "multi": false,
+ "name": "sub",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "SubscriptionsQuery",
+ "rawQuery": "Subscriptions()"
+ },
+ "queryType": "Azure Subscriptions",
+ "refId": "A"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource Group",
+ "multi": false,
+ "name": "rg",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "ResourceGroupsQuery",
+ "rawQuery": "ResourceGroups($sub)",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Resource Groups",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Namespace",
+ "multi": false,
+ "name": "ns",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "MetricNamespaceQuery",
+ "rawQuery": "Namespaces($sub, $rg)",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Namespaces",
+ "refId": "A",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "([mM](icrosoft)\\.[iI](nsights)/(components))",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "ResourceNames($sub, $rg, $ns)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource",
+ "multi": false,
+ "name": "res",
+ "options": [],
+ "query": "ResourceNames($sub, $rg, $ns)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Result Code",
+ "multi": true,
+ "name": "result_code",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "requests\r\n// additional filters can be applied here\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| where success == false\r\n| summarize Count=sum(itemCount) by resultCode\r\n| sort by Count desc",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Operation Names",
+ "multi": true,
+ "name": "operation_name",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "requests\r\n// additional filters can be applied here\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| where \"All\" in ($result_code) or resultCode in ($result_code)\r\n| summarize count=sumif(itemCount, success == false) by operation_Name",
+ "resource": "/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Azure / Insights / Applications - Failures - 1. Operations",
+ "uid": "Azure-AppInsights-Failures-Operations",
+ "version": 127
+}
diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsPerfDependencies.json b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsPerfDependencies.json
new file mode 100644
index 00000000000..bdda13917d5
--- /dev/null
+++ b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsPerfDependencies.json
@@ -0,0 +1,1828 @@
+{
+ "__inputs": [],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "panel",
+ "id": "barchart",
+ "name": "Bar chart",
+ "version": ""
+ },
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "10.0.3"
+ },
+ {
+ "type": "datasource",
+ "id": "grafana-azure-monitor-datasource",
+ "name": "Azure Monitor",
+ "version": "1.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "heatmap",
+ "name": "Heatmap",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "histogram",
+ "name": "Histogram",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "stat",
+ "name": "Stat",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
+ }
+ ],
+ "description": "The dashboard provides insights of Azure Apps via different metrics for app monitoring through Application Insights.",
+ "editable": true,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": ["Azure-AppInsights-Perf"],
+ "targetBlank": true,
+ "title": "Azure Application Insights Performance Dashboards",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 93,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "# Performance Dependencies",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.3",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 83,
+ "panels": [],
+ "title": "Application Insights - Performance - Dependencies",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge",
+ "valueDisplayMode": "text"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open on Explorer",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"type\",\"filters\":[\"${__data.fields.type}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"dependencies\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Duration_95th"
+ },
+ "properties": [
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "AVG_Duration"
+ },
+ "properties": [
+ {
+ "id": "links"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 82,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\nset truncationmaxrecords=10000;set truncationmaxsize=67108864;set truncationmaxrecords=10000;set truncationmaxsize=67108864;\r\ndependencies\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\r\n| summarize Count=sum(itemCount), AVG_Duration=sum(duration * itemCount)/sum(itemCount), Duration_95th=percentile(duration,95) by type\r\n| sort by Count desc\r\n| take 3",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A"
+ }
+ ],
+ "title": "Top 3 Dependencies",
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 64,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P95"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 13,
+ "x": 0,
+ "y": 8
+ },
+ "id": 80,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n// calculate average dependency duration for all dependencies\n| summarize AVG = avg(duration), P95 = percentiles(duration, 95), MAX = max(duration) by bin(timestamp, $__interval)\n| project timestamp, AVG = AVG/1000, P95 = P95/1000, MAX = MAX/1000\n| order by timestamp asc\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Server Dependencies Response Time (sec)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "fillOpacity": 46,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1
+ },
+ "displayName": "Request Count",
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-green",
+ "value": null
+ },
+ {
+ "color": "semi-dark-green",
+ "value": 80
+ },
+ {
+ "color": "green",
+ "value": 90
+ },
+ {
+ "color": "light-green",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": ["Request Count"],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": true
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 11,
+ "x": 13,
+ "y": 8
+ },
+ "id": 81,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "bucketOffset": 0,
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n// calculate average request duration for all requests\n| extend ResponseTime = duration/1000\n| project timestamp, ResponseTime\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Distribution of Server Dependency Response Time (ms)",
+ "transformations": [],
+ "type": "histogram"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 62,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 13,
+ "x": 0,
+ "y": 18
+ },
+ "id": 84,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n// calculate average request duration for all requests\n| summarize Count = count() by bin(timestamp, $__interval)\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Server Requests (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 11,
+ "x": 13,
+ "y": 18
+ },
+ "id": 85,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "calculate": true,
+ "calculation": {},
+ "cellGap": 2,
+ "cellValues": {},
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Greens",
+ "steps": 128
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true,
+ "showLegend": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "showValue": "never",
+ "tooltip": {
+ "show": true,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "short"
+ }
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n// calculate average request duration for all requests\n| extend ResponseTime = duration/1000\n| project timestamp, ResponseTime\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Count of Requests by Server Response Time (sec)",
+ "transformations": [],
+ "type": "heatmap"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 92,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "Click on a bar on the chart below to set the minimum and maximum duration. To reset the zoom, change the Minimum Duration and Maximum duration variables.",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.3",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on a bar on the chart below to set the minimum and maximum duration. To reset the zoom, change the Minimum Duration and Maximum duration variables.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": true,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "min": 0
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Set Minimum Duration (Current: $min_duration}",
+ "url": "/d/Azure-AppInsights-Perf-Dependencies/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${dependency:queryparam}&${max_duration:queryparam}&var-min_duration=${__data.fields[\"Duration (ms)\"]}"
+ },
+ {
+ "title": "Set Maximum Duration (Current: $max_duration)",
+ "url": "/d/Azure-AppInsights-Perf-Dependencies/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${dependency:queryparam}&${min_duration:queryparam}&var-max_duration=${__data.fields[\"Duration (ms)\"]}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Duration (ms)"
+ },
+ "properties": [
+ {
+ "id": "links"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "id": 91,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "barRadius": 0,
+ "barWidth": 0.97,
+ "fullHighlight": true,
+ "groupWidth": 0.7,
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "orientation": "auto",
+ "showValue": "never",
+ "stacking": "none",
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ },
+ "xField": "Duration (ms)",
+ "xTickLabelRotation": 0,
+ "xTickLabelSpacing": 100
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\n// distribution of dependencies by logarithmic duration buckets\nlet numberOfBuckets = 100;\n// filter to a subset of dependencies\n\nlet dataset = dependencies\n| where client_Type != \"Browser\"\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n| extend value=duration\n| project itemCount, value;\n// calculate the maximum duration for all dependencies\nlet maxValue=toscalar(dataset | summarize max(value));\n// calculate the logarithmic base that determines the start of each bucket\n// use the max duration to ensure the scale spans all possible durations in the data set\nlet bucketBase = pow(maxValue, 1/todouble(numberOfBuckets));\n// define a table with an index for each bucket to allow for buckets with 0 dependencies\nlet bucketSlots=range bucketSlot from 0 to numberOfBuckets - 1 step 1;\n// map dependency counts to the correct bucket and apply to the scale by joining with the complete set of buckets\nbucketSlots | join kind=leftouter (dataset\n// any durations under 1ms are rounded up to 1 ms\n// calls with durations under 1ms can be viewed in more detail using the linear scale\n| extend adjustedValue = iff(value<1, 1.0, value)\n// calculate the bucket slot for each dependency by applying logarithmic scale\n| extend bucketSlotRaw = tolong(bin(log(adjustedValue)/log(bucketBase), 1))\n// calculate the dependency count by duration bucket (rounded to whole number)\n| summarize count_=sum(itemCount) by bucketSlot=iff(bucketSlotRaw > numberOfBuckets - 1, numberOfBuckets - 1, bucketSlotRaw)) on bucketSlot\n| order by bucketSlot asc\n// calculate the real duration value for each bucket based on both the index and the bucket base (rounded to whole number)\n| project\n [\"Duration (ms)\"]=floor(pow(bucketBase, bucketSlot), 1),\n counts=iff(isnull(count_), 0, count_)\n| summarize Count=sum(counts) by [\"Duration (ms)\"]\n| where ['Duration (ms)'] >= todouble(minDuration)\n| order by [\"Duration (ms)\"] asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Dependency count by Duration (ms)",
+ "transformations": [],
+ "type": "barchart"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "links": [
+ {
+ "title": "",
+ "url": "/d/Azure-AppInsights-Perf-Dependencies/?orgId=1&${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${__value.time}&${dependency:queryparam}"
+ }
+ ],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 0,
+ "y": 39
+ },
+ "id": 86,
+ "interval": "60s",
+ "links": [
+ {
+ "title": "Reset dependency to 'All'",
+ "url": "/d/Azure-AppInsights-Perf-Dependencies/?${__all_variables}"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\ndependencies\n| where $__timeFilter(timestamp)\n// additional filters can be applied here\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| count\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "$dependency Dependencies (count)",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-red"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open on failures dashboard",
+ "url": "/d/Azure-AppInsights-Failures-Dependencies/?${__all_variables}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 8,
+ "y": 39
+ },
+ "id": 87,
+ "interval": "60s",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Open on failures dashboard",
+ "url": "/d/Azure-AppInsights-Failures-Dependencies/?${__all_variables}"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n| where success == false\n| count\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Number of failed dependencies matching $dependency",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on a dependency name to filter dashboard.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Show list of sample transactions",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"type\",\"filters\":[\"${__data.fields.type}\"],\"operation\":\"eq\"}, {\"property\":\"target\",\"filters\":[\"${__data.fields.target}\"],\"operation\":\"eq\"}, {\"property\":\"name\",\"filters\":[\"${__data.fields.name}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"dependencies\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.5
+ },
+ {
+ "color": "dark-red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Avg"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "custom.width",
+ "value": 164
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dependency name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 161
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Show list of matching dependencies",
+ "url": "d/Azure-AppInsights-Perf-Dependencies/?orgId=1&${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${__value.time}&${min_duration:queryparam}&${max_duration:queryparam}&var-dependency=${__data.fields[\"Dependency name\"]}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": false
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge",
+ "valueDisplayMode": "text"
+ }
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open dependencies in explorer",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"type\",\"filters\":[\"${__data.fields.type}\"],\"operation\":\"eq\"}, {\"property\":\"name\",\"filters\":[\"${__data.fields.name}\"],\"operation\":\"eq\"}, {\"property\":\"target\",\"filters\":[\"${__data.fields.target}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"dependencies\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "target"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "name"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ },
+ {
+ "id": "filterable",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 8,
+ "x": 0,
+ "y": 42
+ },
+ "id": 88,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Count"
+ }
+ ]
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "set truncationmaxrecords=10000;set truncationmaxsize=67108864; \nlet m = dependencies\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\" \n| project itemCount, duration, typeTransform=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), targetTransform=tostring(split(target, \" | cid-v1\")[0]), name, type, target;\nm\n| summarize Count=sum(itemCount), Avg=sum(itemCount * duration) / sum(itemCount)\n| project [\"Dependency name\"]=\"All\", Avg, Count\n| union(\nm\n| summarize Count=sum(itemCount), Avg=sum(itemCount * duration) / sum(itemCount) by typeTransform=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), targetTransform=tostring(split(target, \" | cid-v1\")[0]), name, target, type\n| sort by Avg desc\n| project [\"Dependency name\"]=strcat(typeTransform, \": \", name , \" \", targetTransform), Avg, Count, type, target, name)\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top Dependencies by Avg Duration",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on the OperationID or dependency name to open the trace details in explorer",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "orange",
+ "value": 0.5
+ },
+ {
+ "color": "dark-red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseTime"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dependency Name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open dependencies in explorer",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"type\",\"filters\":[\"${__data.fields.type}\"],\"operation\":\"eq\"}, {\"property\":\"name\",\"filters\":[\"${__data.fields.name}\"],\"operation\":\"eq\"}, {\"property\":\"target\",\"filters\":[\"${__data.fields.target}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"dependencies\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseCode"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 211
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseCode"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseCode"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "200": {
+ "color": "dark-green",
+ "index": 0
+ }
+ },
+ "type": "value"
+ },
+ {
+ "options": {
+ "from": 201,
+ "result": {
+ "color": "dark-orange",
+ "index": 1
+ },
+ "to": 399
+ },
+ "type": "range"
+ },
+ {
+ "options": {
+ "from": 400,
+ "result": {
+ "color": "dark-red",
+ "index": 2
+ },
+ "to": 999
+ },
+ "type": "range"
+ }
+ ]
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "OperationID"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open Trace Details",
+ "url": "/explore?left={\r\n\t\"datasource\": \"${ds}\",\r\n\t\"queries\": [{\r\n\t\t\"azureTraces\": {\r\n\r\n\t\t\t\"operationId\": \"${__data.fields.OperationID}\",\r\n\r\n\t\t\t\"resources\": [\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\r\r\n\r\n\t\t\t\"resultFormat\": \"trace\"\r\n\r\n\r\n\r\n\r\n\t\t},\r\n\t\t\"datasource\": \"${ds}\",\r\n\t\t\"refId\": \"A\",\r\n\r\n\t\t\"queryType\": \"Azure Traces\"\r\n\t}],\r\n\t\"range\": {\r\n\t\t\"from\": \"${__from}\",\r\n\t\t\"to\": \"${__to}\"\r\n\t}\r\n}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "target"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 251
+ },
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "name"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Score"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 16,
+ "x": 8,
+ "y": 42
+ },
+ "id": 89,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\nlet min_length_8 = (s: string) {\n let len = strlen(s);\n case(len == 1, strcat(s, s, s, s, s, s, s, s),\n len == 2 or len == 3, strcat(s, s, s, s),\n len == 4 or len == 5 or len == 6 or len == 7, strcat(s, s),\n s)\n};\nlet ai_hash = (s: string) {\n abs(toint(__hash_djb2(min_length_8(s))))\n};\n\ndependencies\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| extend typeTransform=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), targetTransform=tostring(split(target, \" | cid-v1\")[0])\n| extend [\"Dependency Name\"] = strcat(typeTransform, \": \", name, \" \", targetTransform)\n| where (\"All\" in ($dependency) or [\"Dependency Name\"] in ($dependency))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n//| where returncode in ($return_code)\n| project [\"Dependency Name\"], target, ResponseCode = resultCode, ResponseTime = duration, OperationID = operation_Id, Score=ai_hash(operation_Id), type, name\n| top 20 by Score asc\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 20 Dependencies matching $dependency by Relevance",
+ "transformations": [],
+ "type": "table"
+ }
+ ],
+ "refresh": "",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["Azure-AppInsights-Perf"],
+ "templating": {
+ "list": [
+ {
+ "current": {},
+ "hide": 0,
+ "includeAll": false,
+ "label": "Datasource",
+ "multi": false,
+ "name": "ds",
+ "options": [],
+ "query": "grafana-azure-monitor-datasource",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Subscription",
+ "multi": false,
+ "name": "sub",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "SubscriptionsQuery",
+ "rawQuery": "Subscriptions()"
+ },
+ "queryType": "Azure Subscriptions",
+ "refId": "A"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource Group",
+ "multi": false,
+ "name": "rg",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "ResourceGroupsQuery",
+ "rawQuery": "ResourceGroups($sub)",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Resource Groups",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Namespace",
+ "multi": false,
+ "name": "ns",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "MetricNamespaceQuery",
+ "rawQuery": "Namespaces($sub, $rg)",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Namespaces",
+ "refId": "A",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "([mM](icrosoft)\\.[iI](nsights)/(components))",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "ResourceNames($sub, $rg, $ns)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource",
+ "multi": false,
+ "name": "res",
+ "options": [],
+ "query": "ResourceNames($sub, $rg, $ns)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Dependency",
+ "multi": true,
+ "name": "dependency",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "dependencies\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\r\n| project [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target)\r\n| summarize count() by [\"Dependency Name\"]\r\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Minimum Duration (ms)",
+ "multi": false,
+ "name": "min_duration",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "dependencies\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\r\n| project [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target), duration\r\n| where ['Dependency Name'] in ($dependency)\r\n| top 1 by duration asc\r\n| project tostring(duration)\r\n\r\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Maximum Duration (ms)",
+ "multi": false,
+ "name": "max_duration",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "dependencies\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| extend type=iff(tolower(type) == \"http (tracked component)\", \"HTTP\", type), target=tostring(split(target, \" | cid-v1\")[0])\r\n| project [\"Dependency Name\"] = strcat(type, \": \", name, \" \", target), duration\r\n| where ['Dependency Name'] in ($dependency)\r\n| top 1 by duration desc\r\n| project tostring(duration)\r\n\r\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Azure / Insights / Applications - Performance - 2. Dependencies",
+ "uid": "Azure-AppInsights-Perf-Dependencies",
+ "version": 50
+}
diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsPerfOperations.json b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsPerfOperations.json
new file mode 100644
index 00000000000..9ef617525fd
--- /dev/null
+++ b/public/app/plugins/datasource/azuremonitor/dashboards/appInsightsPerfOperations.json
@@ -0,0 +1,1654 @@
+{
+ "__inputs": [],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "panel",
+ "id": "barchart",
+ "name": "Bar chart",
+ "version": ""
+ },
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "10.0.3"
+ },
+ {
+ "type": "datasource",
+ "id": "grafana-azure-monitor-datasource",
+ "name": "Azure Monitor",
+ "version": "1.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "heatmap",
+ "name": "Heatmap",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "histogram",
+ "name": "Histogram",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "stat",
+ "name": "Stat",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
+ }
+ ],
+ "description": "The dashboard provides insights of Azure Apps via different metrics for app monitoring through Application Insights.",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": ["Azure-AppInsights-Perf"],
+ "targetBlank": true,
+ "title": "Azure Application Insights Performance Dashboards",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 68,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "# Performance - Operations",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.3",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 57,
+ "panels": [],
+ "title": "Application Insights - Performance - Operations",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 64,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P95"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 13,
+ "x": 0,
+ "y": 3
+ },
+ "id": 55,
+ "interval": "60s",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "${res} | Users",
+ "url": "https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/${sub}/resourceGroups/${rg}/providers/microsoft.insights/components/${res}/segmentationUsers"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\nrequests// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n// calculate average request duration for all requests\n| summarize AVG = avg(duration), P95 = percentiles(duration, 95), MAX = max(duration) by bin(timestamp, $__interval)\n| project timestamp, AVG = AVG/1000, P95 = P95/1000, MAX = MAX/1000\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Server Response Time (sec)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "fillOpacity": 46,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1
+ },
+ "displayName": "Request Count",
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-green",
+ "value": null
+ },
+ {
+ "color": "semi-dark-green",
+ "value": 80
+ },
+ {
+ "color": "green",
+ "value": 90
+ },
+ {
+ "color": "light-green",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": ["Request Count"],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": true
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 11,
+ "x": 13,
+ "y": 3
+ },
+ "id": 61,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "bucketOffset": 0,
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n// calculate average request duration for all requests\n| extend ResponseTime = duration/1000\n| project timestamp, ResponseTime\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Distribution of Server Response Time (ms)",
+ "transformations": [],
+ "type": "histogram"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 62,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "users/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Users (Unique)"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sessions/count_unique"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sessions (Unique)"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 13,
+ "x": 0,
+ "y": 13
+ },
+ "id": 58,
+ "interval": "60s",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "${res} | Users",
+ "url": "https://ms.portal.azure.com/#@microsoft.onmicrosoft.com/resource/subscriptions/${sub}/resourceGroups/${rg}/providers/microsoft.insights/components/${res}/segmentationUsers"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n// calculate average request duration for all requests\n| summarize Count = count() by bin(timestamp, $__interval)\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Server Requests (count)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 11,
+ "x": 13,
+ "y": 13
+ },
+ "id": 62,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "calculate": true,
+ "calculation": {},
+ "cellGap": 2,
+ "cellValues": {},
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Greens",
+ "steps": 128
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true,
+ "showLegend": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "showValue": "never",
+ "tooltip": {
+ "show": true,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "short"
+ }
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n// calculate average request duration for all requests\n| extend ResponseTime = duration/1000\n| project timestamp, ResponseTime\n| order by timestamp asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Count of Requests by Server Response Time (sec)",
+ "transformations": [],
+ "type": "heatmap"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 69,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "Click on a bar on the chart below to set the minimum and maximum duration. To reset the zoom, change the Minimum Duration and Maximum duration variables.",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.3",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on a bar on the chart below to set the minimum and maximum duration. To reset the zoom, change the Minimum Duration and Maximum duration variables.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-green",
+ "value": null
+ },
+ {
+ "color": "semi-dark-green",
+ "value": 80
+ },
+ {
+ "color": "green",
+ "value": 90
+ },
+ {
+ "color": "light-green",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Duration (ms)"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Set Min Duration (Current: $min_duration)",
+ "url": "/d/Azure-AppInsights-Perf-Operations/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${operation_name:queryparam}&${max_duration:queryparam}&var-min_duration=${__data.fields[\"Duration (ms)\"]}"
+ },
+ {
+ "title": "Set Max Duration (Current: $max_duration)",
+ "url": "/d/Azure-AppInsights-Perf-Operations/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${operation_name:queryparam}&${min_duration:queryparam}&var-max_duration=${__data.fields[\"Duration (ms)\"]}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "links"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 67,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "barRadius": 0,
+ "barWidth": 0.97,
+ "fullHighlight": true,
+ "groupWidth": 0.7,
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "orientation": "auto",
+ "showValue": "never",
+ "stacking": "none",
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ },
+ "xField": "Duration (ms)",
+ "xTickLabelRotation": 0,
+ "xTickLabelSpacing": 100
+ },
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\n// distribution of requests by logarithmic duration buckets\nlet timeGrain=5m;\nlet numberOfBuckets = 100;\n// filter to a subset of requests\n\nlet dataset = requests\n | where $__timeFilter(timestamp)\n | where client_Type != \"Browser\"\n // additional filters can be applied here\n | where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\n | where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n | extend value=duration\n | project itemCount, value;\n// calculate the maximum duration for all requests\nlet maxValue=toscalar(dataset\n | summarize max(value));\n// calculate the logarithmic base that determines the start of each bucket\n// use the max duration to ensure the scale spans all possible durations in the data set\nlet bucketBase = pow(maxValue, 1 / todouble(numberOfBuckets));\n// define a table with an index for each bucket to allow for buckets with 0 requests\nlet bucketSlots=range bucketSlot from 0 to numberOfBuckets - 1 step 1;\n// map request counts to the correct bucket and apply to the scale by joining with the complete set of buckets\nbucketSlots\n| join kind=leftouter (dataset\n // any durations under 1ms are rounded up to 1 ms\n // calls with durations under 1ms can be viewed in more detail using the linear scale\n | extend adjustedValue = iff(value < 1, 1.0, value)\n // calculate the bucket slot for each request by applying logarithmic scale\n | extend bucketSlotRaw = tolong(bin(log(adjustedValue) / log(bucketBase), 1))\n // calculate the request count by duration bucket (rounded to whole number)\n | summarize count_=sum(itemCount) by bucketSlot=iff(bucketSlotRaw > numberOfBuckets - 1, numberOfBuckets - 1, bucketSlotRaw))\n on bucketSlot\n| order by bucketSlot asc\n// calculate the real duration value for each bucket based on both the index and the bucket base (rounded to whole number)\n| project\n [\"Duration (ms)\"]=floor(pow(bucketBase, bucketSlot), 1),\n counts=iff(isnull(count_), 0, count_)\n| where ['Duration (ms)'] >= $min_duration\n| summarize Count=sum(counts) by [\"Duration (ms)\"]\n| order by [\"Duration (ms)\"] asc\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "time_series"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Request Count by Duration (ms)",
+ "transformations": [],
+ "type": "barchart"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 0,
+ "y": 32
+ },
+ "id": 66,
+ "interval": "60s",
+ "links": [
+ {
+ "title": "Reset Operation names to 'All'",
+ "url": "/d/Azure-AppInsights-Perf-Operations/?${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${min_duration:queryparam}&${max_duration:queryparam}&var-operation-name=All"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "requests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n| count\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "All Operations (count)",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-red",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Open Failures Dashboard",
+ "url": "/d/Azure-AppInsights-Failures-Operations/?${__all_variables}",
+ "targetBlank": true
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 8,
+ "y": 32
+ },
+ "id": 65,
+ "interval": "60s",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Open Failures dashboard",
+ "url": "/d/Azure-AppInsights-Failures-Operations/?${__all_variables}"
+ }
+ ],
+ "maxDataPoints": 150,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\nrequests\n// additional filters can be applied here\n| where $__timeFilter(timestamp)\n| where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n| where success == false\n| count\n\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Number of failed operations matching $operation_name",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on an operation name to filter this dashboard.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Show list of sample transactions",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/Microsoft.Insights/components/${res}\"],\"filters\":[{\"property\":\"operation_Name\",\"filters\":[\"${__data.fields.operation_Name}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"requests\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ],
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.5
+ },
+ {
+ "color": "dark-red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Avg"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "custom.width",
+ "value": 164
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "custom.width",
+ "value": 111
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operation_Name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 161
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": false,
+ "title": "Filter dashboard to this operation",
+ "url": "/d/Azure-AppInsights-Perf-Operations?orgId=1&${ds:queryparam}&${sub:queryparam}&${rg:queryparam}&${ns:queryparam}&${res:queryparam}&${min_duration:queryparam}&${max_duration:queryparam}&${__value.time}&var-operation_name=${__data.fields.operation_Name}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Count"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Show list of transactions matching operation name ",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"operation_Name\",\"filters\":[\"${__data.fields.operation_Name}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"requests\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge",
+ "valueDisplayMode": "text"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 8,
+ "x": 0,
+ "y": 35
+ },
+ "id": 59,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Count"
+ }
+ ]
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "\nlet dataset = requests\n| where $__timeFilter(timestamp)\n| where client_Type != \"Browser\"\n;\ndataset\n| summarize Avg = avg(duration)/1000, Max = max(duration)/1000, Count = count()\n| project operation_Name=\"All\", Avg, Max, Count\n| union(dataset\n| summarize Avg = avg(duration)/1000, Max = max(duration)/1000, Count = count() by operation_Name\n| top 20 by Avg desc\n)\n\n",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 20 Operation Names by count",
+ "transformations": [],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "description": "Click on the OperationID or Name to open the trace details in explore mode.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "noValue": "--",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 0.5
+ },
+ {
+ "color": "dark-red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseTime"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "links"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 173
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseCode"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 211
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ResponseCode"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "200": {
+ "color": "dark-green",
+ "index": 0
+ }
+ },
+ "type": "value"
+ },
+ {
+ "options": {
+ "from": 201,
+ "result": {
+ "color": "dark-orange",
+ "index": 1
+ },
+ "to": 399
+ },
+ "type": "range"
+ },
+ {
+ "options": {
+ "from": 400,
+ "result": {
+ "color": "dark-red",
+ "index": 2
+ },
+ "to": 999
+ },
+ "type": "range"
+ }
+ ]
+ },
+ {
+ "id": "links"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "OperationID"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open Trace Details",
+ "url": "/explore?left={\r\n\t\"datasource\": \"${ds}\",\r\n\t\"queries\": [{\r\n\t\t\"azureTraces\": {\r\n\r\n\t\t\t\"operationId\": \"${__data.fields.OperationID}\",\r\n\r\n\t\t\t\"resources\": [\"/subscriptions/${sub}/resourceGroups/${rg}/providers/Microsoft.Insights/components/${res}\"],\r\r\n\r\n\t\t\t\"resultFormat\": \"trace\"\r\n\r\n\r\n\r\n\r\n\t\t},\r\n\t\t\"datasource\": \"${ds}\",\r\n\t\t\"refId\": \"A\",\r\n\r\n\t\t\"queryType\": \"Azure Traces\"\r\n\t}],\r\n\t\"range\": {\r\n\t\t\"from\": \"${__from}\",\r\n\t\t\"to\": \"${__to}\"\r\n\t}\r\n}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Name"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Open explorer with this name",
+ "url": "/explore?left={\"datasource\":\"${ds:raw}\",\"queries\":[{\"refId\":\"A\",\"datasource\":\"${ds:raw}\",\"queryType\":\"Azure Traces\",\"azureTraces\":{\"resultFormat\":\"table\",\"resources\":[\"/subscriptions/${sub}/resourceGroups/${rg}/providers/${ns}/${res}\"],\"filters\":[{\"property\":\"operation_Name\",\"filters\":[\"${__data.fields.Name}\"],\"operation\":\"eq\"}],\"traceTypes\": [\"requests\"]}}],\"range\":{\"from\": \"${__from}\", \"to\":\"${__to}\" }}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Score"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 16,
+ "x": 8,
+ "y": 35
+ },
+ "id": 63,
+ "interval": "60s",
+ "links": [],
+ "maxDataPoints": 150,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": ["sum"],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "10.0.3",
+ "targets": [
+ {
+ "azureLogAnalytics": {
+ "query": "let minDuration = iif(isempty(\"$min_duration\"), \"0\", \"$min_duration\");\nlet maxDuration = iif(isempty(\"$max_duration\"), \"0\", \"$max_duration\");\n\nlet min_length_8 = (s: string) {\n let len = strlen(s);\n case(len == 1, strcat(s, s, s, s, s, s, s, s),\n len == 2 or len == 3, strcat(s, s, s, s),\n len == 4 or len == 5 or len == 6 or len == 7, strcat(s, s),\n s)\n};\nlet ai_hash = (s: string) {\n abs(toint(__hash_djb2(min_length_8(s))))\n};\nrequests\n| where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\n| where $__timeFilter(timestamp)\n| where duration >= todouble(minDuration) and duration <= todouble(maxDuration)\n| project Name = operation_Name, ResponseCode = resultCode, ResponseTime = duration, OperationID = operation_Id, Score=ai_hash(operation_Id)\n| top 20 by Score asc",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"],
+ "resultFormat": "table"
+ },
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub",
+ "subscriptions": []
+ }
+ ],
+ "title": "Top 20 Sample Operations matching $operation_name by Relevance",
+ "transformations": [],
+ "type": "table"
+ }
+ ],
+ "refresh": "",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["Azure-AppInsights-Perf"],
+ "templating": {
+ "list": [
+ {
+ "current": {},
+ "hide": 0,
+ "includeAll": false,
+ "label": "Datasource",
+ "multi": false,
+ "name": "ds",
+ "options": [],
+ "query": "grafana-azure-monitor-datasource",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Subscription",
+ "multi": false,
+ "name": "sub",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "SubscriptionsQuery",
+ "rawQuery": "Subscriptions()"
+ },
+ "queryType": "Azure Subscriptions",
+ "refId": "A"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource Group",
+ "multi": false,
+ "name": "rg",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "ResourceGroupsQuery",
+ "rawQuery": "ResourceGroups($sub)",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Resource Groups",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Namespace",
+ "multi": false,
+ "name": "ns",
+ "options": [],
+ "query": {
+ "grafanaTemplateVariableFn": {
+ "kind": "MetricNamespaceQuery",
+ "rawQuery": "Namespaces($sub, $rg)",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "queryType": "Azure Namespaces",
+ "refId": "A",
+ "resourceGroup": "$rg",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "([mM](icrosoft)\\.[iI](nsights)/(components))",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "ResourceNames($sub, $rg, $ns)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Resource",
+ "multi": false,
+ "name": "res",
+ "options": [],
+ "query": "ResourceNames($sub, $rg, $ns)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Operation names",
+ "multi": true,
+ "name": "operation_name",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "requests\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| summarize count() by operation_Name\r\n",
+ "resource": "/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Minimum Duration (ms)",
+ "multi": false,
+ "name": "min_duration",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "requests\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\r\n| top 1 by duration asc\r\n| project tostring(duration)\r\n",
+ "resource": "/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "\"All\"",
+ "current": {},
+ "datasource": {
+ "type": "grafana-azure-monitor-datasource",
+ "uid": "${ds}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Maximum Duration (ms)",
+ "multi": false,
+ "name": "max_duration",
+ "options": [],
+ "query": {
+ "azureLogAnalytics": {
+ "query": "requests\r\n| where $__timeFilter(timestamp)\r\n| where client_Type != \"Browser\"\r\n| where (\"All\" in ($operation_name) or operation_Name in ($operation_name))\r\n| top 1 by duration\r\n| project tostring(duration)\r\n",
+ "resource": "/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res",
+ "resources": ["/subscriptions/$sub/resourceGroups/$rg/providers/$ns/$res"]
+ },
+ "queryType": "Azure Log Analytics",
+ "refId": "A",
+ "subscription": "$sub"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Azure / Insights / Applications - Performance - 1. Operations",
+ "uid": "Azure-AppInsights-Perf-Operations",
+ "version": 68
+}
diff --git a/public/app/plugins/datasource/azuremonitor/plugin.json b/public/app/plugins/datasource/azuremonitor/plugin.json
index 4cc4a4b7505..e9824fb547b 100644
--- a/public/app/plugins/datasource/azuremonitor/plugin.json
+++ b/public/app/plugins/datasource/azuremonitor/plugin.json
@@ -15,6 +15,31 @@
"name": "Azure / Insights / Applications",
"path": "dashboards/appInsights.json"
},
+ {
+ "type": "dashboard",
+ "name": "Azure / Insights / Applications / Performance / Operations",
+ "path": "dashboards/appInsightsPerfOperations.json"
+ },
+ {
+ "type": "dashboard",
+ "name": "Azure / Insights / Applications / Performance / Dependencies",
+ "path": "dashboards/appInsightsPerfDependencies.json"
+ },
+ {
+ "type": "dashboard",
+ "name": "Azure / Insights / Applications / Failures / Operations",
+ "path": "dashboards/appInsightsFailureOperations.json"
+ },
+ {
+ "type": "dashboard",
+ "name": "Azure / Insights / Applications / Failures / Dependencies",
+ "path": "dashboards/appInsightsFailureDependencies.json"
+ },
+ {
+ "type": "dashboard",
+ "name": "Azure / Insights / Applications / Failures / Exceptions",
+ "path": "dashboards/appInsightsFailureExceptions.json"
+ },
{
"type": "dashboard",
"name": "Azure / Insights / Applications Test Availability Geo Map",