From 32aa162d7c10c238bb00deb4857f763d327aa4ac Mon Sep 17 00:00:00 2001 From: Avneep Dhanju <10158691+avidhanju@users.noreply.github.com> Date: Mon, 28 Jun 2021 09:55:26 -0700 Subject: [PATCH] AzureMonitor: Add curated dashboards for Azure services (#35356) * AzureMonitor: Curated dashboards. * Adding ADX insights and minor fixes. --- .../dashboards/adx.json | 9117 +++++++++++++++++ .../dashboards/cosmosdb.json | 5259 ++++++++++ .../dashboards/keyvault.json | 2881 ++++++ .../dashboards/sqldb.json | 4596 +++++++++ .../dashboards/storage.json | 7038 +++++++++++++ .../plugin.json | 7 + 6 files changed, 28898 insertions(+) create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/adx.json create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/cosmosdb.json create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/keyvault.json create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/sqldb.json create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/storage.json diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/adx.json b/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/adx.json new file mode 100644 index 00000000000..14a2214d21a --- /dev/null +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/adx.json @@ -0,0 +1,9117 @@ +{ + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "7.4.3" + }, + { + "type": "datasource", + "id": "grafana-azure-monitor-datasource", + "name": "Azure Monitor", + "version": "0.3.0" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1622241391232, + "links": [], + "panels": [ + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 6, + "panels": [], + "title": "Overview", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 0, + "y": 1 + }, + "id": 4, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "KeepAlive", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Keep Alive (Avg)", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 3, + "y": 1 + }, + "id": 12, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "CPU", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "CPU (Avg)", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 6, + "y": 1 + }, + "id": 13, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "IngestionUtilization", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Ingestion Utilization (Avg) ", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 9, + "y": 1 + }, + "id": 14, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "IngestionLatencyInSeconds", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Ingestion Latency (Avg) ", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 12, + "y": 1 + }, + "id": 15, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "CacheUtilization", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Cache Utilization (Avg)", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 15, + "y": 1 + }, + "id": 16, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Status", + "value": "IngestionResultDetails" + } + ], + "metricDefinition": "$ns", + "metricName": "IngestionResult", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Succeeded Ingestions (#)", + "type": "stat" + }, + { + "datasource": "$ds", + "description": "The aggregated usage in the cluster, out of the total used CPU and memory. To see more details, go to the Usage tab.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 6 + }, + "id": 17, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let system_databases = dynamic(['KustoMonitoringPersistentDatabase', '$systemdb']); \r\nlet system_users = dynamic(['AAD app id=b753584e-c468-4503-852a-374280ce7a62', 'KustoServiceBuiltInPrincipal']); // b753584e-c468-4503-852a-374280ce7a62 is KustoRunner\r\nlet system_cluster_management_applications = dynamic(['Kusto.WinSvc.CM.Svc']); // Kusto Cluster Management\r\nlet CommandTable = ADXCommand \r\n | where TimeGenerated > datetime(2020-09-09T09:30:00Z) \r\n | where LastUpdatedOn > ago(7d)\r\n | where DatabaseName !in (system_databases) and User !in (system_users) and ApplicationName !in (system_cluster_management_applications)\r\n | where ((false == \"false\" and ApplicationName != 'Kusto.WinSvc.DM.Svc') or false == \"true\")\r\n | extend MemoryPeak = tolong(ResourceUtilization.MemoryPeak) \r\n | parse _ResourceId with * \"providers/microsoft.kusto/clusters/\" cluster_name\r\n | project-away ResourceUtilization;\r\nlet QueryTable = ADXQuery\r\n | where LastUpdatedOn > ago(7d)\r\n | where DatabaseName !in (system_databases) and User !in (system_users) and ApplicationName !in (system_cluster_management_applications)\r\n | where ((false == \"false\" and ApplicationName != 'Kusto.WinSvc.DM.Svc') or false == \"true\")\r\n | extend MemoryPeak = tolong(MemoryPeak)\r\n | parse _ResourceId with * \"providers/microsoft.kusto/clusters/\" cluster_name\r\n | extend CommandType = 'Query';\r\nlet dataset_commands_queries = CommandTable\r\n | union (QueryTable)\r\n | project CommandType, DatabaseName, StartedOn, LastUpdatedOn, Duration, State, FailureReason, RootActivityId, User, ApplicationName, Principal, TotalCPU, MemoryPeak, CorrelationId, cluster_name;\r\nlet dataset = dataset_commands_queries\r\n | where cluster_name == 'mitulktest'\r\n //| where totimespan(TotalCPU) > totimespan(0)\r\n | summarize TotalCPU=max(TotalCPU) \r\n , MemoryPeak=max(MemoryPeak)\r\n by User, ApplicationName, CorrelationId \r\n;\r\nlet totalCPU = toscalar(dataset\r\n | summarize sum((totimespan(TotalCPU) / 1s)));\r\nlet totalMemory = toscalar(dataset\r\n | summarize sum(MemoryPeak));\r\nlet topMemory = \r\n dataset\r\n | top-nested 10000 of User with others=\"Others\" by sum(MemoryPeak), top-nested 10000 of ApplicationName with others=\"Others\" by sum(MemoryPeak)\r\n | extend PercentOfTotalClusterMemoryUsed = aggregated_ApplicationName / toreal(totalMemory)\r\n;\r\nlet topCpu = \r\n dataset\r\n | top-nested 10000 of User with others=\"Others\" by sum(totimespan(TotalCPU) / 1s), top-nested 10000 of ApplicationName with others=\"Others\" by sum(totimespan(TotalCPU) / 1s)\r\n | extend PercentOfTotalClusterCpuUsed = aggregated_ApplicationName / toreal(totalCPU)\r\n;\r\ntopMemory\r\n| join kind = fullouter(topCpu) on User, ApplicationName\r\n| extend BothPercentages = PercentOfTotalClusterMemoryUsed + PercentOfTotalClusterCpuUsed\r\n| top 10 by BothPercentages desc\r\n| extend User = case(ApplicationName == \"Kusto.WinSvc.DM.Svc\", strcat(\"Kusto Data Management \", \"(\", User, \")\"),\r\n ApplicationName == \"KustoQueryRunner\", strcat(\"Kusto Query Runner \", \"(\", User, \")\"),\r\n User == \"AAD app id=e0331ea9-83fc-4409-a17d-6375364c3280\", \"DataMap Agent 001 (app id: e0331ea9-83fc-4409-a17d-6375364c3280)\", // Used for internal MS clusters \r\n User)\r\n| extend PercentOfTotalClusterMemoryUsed_display = iff(isnan(PercentOfTotalClusterMemoryUsed * 100), toreal(0), PercentOfTotalClusterMemoryUsed * 100)\r\n| extend PercentOfTotalClusterCpuUsed_display = iff(isnan(PercentOfTotalClusterCpuUsed * 100), toreal(0), PercentOfTotalClusterCpuUsed * 100)\r\n| where not (ApplicationName == \"Others\" and PercentOfTotalClusterMemoryUsed_display == 0 and PercentOfTotalClusterCpuUsed_display == 0)\r\n| project User, ApplicationName, PercentOfTotalClusterMemoryUsed_display, PercentOfTotalClusterCpuUsed_display", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top resource consumers", + "transparent": true, + "type": "table" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "description": "Over a sliding timeline window. Not affected by the time range parameter", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 6 + }, + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 3, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let system_databases = dynamic(['KustoMonitoringPersistentDatabase', '$systemdb']); \r\nlet system_users = dynamic(['AAD app id=b753584e-c468-4503-852a-374280ce7a62', 'KustoServiceBuiltInPrincipal']); // b753584e-c468-4503-852a-374280ce7a62 is Kusto Query Runner\r\nlet system_cluster_management_applications = dynamic(['Kusto.WinSvc.CM.Svc']); // Kusto Cluster Management\r\nlet CommandTable = ADXCommand\r\n | extend MemoryPeak = tolong(ResourceUtilization.MemoryPeak) \r\n | where DatabaseName !in (system_databases) and User !in (system_users) and ApplicationName !in (system_cluster_management_applications)\r\n | where ApplicationName != 'Kusto.WinSvc.DM.Svc'\r\n | parse _ResourceId with * \"providers/microsoft.kusto/clusters/\" cluster_name\r\n | project-away ResourceUtilization;\r\nlet QueryTable = ADXQuery\r\n | where DatabaseName !in (system_databases) and User !in (system_users) and ApplicationName !in (system_cluster_management_applications)\r\n | where ApplicationName != 'Kusto.WinSvc.DM.Svc'\r\n | extend MemoryPeak = tolong(MemoryPeak)\r\n | parse _ResourceId with * \"providers/microsoft.kusto/clusters/\" cluster_name\r\n | extend CommandType = 'Query';\r\nlet dataset_commands_queries = CommandTable\r\n | union (QueryTable)\r\n | project CommandType, DatabaseName, StartedOn, LastUpdatedOn, Duration, State,\r\n FailureReason, RootActivityId, User,\r\n ApplicationName,\r\n Principal,\r\n TotalCPU,\r\n MemoryPeak,\r\n CorrelationId,\r\n cluster_name;\r\nlet raw = dataset_commands_queries\r\n | where LastUpdatedOn > ago(7d)\r\n | where cluster_name == 'mitulktest'\r\n | where StartedOn > ago(365d)\r\n;\r\nraw\r\n| evaluate activity_engagement(User, StartedOn, 1d, 7d)\r\n| join kind = inner (\r\n raw\r\n | evaluate activity_engagement(User, StartedOn, 1d, 30d)\r\n )\r\n on StartedOn\r\n| project StartedOn, Daily=dcount_activities_inner, Weekly=dcount_activities_outer, Monthly = dcount_activities_outer1 \r\n| where StartedOn > ago(90d)\r\n| project Daily, StartedOn, Weekly, Monthly\r\n| sort by StartedOn asc\r\n", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Unique user count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 15 + }, + "id": 19, + "panels": [], + "title": "Key Metrics", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 0, + "y": 16 + }, + "hiddenSeries": false, + "id": 20, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "KeepAlive", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Keep Alive", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 6, + "y": 16 + }, + "hiddenSeries": false, + "id": 21, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "CPU", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CPU", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 12, + "y": 16 + }, + "hiddenSeries": false, + "id": 22, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "CacheUtilization", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Cache Utilization", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 18, + "y": 16 + }, + "hiddenSeries": false, + "id": 23, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "InstanceCount", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Instance Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 0, + "y": 26 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "TotalNumberOfConcurrentQueries", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Concurrent Queries", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 6, + "y": 26 + }, + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum", + "Total" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Query Status", + "value": "QueryStatus" + } + ], + "metricDefinition": "$ns", + "metricName": "QueryDuration", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Query Duration", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 12, + "y": 26 + }, + "hiddenSeries": false, + "id": 26, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum", + "Total" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Command Type", + "value": "CommandType" + } + ], + "metricDefinition": "$ns", + "metricName": "TotalNumberOfThrottledCommands", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Throttled Commands", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 18, + "y": 26 + }, + "hiddenSeries": false, + "id": 27, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum", + "Total" + ], + "aggregation": "Maximum", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "TotalNumberOfThrottledQueries", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Throttled Queries", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 0, + "y": 36 + }, + "hiddenSeries": false, + "id": 28, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "IngestionUtilization", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ingestion Utilization", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 6, + "y": 36 + }, + "hiddenSeries": false, + "id": 29, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Maximum", + "Minimum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "IngestionLatencyInSeconds", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ingestion Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 12, + "y": 36 + }, + "hiddenSeries": false, + "id": 30, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Status", + "value": "IngestionResultDetails" + } + ], + "metricDefinition": "$ns", + "metricName": "IngestionResult", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ingestion Result", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 18, + "y": 36 + }, + "hiddenSeries": false, + "id": 31, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Maximum" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Database", + "value": "Database" + } + ], + "metricDefinition": "$ns", + "metricName": "IngestionVolumeInMB", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ingestion Volume", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 0, + "y": 46 + }, + "hiddenSeries": false, + "id": 32, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "StreamingIngestDataRate", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Streaming Ingest Data Rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 6, + "y": 46 + }, + "hiddenSeries": false, + "id": 33, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "StreamingIngestDuration", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Streaming Ingest Duration", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 12, + "y": 46 + }, + "hiddenSeries": false, + "id": 34, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "None", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "SteamingIngestRequestRate", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Streaming Ingest Request Rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 6, + "x": 18, + "y": 46 + }, + "hiddenSeries": false, + "id": 35, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Result", + "value": "Result" + } + ], + "metricDefinition": "$ns", + "metricName": "StreamingIngestResults", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Streaming Ingest Result", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 56 + }, + "hiddenSeries": false, + "id": 36, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Component Type", + "value": "ComponentType" + }, + { + "text": "Component Name", + "value": "ComponentName" + } + ], + "metricDefinition": "$ns", + "metricName": "EventsProcessed", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Events Processed", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 56 + }, + "hiddenSeries": false, + "id": 37, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Component Type", + "value": "ComponentType" + }, + { + "text": "Component Name", + "value": "ComponentName" + } + ], + "metricDefinition": "$ns", + "metricName": "DiscoveryLatency", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Discovery Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 65 + }, + "id": 40, + "panels": [], + "title": "Usage", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 14, + "x": 0, + "y": 66 + }, + "id": 43, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let system_databases = dynamic(['KustoMonitoringPersistentDatabase', '$systemdb']); \r\nlet system_users = dynamic(['AAD app id=b753584e-c468-4503-852a-374280ce7a62', 'KustoServiceBuiltInPrincipal']); // b753584e-c468-4503-852a-374280ce7a62 is KustoRunner\r\nlet system_cluster_management_applications = dynamic(['Kusto.WinSvc.CM.Svc']); // Kusto Cluster Management\r\nlet CommandTable = ADXCommand \r\n | where TimeGenerated > datetime(2020-09-09T09:30:00Z) \r\n | where LastUpdatedOn > ago(7d)\r\n | where DatabaseName !in (system_databases) and User !in (system_users) and ApplicationName !in (system_cluster_management_applications)\r\n | where ((false == \"false\" and ApplicationName != 'Kusto.WinSvc.DM.Svc') or false == \"true\")\r\n | extend MemoryPeak = tolong(ResourceUtilization.MemoryPeak) \r\n | parse _ResourceId with * \"providers/microsoft.kusto/clusters/\" cluster_name\r\n | project-away ResourceUtilization;\r\nlet QueryTable = ADXQuery\r\n | where LastUpdatedOn > ago(7d)\r\n | where DatabaseName !in (system_databases) and User !in (system_users) and ApplicationName !in (system_cluster_management_applications)\r\n | where ((false == \"false\" and ApplicationName != 'Kusto.WinSvc.DM.Svc') or false == \"true\")\r\n | extend MemoryPeak = tolong(MemoryPeak)\r\n | parse _ResourceId with * \"providers/microsoft.kusto/clusters/\" cluster_name\r\n | extend CommandType = 'Query';\r\nlet dataset_commands_queries = CommandTable\r\n | union (QueryTable)\r\n | project CommandType, DatabaseName, StartedOn, LastUpdatedOn, Duration, State, FailureReason, RootActivityId, User, ApplicationName, Principal, TotalCPU, MemoryPeak, CorrelationId, cluster_name;\r\nlet dataset = dataset_commands_queries\r\n | where cluster_name == 'mitulktest'\r\n //| where totimespan(TotalCPU) > totimespan(0)\r\n | summarize TotalCPU=max(TotalCPU) \r\n , MemoryPeak=max(MemoryPeak)\r\n by User, ApplicationName, CorrelationId \r\n;\r\nlet totalCPU = toscalar(dataset\r\n | summarize sum((totimespan(TotalCPU) / 1s)));\r\nlet totalMemory = toscalar(dataset\r\n | summarize sum(MemoryPeak));\r\nlet topMemory = \r\n dataset\r\n | top-nested 10000 of User with others=\"Others\" by sum(MemoryPeak), top-nested 10000 of ApplicationName with others=\"Others\" by sum(MemoryPeak)\r\n | extend PercentOfTotalClusterMemoryUsed = aggregated_ApplicationName / toreal(totalMemory)\r\n;\r\nlet topCpu = \r\n dataset\r\n | top-nested 10000 of User with others=\"Others\" by sum(totimespan(TotalCPU) / 1s), top-nested 10000 of ApplicationName with others=\"Others\" by sum(totimespan(TotalCPU) / 1s)\r\n | extend PercentOfTotalClusterCpuUsed = aggregated_ApplicationName / toreal(totalCPU)\r\n;\r\ntopMemory\r\n| join kind = fullouter(topCpu) on User, ApplicationName\r\n| extend BothPercentages = PercentOfTotalClusterMemoryUsed + PercentOfTotalClusterCpuUsed\r\n| top 10 by BothPercentages desc\r\n| extend User = case(ApplicationName == \"Kusto.WinSvc.DM.Svc\", strcat(\"Kusto Data Management \", \"(\", User, \")\"),\r\n ApplicationName == \"KustoQueryRunner\", strcat(\"Kusto Query Runner \", \"(\", User, \")\"),\r\n User == \"AAD app id=e0331ea9-83fc-4409-a17d-6375364c3280\", \"DataMap Agent 001 (app id: e0331ea9-83fc-4409-a17d-6375364c3280)\", // Used for internal MS clusters \r\n User)\r\n| extend PercentOfTotalClusterMemoryUsed_display = iff(isnan(PercentOfTotalClusterMemoryUsed * 100), toreal(0), PercentOfTotalClusterMemoryUsed * 100)\r\n| extend PercentOfTotalClusterCpuUsed_display = iff(isnan(PercentOfTotalClusterCpuUsed * 100), toreal(0), PercentOfTotalClusterCpuUsed * 100)\r\n| where not (ApplicationName == \"Others\" and PercentOfTotalClusterMemoryUsed_display == 0 and PercentOfTotalClusterCpuUsed_display == 0)\r\n| project User, ApplicationName, PercentOfTotalClusterMemoryUsed_display, PercentOfTotalClusterCpuUsed_display", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Component Type", + "value": "ComponentType" + }, + { + "text": "Component Name", + "value": "ComponentName" + } + ], + "metricDefinition": "$ns", + "metricName": "DiscoveryLatency", + "metricNamespace": "Microsoft.Kusto/clusters", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top resource consumers (within the CPU and memory consumption of the cluster)", + "transparent": true, + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 66 + }, + "id": 44, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let system_databases = dynamic(['KustoMonitoringPersistentDatabase', '$systemdb']); \r\nlet system_users = dynamic(['AAD app id=b753584e-c468-4503-852a-374280ce7a62', 'KustoServiceBuiltInPrincipal']); // b753584e-c468-4503-852a-374280ce7a62 is Kusto Query Runner\r\nlet system_cluster_management_applications = dynamic(['Kusto.WinSvc.CM.Svc']); // Kusto Cluster Management\r\nlet CommandTable = ADXCommand\r\n | extend MemoryPeak = tolong(ResourceUtilization.MemoryPeak)\r\n | where LastUpdatedOn > ago(7d)\r\n | where DatabaseName !in (system_databases) and User !in (system_users) and ApplicationName !in (system_cluster_management_applications)\r\n | where ((false == \"false\" and ApplicationName != 'Kusto.WinSvc.DM.Svc') or false == \"true\")\r\n | parse _ResourceId with * \"providers/microsoft.kusto/clusters/\" cluster_name\r\n | project-away ResourceUtilization;\r\nlet QueryTable = ADXQuery\r\n | where LastUpdatedOn > ago(7d)\r\n | where DatabaseName !in (system_databases) and User !in (system_users) and ApplicationName !in (system_cluster_management_applications)\r\n | where ((false == \"false\" and ApplicationName != 'Kusto.WinSvc.DM.Svc') or false == \"true\")\r\n | extend MemoryPeak = tolong(MemoryPeak)\r\n | parse _ResourceId with * \"providers/microsoft.kusto/clusters/\" cluster_name\r\n | extend CommandType = 'Query';\r\nlet dataset_commands_queries = CommandTable\r\n | union (QueryTable)\r\n | project CommandType, DatabaseName, StartedOn, LastUpdatedOn, Duration, State,\r\n FailureReason, RootActivityId, User, ApplicationName, Principal, TotalCPU, MemoryPeak, CorrelationId, cluster_name;\r\nlet dataset = dataset_commands_queries\r\n | where cluster_name == 'mitulktest'\r\n | where CommandType != 'TableSetOrAppend'\r\n | summarize Count=count() by User, ApplicationName\r\n | project User, ApplicationName, Count\r\n | extend User = case(ApplicationName == \"Kusto.WinSvc.DM.Svc\", strcat(\"Kusto Data Management \", \"(\", User, \")\"),\r\n User == \"AAD app id=e0331ea9-83fc-4409-a17d-6375364c3280\", \"DataMap Agent 001 (app id: e0331ea9-83fc-4409-a17d-6375364c3280)\", // Used for internal MS clusters\r\n User)\r\n | top 10 by Count;\r\n//| order by Count desc\r\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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "Status", + "value": "Status" + } + ], + "metricDefinition": "$ns", + "metricName": "TotalRequests", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total Requests", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "short" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 19, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null as zero", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCode", + "filter": "429", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "Status", + "value": "Status" + } + ], + "metricDefinition": "$ns", + "metricName": "TotalRequests", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Throttled Requests (429s)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "short" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 10 + }, + "hiddenSeries": false, + "id": 9, + "legend": { + "avg": false, + "current": false, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Maximum", + "Average" + ], + "aggregation": "Maximum", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 3600000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "PartitionKeyRangeId", + "value": "PartitionKeyRangeId" + } + ], + "metricDefinition": "$ns", + "metricName": "NormalizedRUConsumption", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Normalized RU Consumption (max)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "short" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 10 + }, + "hiddenSeries": false, + "id": 12, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "IndexUsage", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "DataUsage", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Index & Data Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "lcd-gauge" + }, + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 18 + }, + "id": 11, + "maxDataPoints": 1, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "Status", + "value": "Status" + } + ], + "metricDefinition": "$ns", + "metricName": "TotalRequests", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Total Requests (Count) By Collection", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "lcd-gauge" + }, + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 18 + }, + "id": 14, + "maxDataPoints": 1, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "DocumentCount", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Document Count (Avg) By Collection", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "lcd-gauge" + }, + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 18 + }, + "id": 15, + "maxDataPoints": 1, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "DataUsage", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data Usage (Avg) By Collection", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "lcd-gauge" + }, + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 27 + }, + "id": 16, + "maxDataPoints": 1, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "IndexUsage", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Index Usage (Avg) By Collection", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "lcd-gauge" + }, + { + "id": "color", + "value": { + "mode": "palette-classic" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 27 + }, + "id": 17, + "maxDataPoints": 1, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Maximum" + ], + "aggregation": "Maximum", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + } + ], + "metricDefinition": "$ns", + "metricName": "ProvisionedThroughput", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "E", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Provisioned Throughput (Max) By Collection", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "lcd-gauge" + }, + { + "id": "color", + "value": { + "mode": "palette-classic" + } + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 27 + }, + "id": 18, + "maxDataPoints": 1, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "Maximum", + "Average" + ], + "aggregation": "Maximum", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 3600000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "PartitionKeyRangeId", + "value": "PartitionKeyRangeId" + } + ], + "metricDefinition": "$ns", + "metricName": "NormalizedRUConsumption", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "F", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Normalized RU Consumption (Max) By Collection", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + } + ], + "title": "Overview", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 21, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 2 + }, + "hiddenSeries": false, + "id": 23, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "Status", + "value": "Status" + } + ], + "metricDefinition": "$ns", + "metricName": "TotalRequestUnits", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total Request Units", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 2 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Maximum", + "Average" + ], + "aggregation": "Maximum", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 3600000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "PartitionKeyRangeId", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "PartitionKeyRangeId", + "value": "PartitionKeyRangeId" + } + ], + "metricDefinition": "$ns", + "metricName": "NormalizedRUConsumption", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Normalized RU Consumption By PartitionKeyRangeID", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 25, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Maximum" + ], + "aggregation": "Maximum", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + } + ], + "metricDefinition": "$ns", + "metricName": "ProvisionedThroughput", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Provisioned Throughput (Max) by Collection", + "type": "stat" + } + ], + "title": "Throughput", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 2 + }, + "id": 27, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 3 + }, + "hiddenSeries": false, + "id": 28, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCode", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "Status", + "value": "Status" + } + ], + "metricDefinition": "$ns", + "metricName": "TotalRequests", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total Requests by Status Code", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 3 + }, + "hiddenSeries": false, + "id": 29, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCode", + "filter": "429", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "Status", + "value": "Status" + } + ], + "metricDefinition": "$ns", + "metricName": "TotalRequests", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Throttled Requests (429)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 11 + }, + "hiddenSeries": false, + "id": 30, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "OperationType", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "Status", + "value": "Status" + } + ], + "metricDefinition": "$ns", + "metricName": "TotalRequests", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total Requests by Operation Type", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Requests", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 32, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 4 + }, + "hiddenSeries": false, + "id": 33, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "DataUsage", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "IndexUsage", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Data & Index Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 4 + }, + "hiddenSeries": false, + "id": 34, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "DocumentCount", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Document Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 15, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 36, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "DataUsage", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "IndexUsage", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "CollectionName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "Region", + "value": "Region" + } + ], + "metricDefinition": "$ns", + "metricName": "DocumentCount", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data, Index & Document Usage", + "type": "stat" + } + ], + "title": "Storage", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 38, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 5 + }, + "hiddenSeries": false, + "id": 39, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "sub": { + "selected": true, + "text": "RTD-Experimental - f7152080-b4e8-47ee-9c85-7f1d0e6b72dc", + "value": "f7152080-b4e8-47ee-9c85-7f1d0e6b72dc" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Minimum", + "Average", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "ServiceAvailability", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Minimum", + "Average", + "Maximum" + ], + "aggregation": "Minimum", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "ServiceAvailability", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Minimum", + "Average", + "Maximum" + ], + "aggregation": "Maximum", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "ServiceAvailability", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Service Availability (min/max/avg in %)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": "sub", + "title": "Availability", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 41, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 6 + }, + "hiddenSeries": false, + "id": 42, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "Region", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "ConnectionMode", + "value": "ConnectionMode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "PublicAPIType", + "value": "PublicAPIType" + } + ], + "metricDefinition": "$ns", + "metricName": "ServerSideLatency", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server Side Latency (Avg) By Region", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 6 + }, + "hiddenSeries": false, + "id": 43, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "OperationType", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "ConnectionMode", + "value": "ConnectionMode" + }, + { + "text": "OperationType", + "value": "OperationType" + }, + { + "text": "PublicAPIType", + "value": "PublicAPIType" + } + ], + "metricDefinition": "$ns", + "metricName": "ServerSideLatency", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server Side Latency (Avg) By Operation", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Latency", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 6 + }, + "id": 45, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 7 + }, + "hiddenSeries": false, + "id": 46, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCode", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + } + ], + "metricDefinition": "$ns", + "metricName": "MetadataRequests", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Metadata Requests by Status Code", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 7 + }, + "hiddenSeries": false, + "id": 47, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCode", + "filter": "429", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DatabaseName", + "value": "DatabaseName" + }, + { + "text": "CollectionName", + "value": "CollectionName" + }, + { + "text": "Region", + "value": "Region" + }, + { + "text": "StatusCode", + "value": "StatusCode" + } + ], + "metricDefinition": "$ns", + "metricName": "MetadataRequests", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Metadata Requests That Exceeded Capacity (429s)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "System", + "type": "row" + }, + { + "collapsed": true, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 7 + }, + "id": 49, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 8 + }, + "hiddenSeries": false, + "id": 50, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "CreateAccount", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "DeleteAccount", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "KeyType", + "value": "KeyType" + } + ], + "metricDefinition": "$ns", + "metricName": "UpdateAccountKeys", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Cosmos DB Account Management (Creates, Deletes) and Account Key Updates", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 8 + }, + "hiddenSeries": false, + "id": 51, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "DiagnosticSettings Name", + "value": "DiagnosticSettingsName" + }, + { + "text": "ResourceGroup Name", + "value": "ResourceGroupName" + } + ], + "metricDefinition": "$ns", + "metricName": "UpdateDiagnosticsSettings", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "UpdateAccountNetworkSettings", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "657b3e91-7c0b-438b-86a5-f769445e237d" + }, + "azureMonitor": { + "aggOptions": [ + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 300000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": null, + "filter": "", + "operator": "eq" + } + ], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "UpdateAccountReplicationSettings", + "metricNamespace": "Microsoft.DocumentDB/databaseAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "5 minutes", + "value": "PT5M" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Cosmos DB Account Diagnostic, Network and Replication Settings Updates", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Account Management", + "type": "row" + } + ], + "refresh": false, + "schemaVersion": 27, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + }, + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "ds", + "options": [], + "query": "grafana-azure-monitor-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "subscriptions()", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Subscription", + "multi": false, + "name": "sub", + "options": [], + "query": "subscriptions()", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "ResourceGroups($sub)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Resource Group", + "multi": false, + "name": "rg", + "options": [], + "query": "ResourceGroups($sub)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "Microsoft.DocumentDb/databaseAccounts", + "value": "Microsoft.DocumentDb/databaseAccounts" + }, + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Name Space", + "multi": false, + "name": "ns", + "options": [ + { + "selected": true, + "text": "Microsoft.DocumentDb/databaseAccounts", + "value": "Microsoft.DocumentDb/databaseAccounts" + } + ], + "query": "Microsoft.DocumentDb/databaseAccounts", + "skipUrlSync": false, + "type": "custom" + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "ResourceNames($sub, $rg, $ns)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "resource", + "options": [], + "query": "ResourceNames($sub, $rg, $ns)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Cosmos DB Insights", + "uid": "INH9berMk", + "version": 17 + } \ No newline at end of file diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/keyvault.json b/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/keyvault.json new file mode 100644 index 00000000000..0feb7c4bb66 --- /dev/null +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/keyvault.json @@ -0,0 +1,2881 @@ +{ + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "7.4.3" + }, + { + "type": "datasource", + "id": "grafana-azure-monitor-datasource", + "name": "Azure Monitor", + "version": "0.3.0" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1620924220014, + "links": [], + "panels": [ + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 25, + "panels": [], + "title": "Overview", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 19, + "x": 0, + "y": 1 + }, + "id": 9, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "Availability", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiResult", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "P1D", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "f7152080-b4e8-47ee-9c85-7f1d0e6b72dc" + }, + { + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiLatency", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "P1D", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "f7152080-b4e8-47ee-9c85-7f1d0e6b72dc" + } + ], + "title": "Availability, Requests and Latency", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 0, + "y": 8 + }, + "hiddenSeries": false, + "id": 11, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiHit", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "f7152080-b4e8-47ee-9c85-7f1d0e6b72dc" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transactions Over Time", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "ms" + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 6, + "y": 8 + }, + "hiddenSeries": false, + "id": 13, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiLatency", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Overall Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 12, + "y": 8 + }, + "hiddenSeries": false, + "id": 15, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "Availability", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Availability", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 18, + "y": 8 + }, + "hiddenSeries": false, + "id": 17, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiHit", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Request Types over Time", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 23, + "panels": [], + "title": "Failures", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 0, + "y": 17 + }, + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCodeClass", + "filter": "2xx", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiResult", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Successes (2xx)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 6, + "y": 17 + }, + "hiddenSeries": false, + "id": 7, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCodeClass", + "filter": "4xx", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiResult", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failures (4xx)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 12, + "y": 17 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": true, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCode", + "filter": "429", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiResult", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Throttling (429)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 18, + "y": 17 + }, + "hiddenSeries": false, + "id": 4, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCode", + "filter": "401", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiResult", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [ + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "aggregation": "Count", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "StatusCode", + "filter": "403", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Activity Type", + "value": "ActivityType" + }, + { + "text": "Activity Name", + "value": "ActivityName" + }, + { + "text": "Status Code", + "value": "StatusCode" + }, + { + "text": "Status Code Class", + "value": "StatusCodeClass" + } + ], + "metricDefinition": "Microsoft.KeyVault/vaults", + "metricName": "ServiceApiResult", + "metricNamespace": "Microsoft.KeyVault/vaults", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Authentication Errors (401 & 403)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 25 + }, + "id": 21, + "panels": [], + "title": "Operations", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 0, + "y": 26 + }, + "id": 19, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let rawData = AzureDiagnostics \r\n // Ignore Authentication operations with a 401. This is normal when using Key Vault SDK, first an unauthenticated request is done then the response is used for authentication.\r\n | where Category == \"AuditEvent\" and not (OperationName == \"Authentication\" and httpStatusCode_d == 401)\r\n | where OperationName in ('SecretGet', 'VaultGet') or '*' in ('SecretGet', 'VaultGet')\r\n // Create ResultStatus with all the 'success' results bucked as 'Success'\r\n // Certain operations like StorageAccountAutoSyncKey have no ResultSignature, for now set to 'Success' as well\r\n | extend ResultStatus = case (ResultSignature == \"\", \"Success\",\r\n ResultSignature == \"OK\", \"Success\",\r\n ResultSignature == \"Accepted\", \"Success\",\r\n ResultSignature); \r\nrawData \r\n| make-series Trend = count() default = 0 on TimeGenerated from ago(1d) to now() step 30m by ResultStatus\r\n| join kind = inner (rawData\n | where $__timeFilter(TimeGenerated)\r\n | summarize Count = count() by ResultStatus\r\n )\r\n on ResultStatus\n \r\n\r\n| project ResultStatus, Count, Trend\r\n| order by Count desc;\r", + "resultFormat": "table", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Success Operations", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "short" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 5, + "w": 7, + "x": 3, + "y": 26 + }, + "hiddenSeries": false, + "id": 35, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": true, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let rawData = AzureDiagnostics \r\n // Ignore Authentication operations with a 401. This is normal when using Key Vault SDK, first an unauthenticated request is done then the response is used for authentication.\r\n | where Category == \"AuditEvent\" and not (OperationName == \"Authentication\" and httpStatusCode_d == 401)\r\n | where OperationName in ('SecretGet', 'VaultGet') or '*' in ('SecretGet', 'VaultGet')\r\n // Create ResultStatus with all the 'success' results bucked as 'Success'\r\n // Certain operations like StorageAccountAutoSyncKey have no ResultSignature, for now set to 'Success' as well\r\n | extend ResultStatus = case (ResultSignature == \"\", \"Success\",\r\n ResultSignature == \"OK\", \"Success\",\r\n ResultSignature == \"Accepted\", \"Success\",\r\n ResultSignature); \r\nrawData\n| where $__timeFilter(TimeGenerated)\n| extend resultCount = iif(ResultStatus == \"Success\", 1, 0)\n| summarize count(resultCount) by bin(TimeGenerated, 30m)\n| sort by TimeGenerated;\n\r\r\n\r", + "resultFormat": "table", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Operations Counts", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 10, + "y": 26 + }, + "id": 26, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "changeCount" + ], + "fields": "", + "values": true + }, + "text": {}, + "textMode": "value" + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let rawData = AzureDiagnostics \r\n // Ignore Authentication operations with a 401. This is normal when using Key Vault SDK, first an unauthenticated request is done then the response is used for authentication.\r\n | where Category == \"AuditEvent\" and not (OperationName == \"Authentication\" and httpStatusCode_d == 401)\r\n | where OperationName in ('SecretGet', 'VaultGet') or '*' in ('SecretGet', 'VaultGet')\r; \r\nrawData \r\n| make-series Trend = count() default = 0 on TimeGenerated from ago(1d) to now() step 30m by ResultSignature \n| join kind = inner (rawData\n | where $__timeFilter(TimeGenerated)\r\n | summarize Count = count() by ResultSignature \n )\r\n on ResultSignature \n\r\n\r\n| project ResultSignature , Count, Trend\r\n| order by Count desc;", + "resultFormat": "table", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "All Operations", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "short" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 5, + "w": 7, + "x": 13, + "y": 26 + }, + "hiddenSeries": false, + "id": 36, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": true, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let rawData = AzureDiagnostics \r\n // Ignore Authentication operations with a 401. This is normal when using Key Vault SDK, first an unauthenticated request is done then the response is used for authentication.\r\n | where Category == \"AuditEvent\" and not (OperationName == \"Authentication\" and httpStatusCode_d == 401)\r\n | where OperationName in ('SecretGet', 'VaultGet') or '*' in ('SecretGet', 'VaultGet')\r; \r\nrawData\n| where $__timeFilter(TimeGenerated)\n| summarize count(ResultSignature ) by bin(TimeGenerated, 30m)\n| sort by TimeGenerated;\n\r\r\n\r", + "resultFormat": "table", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "All Operations Counts", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 31 + }, + "id": 28, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let data = AzureDiagnostics \r\n | where TimeGenerated > ago(1d)\r\n // Ignore Authentication operations with a 401. This is normal when using Key Vault SDK, first an unauthenticated request is done then the response is used for authentication.\r\n | where Category == \"AuditEvent\" and not (OperationName == \"Authentication\" and httpStatusCode_d == 401)\r\n | where OperationName in ('SecretGet', 'VaultGet') or '*' in ('SecretGet', 'VaultGet')\r\n // Create ResultStatus with all the 'success' results bucked as 'Success'\r\n // Certain operations like StorageAccountAutoSyncKey have no ResultSignature, for now set to 'Success' as well\r\n | extend ResultStatus = case (ResultSignature == \"\", \"Success\",\r\n ResultSignature == \"OK\", \"Success\",\r\n ResultSignature == \"Accepted\", \"Success\",\r\n ResultSignature)\r\n | where ResultStatus == 'All' or 'All' == 'All';\r\ndata\r\n// Data aggregated to the OperationName\r\n| summarize OperationCount = count(), SuccessCount = countif(ResultStatus == \"Success\"), FailureCount = countif(ResultStatus != \"Success\"), PDurationMs = percentile(DurationMs, 99) by Resource, OperationName\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from ago(1d) to now() step 30m by OperationName\r\n | project-away TimeGenerated)\r\n on OperationName\r\n| order by OperationCount desc\r\n| project Name = strcat('⚡ ', OperationName), Id = strcat(Resource, '/', OperationName), ['Operation count'] = OperationCount, ['Operation count trend'] = Trend, ['Success count'] = SuccessCount, ['Failure count'] = FailureCount, ['p99 Duration'] = PDurationMs", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "Operations by Name", + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Duration" + }, + "properties": [ + { + "id": "custom.width", + "value": 86 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Result" + }, + "properties": [ + { + "id": "custom.width", + "value": 94 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Operation" + }, + "properties": [ + { + "id": "custom.width", + "value": 136 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.width", + "value": 219 + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 35 + }, + "id": 30, + "options": { + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "let gridRowSelected = dynamic({\"Id\": \"*\"});\r\nlet resourceName = split(gridRowSelected.Id, \"/\")[0];\r\nlet operationName = split(gridRowSelected.Id, \"/\")[1];\r\nAzureDiagnostics \r\n| where TimeGenerated > ago(1d)\r\n// Ignore Authentication operations with a 401. This is normal when using Key Vault SDK, first an unauthenticated request is done then the response is used for authentication.\r\n| where Category == \"AuditEvent\" and not (OperationName == \"Authentication\" and httpStatusCode_d == 401)\r\n| where OperationName in ('SecretGet', 'VaultGet') or '*' in ('SecretGet', 'VaultGet')\r\n| where resourceName == \"*\" or Resource == resourceName\r\n| where operationName == \"\" or OperationName == operationName\r\n// Create ResultStatus with all the 'success' results bucked as 'Success'\r\n// Certain operations like StorageAccountAutoSyncKey have no ResultSignature, for now set to 'Success' as well\r\n| extend ResultStatus = case (ResultSignature == \"\", \"Success\",\r\n ResultSignature == \"OK\", \"Success\",\r\n ResultSignature == \"Accepted\", \"Success\",\r\n ResultSignature)\r\n| where ResultStatus == 'All' or 'All' == 'All'\r\n| extend p = pack_all()\r\n| mv-apply p on \r\n ( \r\n extend key = tostring(bag_keys(p)[0])\r\n | where isnotempty(p[key]) and isnotnull(p[key])\r\n | where key !in (\"SourceSystem\", \"Type\")\r\n | summarize make_bag(p)\r\n )\r\n| project Time=TimeGenerated, Operation=OperationName, Result=ResultSignature, Duration = DurationMs, [\"Details\"]=bag_p\r\n| sort by Time desc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "Operations by Time", + "type": "table" + } + ], + "refresh": false, + "schemaVersion": 27, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + }, + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "ds", + "options": [], + "query": "grafana-azure-monitor-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "subscriptions()", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "subscription", + "multi": false, + "name": "sub", + "options": [], + "query": "subscriptions()", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "ResourceGroups($sub)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Resource Group", + "multi": false, + "name": "rg", + "options": [], + "query": "ResourceGroups($sub)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "description": null, + "error": null, + "hide": 2, + "label": "Namespace", + "name": "ns", + "query": "Microsoft.KeyVault/vaults", + "skipUrlSync": false, + "type": "constant" + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "ResourceNames($sub, $rg, $ns)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "resource", + "options": [], + "query": "ResourceNames($sub, $rg, $ns)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "Workspaces($sub)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Workspace", + "multi": false, + "name": "ws", + "options": [], + "query": "Workspaces($sub)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-24h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Key vault Insights", + "uid": "tQZAMYrMk", + "version": 42 + } \ No newline at end of file diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/sqldb.json b/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/sqldb.json new file mode 100644 index 00000000000..755c81ac494 --- /dev/null +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/sqldb.json @@ -0,0 +1,4596 @@ +{ + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "7.4.3" + }, + { + "type": "datasource", + "id": "grafana-azure-monitor-datasource", + "name": "Azure Monitor", + "version": "0.3.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], + "annotations": { + "list": [ + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1622167538209, + "links": [], + "panels": [ + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "blue", + "mode": "fixed" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Number of Deadlocks/sec" + }, + "properties": [ + { + "id": "displayName", + "value": "Deadlocks/sec" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Data File(s) Size (KB)" + }, + "properties": [ + { + "id": "displayName", + "value": "Data file size" + }, + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Log File(s) Size (KB)" + }, + "properties": [ + { + "id": "displayName", + "value": "Log file size" + }, + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Log File(s) Used Size (KB)" + }, + "properties": [ + { + "id": "displayName", + "value": "Log file used size" + }, + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Free Space in tempdb (KB)" + }, + "properties": [ + { + "id": "displayName", + "value": "Free space in tempdb" + }, + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Memory broker clerk size" + }, + "properties": [ + { + "id": "unit", + "value": "deckbytes" + } + ] + } + ] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 6, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": true + }, + "text": {}, + "textMode": "value_and_name" + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\r\n| where SqlInstance == '$SqlInstance' and (Database == '$db' or '*' == '$db') and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| where Counter in~ ('User connections', 'Active Temp Tables')\r\n| summarize EndValue = max(Val) by Counter\n| extend p = pack(Counter, EndValue)\r\n| summarize bag=make_bag(p)\r\n| evaluate bag_unpack(bag)", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + }, + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\r\n| where SqlInstance == '$SqlInstance' and (Database == '$db' or '*' == '$db') and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| where Counter in~ ('Memory Grants Pending', 'Number of deadlocks/sec', 'Processes blocked')\r\n| summarize (T, EndValue) = arg_max(TimeGenerated, Val) by Counter\n| project-away T\n| extend p = pack(Counter, EndValue)\r\n| summarize bag=make_bag(p)\r\n| evaluate bag_unpack(bag)\n", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "B", + "subscription": "$sub" + } + ], + "title": "Key Stats", + "transformations": [], + "transparent": true, + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "blue", + "mode": "fixed" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Number of Deadlocks/sec" + }, + "properties": [ + { + "id": "displayName", + "value": "Deadlocks/sec" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Data File(s) Size (KB)" + }, + "properties": [ + { + "id": "displayName", + "value": "Data file size" + }, + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Log File(s) Size (KB)" + }, + "properties": [ + { + "id": "displayName", + "value": "Log file size" + }, + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Log File(s) Used Size (KB)" + }, + "properties": [ + { + "id": "displayName", + "value": "Log file used size" + }, + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Free Space in tempdb (KB)" + }, + "properties": [ + { + "id": "displayName", + "value": "Free space in tempdb" + }, + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Memory broker clerk size" + }, + "properties": [ + { + "id": "unit", + "value": "deckbytes" + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 9, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": true + }, + "text": {}, + "textMode": "value_and_name" + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\r\n| where SqlInstance == '$SqlInstance' and (Database == '$db' or '*' == '$db') and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| where tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) =~ 'total' and Counter in~ ('Data File(s) Size (KB)', 'Log File(s) Size (KB)', 'Log File(s) Used Size (KB)')\r\n| summarize (End, EndValue) = arg_max(TimeGenerated, Val) by Counter\n| project-away End\n| extend p = pack(Counter, EndValue)\r\n| summarize bag=make_bag(p)\r\n| evaluate bag_unpack(bag)\n", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "C", + "subscription": "$sub" + }, + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\r\n| where SqlInstance == '$SqlInstance' and (Database == '$db' or '*' == '$db') and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| where Counter =~ 'Free Space in tempdb (KB)'\r\n| summarize EndValue = min(Val) by Counter\n| extend p = pack(Counter, EndValue)\r\n| summarize bag=make_bag(p)\r\n| evaluate bag_unpack(bag)\n", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "D", + "subscription": "$sub" + }, + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\r\n| where SqlInstance == '$SqlInstance' and (Database == '$db' or '*' == '$db') and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| where Counter =~ 'Memory broker clerk size' and DbInstance =~ 'Buffer Pool'\r\n| summarize (End, EndValue) = arg_max(TimeGenerated, Val) by Counter\r\n| extend EndValue = EndValue * 8\n| project-away End\n| extend p = pack(Counter, EndValue)\r\n| summarize bag=make_bag(p)\r\n| evaluate bag_unpack(bag)\n", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "E", + "subscription": "$sub" + } + ], + "title": "", + "transformations": [], + "transparent": true, + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 11 + }, + "id": 2, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "\r\n\r\nInsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\r\n| where Instance == '$SqlInstance'\r\n| where Namespace =~ 'sqlserver_azure_db_resource_stats' and Name == 'avg_instance_cpu_percent' and Tags.replica_updateability == iff('primary' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| summarize ['Avg Instance CPU'] = avg(Val) by bin(TimeGenerated, $__interval)", + "resultFormat": "table", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + }, + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\r\n| where Instance == '$SqlInstance'\r\n| where Namespace =~ 'sqlserver_azure_db_resource_stats' and Name == 'avg_cpu_percent' and Tags.replica_updateability == iff('primary' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| summarize ['Avg CPU'] = avg(Val) by bin(TimeGenerated, $__interval)", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "B", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "CPU", + "transformations": [], + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 11 + }, + "id": 3, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "\r\n\r\nInsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\r\n| where Instance == '$SqlInstance'\r\n| where Namespace =~ 'sqlserver_azure_db_resource_stats' and Name == 'avg_instance_memory_percent' and Tags.replica_updateability == iff('primary' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| summarize ['Avg Instance Memory'] = avg(Val) by bin(TimeGenerated, $__interval)", + "resultFormat": "table", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + }, + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\r\n| where Instance == '$SqlInstance'\r\n| where Namespace =~ 'sqlserver_azure_db_resource_stats' and Name == 'avg_memory_usage_percent' and Tags.replica_updateability == iff('primary' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| summarize ['Avg Memory'] = avg(Val) by bin(TimeGenerated, $__interval)", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "B", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Memory", + "transformations": [], + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 11 + }, + "id": 4, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "\r\n\r\nInsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\r\n| where Instance == '$SqlInstance'\r\n| where Namespace =~ 'sqlserver_azure_db_resource_stats' and Name == 'avg_data_io_percent' and Tags.replica_updateability == iff('primary' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| summarize ['Avg Data I/O'] = avg(Val) by bin(TimeGenerated, $__interval)", + "resultFormat": "table", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + }, + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter()\n\r\n| extend Tags = todynamic(Tags)\r\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\r\n| where Instance == '$SqlInstance'\r\n| where Namespace =~ 'sqlserver_azure_db_resource_stats' and Name == 'avg_log_write_percent' and Tags.replica_updateability == iff('primary' == 'secondary', 'READ_ONLY', 'READ_WRITE')\n| summarize ['Avg Log Writes'] = avg(Val) by bin(TimeGenerated, $__interval)", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "B", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data I/O", + "transformations": [], + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "hue", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 1, + "pointSize": 9, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "ms" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "^(WaitType.*)" + }, + "properties": [ + { + "id": "displayName" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 18 + }, + "id": 8, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "right" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics \n| where $__timeFilter()\n| where Namespace in~ ('sqlserver_azuredb_waitstats', 'sqlserver_waitstats') and Name =~ 'wait_time_ms'\r\n| extend Tags = todynamic(Tags)\r\n| extend Database = tostring(iff(Tags[\"database_name'\"] == '', Tags[\"database_name\"], Tags[\"database_name'\"])), Instance = tostring(Tags.sql_instance), WaitType = tostring(Tags.wait_type), WaitCategory = tostring(Tags.wait_category)\r\n| where Instance == '$SqlInstance' and (Database == '$db' or '*' == '$db')\r\n| order by Computer asc, Instance asc, Database asc, Namespace asc, Name asc, WaitType asc, TimeGenerated asc\r\n| extend WaitCategory = iff(isempty(WaitCategory), \"Other\", WaitCategory)\r\n| extend Val = iff(Computer == prev(Computer) and Instance == prev(Instance) and Database == prev(Database) and Namespace == prev(Namespace) and Name == prev(Name) and WaitType == prev(WaitType) and Val > prev(Val), Val - prev(Val), real(null))\n| summarize Val = avg(Val) by bin(TimeGenerated, $__interval), WaitCategory\n| extend Val = iff(isnan(Val), real(0), Val)\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "SQL Wait Category Stats", + "transformations": [ + { + "id": "labelsToFields", + "options": { + "valueLabel": "WaitCategory" + } + } + ], + "type": "timeseries" + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 26 + }, + "id": 11, + "panels": [], + "title": "Activities", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 27 + }, + "id": 15, + "maxDataPoints": 20, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\r\n| where $__timeFilter()\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Tags = todynamic(Tags)\r\n| extend Name = tostring(Tags.counter), Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| where Instance == '$SqlInstance' and Database == '$db'\r\n| where Name =~ 'Transactions/sec' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') \r\n| extend SeriesName = strcat(Instance, '/', Database)\r\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), SeriesName\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum = sum(Val) by bin(TimeGenerated, $__interval), SeriesName\r\n| project-away SeriesName\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Transactions/sec", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 34 + }, + "id": 17, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\r\n| where $__timeFilter()\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Tags = todynamic(Tags)\r\n| extend Name = tostring(Tags.counter), Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| where Instance == '$SqlInstance' and Database == '$db'\r\n| where Name =~ 'User connections' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| extend SeriesName = strcat(Instance, '/', Database)\r\n| summarize Sum = sum(Val) by bin(TimeGenerated, $__interval), SeriesName\r\n| project-away SeriesName\r\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "User Connections", + "transformations": [], + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 34 + }, + "id": 18, + "maxDataPoints": 40, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\r\n| where $__timeFilter()\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Tags = todynamic(Tags)\r\n| extend Name = tostring(Tags.counter), Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| where Instance == '$SqlInstance' and Database == '$db'\r\n| where Name =~ 'Batch requests/sec' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| extend SeriesName = strcat(Instance, '/', Database)\r\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), SeriesName\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum = sum(Val) by bin(TimeGenerated, $__interval), SeriesName\n\r\n| project-away SeriesName\r\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "Batch requests/sec", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 34 + }, + "id": 19, + "maxDataPoints": 40, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\r\n| where $__timeFilter()\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Tags = todynamic(Tags)\r\n| extend Name = tostring(Tags.counter), Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| where Instance == '$SqlInstance' and Database == '$db'\r\n| where Name =~ 'SQL compilations/sec' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| extend SeriesName = strcat(Instance, '/', Database)\r\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), SeriesName\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum = sum(Val) by bin(TimeGenerated, $__interval), SeriesName\n\r\n| project-away SeriesName\r\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "SQL compilations/sec", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 42 + }, + "id": 20, + "maxDataPoints": 40, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\r\n| where $__timeFilter()\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Tags = todynamic(Tags)\r\n| extend Name = tostring(Tags.counter), Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| where Instance == '$SqlInstance' and Database == '$db'\r\n| where Name =~ 'SQL re-compilations/sec' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| extend SeriesName = strcat(Instance, '/', Database)\r\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), SeriesName\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum = sum(Val) by bin(TimeGenerated, $__interval), SeriesName\n\r\n| project-away SeriesName\r\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "SQL re-compilations/sec", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 42 + }, + "id": 21, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\r\n| where $__timeFilter()\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Tags = todynamic(Tags)\r\n| extend Name = tostring(Tags.counter), Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| where Instance == '$SqlInstance' and Database == '$db'\r\n| where Name =~ 'Processes blocked' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| extend SeriesName = strcat(Instance, '/', Database)\r\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), SeriesName\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum = sum(Val) by bin(TimeGenerated, $__interval), SeriesName\n\r\n| project-away SeriesName\r\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "Processes blocked", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 42 + }, + "id": 22, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\r\n| where $__timeFilter()\r\n| where Namespace =~ 'sqlserver_performance' \r\n| extend Tags = todynamic(Tags)\r\n| extend Name = tostring(Tags.counter), Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\r\n| where Instance == '$SqlInstance' and Database == '$db'\r\n| where Name =~ 'Number of deadlocks/sec' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| extend SeriesName = strcat(Instance, '/', Database)\r\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), SeriesName\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum = sum(Val) by bin(TimeGenerated, $__interval), SeriesName\n\r\n| project-away SeriesName\r\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "Number of deadlocks/sec", + "type": "timeseries" + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 50 + }, + "id": 24, + "panels": [], + "title": "Memory Clerks", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 24, + "x": 0, + "y": 51 + }, + "id": 26, + "maxDataPoints": 40, + "options": { + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "right" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\r\n| where $__timeFilter()\r\n| where Namespace == 'sqlserver_memory_clerks'\r\n| extend Tags = todynamic(Tags)\r\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance), ClerkType = tostring(Tags.clerk_type)\r\n| where Instance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| extend SeriesName = strcat(Instance, '/', Database)\r\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), SeriesName, ClerkType\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\r\n| summarize Sum=sum(Val) by bin(TimeGenerated, $__interval), ClerkType, SeriesName\n| project-away SeriesName\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "transformations": [ + { + "id": "labelsToFields", + "options": { + "valueLabel": "ClerkType" + } + } + ], + "type": "timeseries" + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 62 + }, + "id": 30, + "panels": [], + "title": "Database Space", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "^(.* size)" + }, + "properties": [ + { + "id": "unit", + "value": "deckbytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Percent log used" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 63 + }, + "id": 32, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics \n| where $__timeFilter()\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\r\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\r\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| summarize \r\n ['Data file(s) size']= avgif(Val, Counter == 'Data File(s) Size (KB)'),\r\n ['Log file(s) size'] = avgif(Val, Counter == 'Log File(s) Size (KB)'),\r\n ['Log file(s) used size'] = avgif(Val, Counter == 'Log File(s) Used Size (KB)'),\r\n ['Percent log used'] = avgif(Val, Counter == 'Percent Log Used')\r\n by SqlInstance, DbInstance", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "aggregation": "", + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": -1, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "deckbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 69 + }, + "id": 34, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "right" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and Counter == 'Data File(s) Size (KB)'\n| summarize Average = round(avg(Val), 2), Max = round(max(Val), 2), Min = round(min(Val), 2), P99th = round(percentile(Val, 99), 2), P95th = round(percentile(Val, 95), 2) by bin(TimeGenerated, $__interval), DbInstance\n| project-away DbInstance\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data File(s) Size (KB)", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "deckbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 69 + }, + "id": 35, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "right" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and Counter == 'Log File(s) Size (KB)'\n| summarize Average = round(avg(Val), 2), Max = round(max(Val), 2), Min = round(min(Val), 2), P99th = round(percentile(Val, 99), 2), P95th = round(percentile(Val, 95), 2) by bin(TimeGenerated, $__interval), DbInstance\n| project-away DbInstance\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log File(s) Size (KB)", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": -1, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "deckbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 78 + }, + "id": 36, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "right" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and Counter == 'Log File(s) Used Size (KB)'\n| summarize Average = round(avg(Val), 2), Max = round(max(Val), 2), Min = round(min(Val), 2), P99th = round(percentile(Val, 99), 2), P95th = round(percentile(Val, 95), 2) by bin(TimeGenerated, $__interval), DbInstance\n| project-away DbInstance\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log File(s) Used Size (KB)", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": -1, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 78 + }, + "id": 37, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "right" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and Counter == 'Percent Log Used'\n| summarize Average = round(avg(Val), 2), Max = round(max(Val), 2), Min = round(min(Val), 2), P99th = round(percentile(Val, 99), 2), P95th = round(percentile(Val, 95), 2) by bin(TimeGenerated, $__interval), DbInstance\n| project-away DbInstance\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Percentage Log used", + "type": "timeseries" + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 87 + }, + "id": 39, + "panels": [], + "title": "Transactions", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "^(.*sec)" + }, + "properties": [ + { + "id": "unit", + "value": "cps" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Log Flush Wait Time" + }, + "properties": [ + { + "id": "unit", + "value": "ms" + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 88 + }, + "id": 40, + "maxDataPoints": 40, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics \n| where $__timeFilter()\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\r\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\r\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| summarize (Start, StartValue) = arg_min(TimeGenerated, Val), (End, EndValue) = arg_max(TimeGenerated, Val) by Counter, Database, SqlInstance, DbInstance, bin(TimeGenerated, $__interval)\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\r\n| summarize \r\n ['Write Transactions/sec'] = avgif(Val, Counter == 'Write Transactions/sec'),\r\n ['Log Flushes/sec'] = avgif(Val, Counter == 'Log Flushes/sec'),\r\n ['Log Bytes Flushed/sec'] = avgif(Val, Counter == 'Log Bytes Flushed/sec'),\r\n ['Log Flush Wait Time'] = avgif(Val, Counter == 'Log Flush Wait Time')\r\n by SqlInstance, DbInstance", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "aggregation": "", + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 94 + }, + "id": 42, + "maxDataPoints": 20, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and Counter == 'Write Transactions/sec'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), DbInstance\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum=sum(Val) by bin(TimeGenerated, $__interval), DbInstance\n| project-away DbInstance\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Write Transactions/sec", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 94 + }, + "id": 43, + "maxDataPoints": 20, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and Counter == 'Log Flushes/sec'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), DbInstance\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum=sum(Val) by bin(TimeGenerated, $__interval), DbInstance\n| project-away DbInstance\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log Flushes/sec", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 102 + }, + "id": 44, + "maxDataPoints": 20, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and Counter == 'Log Bytes Flushed/sec'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), DbInstance\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum=sum(Val) by bin(TimeGenerated, $__interval), DbInstance\n| project-away DbInstance\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log Bytes Flushed/sec", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 102 + }, + "id": 45, + "maxDataPoints": 20, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_performance' and tostring(Tags.object) endswith ':Databases' and tostring(Tags.instance) !~ 'total'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), Counter = tostring(Tags.counter), DbInstance = tostring(Tags.instance)\n| where SqlInstance == '$SqlInstance' and DbInstance == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and Counter == 'Log Flush Wait Time'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), DbInstance\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize Sum=sum(Val) by bin(TimeGenerated, $__interval), DbInstance\n| project-away DbInstance\n| order by TimeGenerated asc", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log Flush Wait Time", + "type": "timeseries" + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 110 + }, + "id": 48, + "panels": [], + "title": "Database IO", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "LogReadBytes" + }, + "properties": [ + { + "id": "unit", + "value": "bits" + }, + { + "id": "displayName", + "value": "Log read bytes" + }, + { + "id": "color", + "value": { + "fixedColor": "super-light-blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "LogWriteBytes" + }, + "properties": [ + { + "id": "unit", + "value": "bits" + }, + { + "id": "displayName", + "value": "Log write bytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "LogReadLatency" + }, + "properties": [ + { + "id": "unit", + "value": "ms" + }, + { + "id": "displayName", + "value": "Log read latency" + }, + { + "id": "color", + "value": { + "fixedColor": "super-light-blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "LogWriteLatency" + }, + "properties": [ + { + "id": "unit", + "value": "ms" + }, + { + "id": "displayName", + "value": "Log write latency" + }, + { + "id": "color", + "value": { + "fixedColor": "orange", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "DataReadBytes" + }, + "properties": [ + { + "id": "unit", + "value": "bytes" + }, + { + "id": "displayName", + "value": "Data read bytes" + }, + { + "id": "color", + "value": { + "fixedColor": "super-light-blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "DataWriteBytes" + }, + "properties": [ + { + "id": "unit", + "value": "bytes" + }, + { + "id": "displayName", + "value": "Data write bytes" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "DataReadLatency" + }, + "properties": [ + { + "id": "unit", + "value": "ms" + }, + { + "id": "displayName", + "value": "Data read latency" + }, + { + "id": "color", + "value": { + "fixedColor": "super-light-blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "DataWriteLatency" + }, + "properties": [ + { + "id": "unit", + "value": "ms" + }, + { + "id": "displayName", + "value": "Data write latency" + }, + { + "id": "color", + "value": { + "fixedColor": "orange", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 111 + }, + "id": 46, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics \n| where $__timeFilter()\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\r\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type), FileName = tostring(Tags.logical_filename)\r\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE')\r\n| summarize (Start, StartValue) = arg_min(TimeGenerated, Val), (End, EndValue) = arg_max(TimeGenerated, Val) by Name, Database, SqlInstance, FileType, FileName\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\r\n| summarize\r\n DataReadBytes = sumif(Val, Name == 'read_bytes' and FileType == 'DATA'),\r\n DataWriteBytes = sumif(Val, Name == 'write_bytes' and FileType == 'DATA'),\r\n DataReadLatency = avgif(Val, Name == 'read_latency_ms' and FileType == 'DATA'),\r\n DataWriteLatency = avgif(Val, Name == 'write_latency_ms' and FileType == 'DATA'),\r\n LogReadBytes = sumif(Val, Name == 'read_bytes' and FileType == 'LOG'),\r\n LogWriteBytes = sumif(Val, Name == 'write_bytes' and FileType == 'LOG'),\r\n LogReadLatency = avgif(Val, Name == 'read_latency_ms' and FileType == 'LOG'),\r\n LogWriteLatency = avgif(Val, Name == 'write_latency_ms' and FileType == 'LOG')\r\n by SqlInstance, Database\n | project-reorder LogReadBytes, LogWriteBytes, LogReadLatency, LogWriteLatency, DataReadBytes, DataWriteBytes, DataReadLatency, DataWriteLatency, Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "aggregation": "", + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 117 + }, + "id": 49, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == 'LOG' and Name == 'reads'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Sum\"]=sum(Val) by bin(TimeGenerated, $__interval), Database\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log reads", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 117 + }, + "id": 52, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == 'LOG' and Name == 'writes'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Sum\"]=sum(Val) by bin(TimeGenerated, $__interval), Database\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log writes", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 125 + }, + "id": 50, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == 'LOG' and Name == 'read_bytes'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Sum\"]=sum(Val) by bin(TimeGenerated, $__interval), Database\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log read bytes", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 125 + }, + "id": 56, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == 'LOG' and Name == 'write_bytes'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Sum\"]=sum(Val) by bin(TimeGenerated, $__interval), Database\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log writebytes", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 133 + }, + "id": 51, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == 'LOG' and Name == 'read_latency_ms'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Avg\"]=avg(Val) by bin(TimeGenerated, $__interval), Database\n| extend Avg=iff(isnan(Avg), toreal(0), Avg)\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log read latency", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 133 + }, + "id": 61, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == 'LOG' and Name == 'write_latency_ms'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Avg\"]=avg(Val) by bin(TimeGenerated, $__interval), Database\n| extend Avg=iff(isnan(Avg), toreal(0), Avg)\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Log write latency", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 141 + }, + "id": 55, + "maxDataPoints": 40, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend FileTypeFilter = iff(tostring(Tags.measurement_db_type) == 'AzureSQLDB', 'DATA', 'ROWS')\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == FileTypeFilter and Name == 'reads'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Sum\"]=sum(Val) by bin(TimeGenerated, $__interval), Database\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data reads", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 141 + }, + "id": 58, + "maxDataPoints": 40, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend FileTypeFilter = iff(tostring(Tags.measurement_db_type) == 'AzureSQLDB', 'DATA', 'ROWS')\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == FileTypeFilter and Name == 'writes'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Sum\"]=sum(Val) by bin(TimeGenerated, $__interval), Database\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data writes", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 149 + }, + "id": 57, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend FileTypeFilter = iff(tostring(Tags.measurement_db_type) == 'AzureSQLDB', 'DATA', 'ROWS')\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == FileTypeFilter and Name == 'read_bytes'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Sum\"]=sum(Val) by bin(TimeGenerated, $__interval), Database\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data read bytes", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 149 + }, + "id": 59, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend FileTypeFilter = iff(tostring(Tags.measurement_db_type) == 'AzureSQLDB', 'DATA', 'ROWS')\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == FileTypeFilter and Name == 'write_bytes'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Sum\"]=sum(Val) by bin(TimeGenerated, $__interval), Database\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data write bytes", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 157 + }, + "id": 54, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend FileTypeFilter = iff(tostring(Tags.measurement_db_type) == 'AzureSQLDB', 'DATA', 'ROWS')\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == FileTypeFilter and Name == 'read_latency_ms'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Avg\"]=avg(Val) by bin(TimeGenerated, $__interval), Database\n| extend Avg=iff(isnan(Avg), toreal(0), Avg)\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data read latency", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 157 + }, + "id": 60, + "maxDataPoints": 24, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "targets": [ + { + "appInsights": { + "dimension": [], + "metricName": "select", + "timeGrain": "auto" + }, + "azureLogAnalytics": { + "query": "InsightsMetrics\n| where $__timeFilter(TimeGenerated)\n| extend Tags = todynamic(Tags)\r\n| where Namespace =~ 'sqlserver_database_io'\n| extend FileTypeFilter = iff(tostring(Tags.measurement_db_type) == 'AzureSQLDB', 'DATA', 'ROWS')\n| extend Database = tostring(Tags.database_name), SqlInstance = tostring(Tags.sql_instance), FileType = tostring(Tags.file_type)\n| extend Database = iff(isempty(Database), SqlInstance, Database)\n| where SqlInstance == '$SqlInstance' and Database == '$db' and Tags.replica_updateability == iff('$Replica' == 'secondary', 'READ_ONLY', 'READ_WRITE') and FileType == FileTypeFilter and Name == 'write_latency_ms'\n| summarize (StartTime, StartValue) = arg_min(TimeGenerated, Val), (EndTime, EndValue) = arg_max(TimeGenerated, Val) by bin(TimeGenerated, $__interval), Database\r\n| extend Val = iff(EndValue >= StartValue, EndValue - StartValue, real(null))\n| summarize [\"Avg\"]=avg(Val) by bin(TimeGenerated, $__interval), Database\n| extend Avg=iff(isnan(Avg), toreal(0), Avg)\n| order by TimeGenerated asc\n| project-away Database", + "resultFormat": "time_series", + "workspace": "$ws" + }, + "azureMonitor": { + "aggOptions": [], + "dimensionFilter": "*", + "dimensionFilters": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "select", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "auto", + "timeGrains": [], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Data write latency", + "type": "timeseries" + } + ], + "refresh": false, + "schemaVersion": 27, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + }, + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "ds", + "options": [], + "query": "grafana-azure-monitor-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "subscriptions()", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Subscription", + "multi": false, + "name": "sub", + "options": [], + "query": "subscriptions()", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "Workspaces($sub)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Workspace", + "multi": false, + "name": "ws", + "options": [], + "query": "Workspaces($sub)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "workspace(\"$ws\").InsightsMetrics | where Namespace contains 'sqlserver_server_properties' and Name == 'engine_edition'\n| extend Tags = todynamic(Tags)\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\n| where Val == 5 | summarize by Instance\n| project value = Instance, label = Instance, selected = true", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Server", + "multi": false, + "name": "SqlInstance", + "options": [], + "query": "workspace(\"$ws\").InsightsMetrics | where Namespace contains 'sqlserver_server_properties' and Name == 'engine_edition'\n| extend Tags = todynamic(Tags)\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\n| where Val == 5 | summarize by Instance\n| project value = Instance, label = Instance, selected = true", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "workspace(\"$ws\").InsightsMetrics\n| where Namespace contains 'sqlserver_server_properties' and Name == 'uptime'\n| extend Tags = todynamic(Tags)\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance), Replica = tostring(iff(Tags.replica_updateability == 'READ_WRITE', 'primary', 'secondary'))\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\n| where Instance =~ '$SqlInstance'\n| distinct Database", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Database", + "multi": false, + "name": "db", + "options": [], + "query": "workspace(\"$ws\").InsightsMetrics\n| where Namespace contains 'sqlserver_server_properties' and Name == 'uptime'\n| extend Tags = todynamic(Tags)\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance), Replica = tostring(iff(Tags.replica_updateability == 'READ_WRITE', 'primary', 'secondary'))\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\n| where Instance =~ '$SqlInstance'\n| distinct Database", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "workspace(\"$ws\").InsightsMetrics\n| extend Tags = todynamic(Tags)\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\n| where Instance == '$SqlInstance'\n| where Namespace =~ 'sqlserver_azure_db_resource_stats'\n| summarize by value = tostring(iff(Tags.replica_updateability == 'READ_WRITE', 'primary', 'secondary'))\n| project value, label = value, selected = true\n| order by label asc", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Replica", + "options": [], + "query": "workspace(\"$ws\").InsightsMetrics\n| extend Tags = todynamic(Tags)\n| extend Database = tostring(Tags.database_name), Instance = tostring(Tags.sql_instance)\n| extend DatabaseKey = iff(Database == Instance, Database, strcat(Database, ' on ', Instance))\n| where Instance == '$SqlInstance'\n| where Namespace =~ 'sqlserver_azure_db_resource_stats'\n| summarize by value = tostring(iff(Tags.replica_updateability == 'READ_WRITE', 'primary', 'secondary'))\n| project value, label = value, selected = true\n| order by label asc", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-4h", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Azure SQL Database", + "uid": "cIld6iqMk", + "version": 69 + } \ No newline at end of file diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/storage.json b/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/storage.json new file mode 100644 index 00000000000..74d9f501b37 --- /dev/null +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/dashboards/storage.json @@ -0,0 +1,7038 @@ +{ + "__requires": [ + { + "type": "panel", + "id": "gauge", + "name": "Gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "7.4.3" + }, + { + "type": "datasource", + "id": "grafana-azure-monitor-datasource", + "name": "Azure Monitor", + "version": "0.3.0" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], + "annotations": { + "list": [ + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1620257813794, + "links": [], + "panels": [ + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "green", + "value": 100 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 0, + "y": 1 + }, + "id": 7, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^Availability$/", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": false, + "text": {} + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Availability", + "transparent": true, + "type": "gauge" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "blue", + "mode": "fixed" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 3, + "y": 1 + }, + "id": 6, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "sum" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "value_and_name" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "PT5M", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "transparent": true, + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "purple", + "mode": "fixed" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 6, + "y": 1 + }, + "id": 8, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "value_and_name" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "SuccessE2ELatency", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "transparent": true, + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "purple", + "mode": "fixed" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 9, + "y": 1 + }, + "id": 9, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "value_and_name" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "SuccessServerLatency", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "transparent": true, + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "blue", + "mode": "fixed" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 12, + "y": 1 + }, + "id": 10, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "sum" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "value_and_name" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "Ingress", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "transparent": true, + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "blue", + "mode": "fixed" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 3, + "x": 15, + "y": 1 + }, + "id": 11, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "sum" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "value_and_name" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total", + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "Egress", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "", + "transparent": true, + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "short" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 5 + }, + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null as zero", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "Table transactions", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/tableServices", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "Blob transactions", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "File transactions", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + }, + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "Queue transactions", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/queueServices", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transactions by storage type", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "short" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 5 + }, + "hiddenSeries": false, + "id": 14, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Transactions by API Name", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 14 + }, + "id": 13, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "multi" + } + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "", + "alias": "Table capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "select", + "metricName": "select", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "select", + "resourceName": "select", + "timeGrain": "", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Blob capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Blob type", + "value": "BlobType" + }, + { + "text": "Blob tier", + "value": "Tier" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "BlobCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "File capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "FileCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Queue capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns/queueServices", + "metricName": "QueueCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Capacity by storage type", + "transformations": [], + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 14 + }, + "id": 12, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Table availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/tableServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Blob availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "File availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + }, + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Queue availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/queueServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Availability by storage type", + "transformations": [], + "type": "timeseries" + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 23 + }, + "id": 52, + "panels": [], + "title": "Failures", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Transactions ClientOtherError" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + }, + { + "id": "displayName", + "value": "ClientOtherError" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Transactions Success" + }, + "properties": [ + { + "id": "displayName", + "value": "Success" + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 0, + "y": 24 + }, + "id": 16, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "sum" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ResponseType", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "red", + "mode": "fixed" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Transactions Success" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 18, + "x": 6, + "y": 24 + }, + "id": 18, + "options": { + "graph": {}, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ResponseType", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "basic" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 30 + }, + "id": 20, + "options": { + "showHeader": false + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + }, + { + "dimension": "ResponseType", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "Blob Services", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "basic" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 30 + }, + "id": 22, + "options": { + "showHeader": false + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + }, + { + "dimension": "ResponseType", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + }, + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "File Services", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "basic" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 38 + }, + "id": 24, + "options": { + "showHeader": false + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + }, + { + "dimension": "ResponseType", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/tableServices", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "Table Services", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "basic" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 38 + }, + "id": 26, + "options": { + "showHeader": false + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Total" + ], + "aggregation": "Total", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + }, + { + "dimension": "ResponseType", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Response type", + "value": "ResponseType" + }, + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/queueServices", + "metricName": "Transactions", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + } + ], + "title": "Queue Services", + "transformations": [ + { + "id": "reduce", + "options": { + "reducers": [ + "sum" + ] + } + } + ], + "type": "table" + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 46 + }, + "id": 50, + "panels": [], + "title": "Performance", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Success Server Latency" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 0, + "y": 47 + }, + "id": 28, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "sum" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "SuccessE2ELatency", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "SuccessServerLatency", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + } + ], + "title": "", + "type": "stat" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Success Server Latency" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 18, + "x": 6, + "y": 47 + }, + "id": 30, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "SuccessE2ELatency", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "SuccessServerLatency", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + } + ], + "title": "", + "type": "timeseries" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + }, + "unit": "ms" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Mean" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "lcd-gauge" + }, + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "gradient-gauge" + }, + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "continuous-GrYlRd" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "gradient-gauge" + }, + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "continuous-GrYlRd" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Field" + }, + "properties": [ + { + "id": "displayName", + "value": "Latency" + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 24, + "x": 0, + "y": 53 + }, + "id": 32, + "options": { + "showHeader": true + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "SuccessE2ELatency", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "SuccessServerLatency", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + } + ], + "title": "", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "mode": "seriesToRows", + "reducers": [ + "mean", + "max", + "min" + ] + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Mean" + } + ] + } + } + ], + "type": "table" + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 64 + }, + "id": 48, + "panels": [], + "title": "Availability", + "type": "row" + }, + { + "datasource": "$ds", + "description": "The data comes from Storage metrics. It measures the availability of requests on Storage accounts.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "green", + "value": 100 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 65 + }, + "id": 34, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": false, + "text": {} + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Account Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Blob Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Table Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/tableServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "File Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + }, + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Queue Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/queueServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "E", + "subscription": "$sub" + } + ], + "title": "", + "type": "gauge" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Mean" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + }, + { + "id": "custom.displayMode", + "value": "color-background" + }, + { + "id": "color", + "value": { + "mode": "continuous-RdYlGr" + } + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 73 + }, + "id": 36, + "maxDataPoints": 1, + "options": { + "showHeader": false + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/tableServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + }, + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [ + { + "dimension": "ApiName", + "filter": "", + "operator": "eq" + } + ], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/queueServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Availability by API name", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "mode": "seriesToRows", + "reducers": [ + "mean" + ] + } + } + ], + "type": "table" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "percent" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 73 + }, + "hiddenSeries": false, + "id": 38, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": true, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Blob Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Table Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/tableServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "File Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + }, + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average", + "Minimum", + "Maximum" + ], + "aggregation": "Average", + "alias": "Queue Availability", + "allowedTimeGrainsMs": [ + 60000, + 300000, + 900000, + 1800000, + 3600000, + 21600000, + 43200000, + 86400000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Geo type", + "value": "GeoType" + }, + { + "text": "API name", + "value": "ApiName" + }, + { + "text": "Authentication", + "value": "Authentication" + } + ], + "metricDefinition": "$ns/queueServices", + "metricName": "Availability", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 minute", + "value": "PT1M" + }, + { + "text": "5 minutes", + "value": "PT5M" + }, + { + "text": "15 minutes", + "value": "PT15M" + }, + { + "text": "30 minutes", + "value": "PT30M" + }, + { + "text": "1 hour", + "value": "PT1H" + }, + { + "text": "6 hours", + "value": "PT6H" + }, + { + "text": "12 hours", + "value": "PT12H" + }, + { + "text": "1 day", + "value": "P1D" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Availability Trend", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": "$ds", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 81 + }, + "id": 46, + "panels": [], + "title": "Capacity", + "type": "row" + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-blue", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 82 + }, + "id": 40, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Account Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns", + "metricName": "UsedCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts", + "resourceGroup": "$rg", + "resourceName": "$resource", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "A", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Blob Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Blob type", + "value": "BlobType" + }, + { + "text": "Blob tier", + "value": "Tier" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "BlobCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Table Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns/tableServices", + "metricName": "TableCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "File Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "FileCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Queue Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns/queueServices", + "metricName": "QueueCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "E", + "subscription": "$sub" + } + ], + "title": "", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": {}, + "custom": {}, + "thresholds": { + "mode": "absolute", + "steps": [] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 90 + }, + "hiddenSeries": false, + "id": 42, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.3", + "pointradius": 1, + "points": true, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Blob Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Blob type", + "value": "BlobType" + }, + { + "text": "Blob tier", + "value": "Tier" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "BlobCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Table Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns/tableServices", + "metricName": "TableCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "File Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "FileCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Queue Capacity", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns/queueServices", + "metricName": "QueueCapacity", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "E", + "subscription": "$sub" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Storage capacity", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "$ds", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "graph": false, + "legend": false, + "tooltip": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 4, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "always", + "spanNulls": true + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 90 + }, + "id": 44, + "options": { + "graph": {}, + "legend": { + "calcs": [ + "mean" + ], + "displayMode": "list", + "placement": "bottom" + }, + "tooltipOptions": { + "mode": "single" + } + }, + "pluginVersion": "7.4.3", + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Blob Count", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "Blob type", + "value": "BlobType" + }, + { + "text": "Blob tier", + "value": "Tier" + } + ], + "metricDefinition": "$ns/blobServices", + "metricName": "BlobCount", + "metricNamespace": "Microsoft.Storage/storageAccounts/blobServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "B", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Table Count", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns/tableServices", + "metricName": "TableCount", + "metricNamespace": "Microsoft.Storage/storageAccounts/tableServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "C", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "File Count", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [ + { + "text": "File Share", + "value": "FileShare" + } + ], + "metricDefinition": "$ns/fileServices", + "metricName": "FileCount", + "metricNamespace": "Microsoft.Storage/storageAccounts/fileServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "D", + "subscription": "$sub" + }, + { + "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", + "workspace": "00000000-0000-0000-0000-000000000000" + }, + "azureMonitor": { + "aggOptions": [ + "Average" + ], + "aggregation": "Average", + "alias": "Queue Count", + "allowedTimeGrainsMs": [ + 3600000 + ], + "dimensionFilter": "*", + "dimensionFilters": [], + "dimensions": [], + "metricDefinition": "$ns/queueServices", + "metricName": "QueueCount", + "metricNamespace": "Microsoft.Storage/storageAccounts/queueServices", + "resourceGroup": "$rg", + "resourceName": "$resource/default", + "timeGrain": "auto", + "timeGrains": [ + { + "text": "auto", + "value": "auto" + }, + { + "text": "1 hour", + "value": "PT1H" + } + ], + "top": "10" + }, + "hide": false, + "insightsAnalytics": { + "query": "", + "resultFormat": "time_series" + }, + "queryType": "Azure Monitor", + "refId": "E", + "subscription": "$sub" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Storage count", + "type": "timeseries" + } + ], + "refresh": false, + "schemaVersion": 27, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + }, + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "ds", + "options": [], + "query": "grafana-azure-monitor-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "subscriptions()", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Subscription", + "multi": false, + "name": "sub", + "options": [], + "query": "subscriptions()", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "description": null, + "error": null, + "hide": 2, + "label": "Namespace", + "name": "ns", + "query": "Microsoft.Storage/storageAccounts", + "skipUrlSync": false, + "type": "constant" + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "ResourceGroups($sub)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Resource Group", + "multi": false, + "name": "rg", + "options": [], + "query": "ResourceGroups($sub)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$ds", + "definition": "ResourceNames($sub, $rg, $ns)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Resource", + "multi": false, + "name": "resource", + "options": [], + "query": "ResourceNames($sub, $rg, $ns)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Azure Storage Insights", + "uid": "3n2E8CrGk", + "version": 28 + } \ No newline at end of file diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/plugin.json b/public/app/plugins/datasource/grafana-azure-monitor-datasource/plugin.json index a56f622df35..94e596f1aec 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/plugin.json +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/plugin.json @@ -3,6 +3,13 @@ "name": "Azure Monitor", "id": "grafana-azure-monitor-datasource", "category": "cloud", + "includes": [ + { "type": "dashboard", "name": "Azure Monitor Storage Insights", "path": "dashboards/storage.json" }, + { "type": "dashboard", "name": "Azure Monitor CosmosDB Insights", "path": "dashboards/cosmosdb.json" }, + { "type": "dashboard", "name": "Azure Monitor Key Vault Insights", "path": "dashboards/keyvault.json" }, + { "type": "dashboard", "name": "Azure SQL Database Insights", "path": "dashboards/sqldb.json" }, + { "type": "dashboard", "name": "Azure Data Explorer Insights", "path": "dashboards/adx.json" } + ], "info": { "description": "Data source for Microsoft Azure Monitor & Application Insights",