From 4b5b599982550a240f5dc0eb8005780b811edf26 Mon Sep 17 00:00:00 2001 From: O Yves Chan Date: Thu, 11 Jul 2024 13:10:13 -0700 Subject: [PATCH] Azure: Add new Azure infrastructure dashboards (#88869) * add azure infra dashboards * ran yarn prettier:write --- .../dashboards/azureInfraApps.json | 3487 ++++++++++++ .../dashboards/azureInfraCompute.json | 2430 +++++++++ .../dashboards/azureInfraData.json | 3937 ++++++++++++++ ...Monitoring.json => azureInfraNetwork.json} | 4833 ++++++++--------- .../dashboards/azureInfraStorageVaults.json | 1680 ++++++ .../datasource/azuremonitor/plugin.json | 24 +- 6 files changed, 13815 insertions(+), 2576 deletions(-) create mode 100644 public/app/plugins/datasource/azuremonitor/dashboards/azureInfraApps.json create mode 100644 public/app/plugins/datasource/azuremonitor/dashboards/azureInfraCompute.json create mode 100644 public/app/plugins/datasource/azuremonitor/dashboards/azureInfraData.json rename public/app/plugins/datasource/azuremonitor/dashboards/{infrastructureMonitoring.json => azureInfraNetwork.json} (60%) create mode 100644 public/app/plugins/datasource/azuremonitor/dashboards/azureInfraStorageVaults.json diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraApps.json b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraApps.json new file mode 100644 index 00000000000..544219840e6 --- /dev/null +++ b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraApps.json @@ -0,0 +1,3487 @@ +{ + "__inputs": [], + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "10.4.1" + }, + { + "type": "datasource", + "id": "grafana-azure-monitor-datasource", + "name": "Azure Monitor", + "version": "1.0.0" + }, + { + "type": "datasource", + "id": "marcusolsson-json-datasource", + "name": "JSON API", + "version": "1.3.12" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "text", + "name": "Text", + "version": "" + } + ], + "description": "This dashboard displays traffic-light indicators to show the health of your Azure infrastructure resources based on key performance indicators and thresholds defined for each infrastructure resource type. The KPIs and thresholds come from Azure Monitor Baseline Alerts (https://azure.github.io/azure-monitor-baseline-alerts/). \n\nPrerequisites:\nThe queries used in the dashboard require that you have resource metrics being sent to a Log Analytics Workspace. The AzureMetrics and AzureDiagnostics tables are required. This can be achieved through a resource’s diagnostic settings. For detailed instructions, refer to Azure Monitor Essentials: Diagnostic Settings: https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings#metrics\n\nInstallation and Configuration:\nThis dashboard requires the JSON API Grafana plugin and a configured data source for Azure Monitor Baseline Alerts. Follow these steps to install and configure the JSON API plugin:\n\n1. Navigate to Connections->Connect Data.\n2. Search for “JSON API” and then select the JSON API data source.\n3. Install the plugin if it is not already installed.\n4. On the JSON API plugin page, click “Create a JSON API data source\".\n5. On the create JSON API page, give it the name “AMBA” and for the URL, give it the value: https://raw.githubusercontent.com/Azure/azure-monitor-baseline-alerts/main/visualizations/grafana/infra-monitoring-amba-thresholds.json \n6. Click the Save & test button. You should see a green checkbox and Success message if configured correctly.\n\nThis is one of a collection of dashboards linked together via dashboard links and the \"azure-infra-monitor\" tag. Other dashboards in the collection include:\nAzure / Infrastructure / Network Monitoring\nAzure / Infrastructure / Storage and Key Vaults Monitoring\nAzure / Infrastructure / Compute Monitoring\nAzure / Infrastructure / Data Monitoring\n\nThe other dashboards in this collection can be found in the Azure Monitor Team Grafana library here: https://grafana.com/orgs/azuremonitorteam/dashboards. Once imported, you will be able to access these dashboards using the Azure Infra Monitoring Dashboards tab. ", + "editable": true, + "id": null, + "links": [ + { + "asDropdown": true, + "icon": "external link", + "includeVars": false, + "keepTime": false, + "tags": ["azure-infra-monitor"], + "targetBlank": false, + "title": "Azure Infra Monitor Dashboards", + "tooltip": "", + "type": "dashboards", + "url": "" + } + ], + "liveNow": true, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "

Azure Infrastructure Monitoring Dashboard (Apps)

\r\n\r\nSelect a data source, workspace scope, workspace(s) and resource scope. \r\nExamine the key performance indicators for your resources by expanding the row for a resource type. \r\nRecommended KPIs and thresholds used in this dashboard come from [Azure Monitor Baseline Alerts](https://azure.github.io/azure-monitor-baseline-alerts/). \r\nSee dashboard description for more details on linking to other Infrastructure Monitor dashboards.\r\n", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 90, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "
\r\n\r\nKey:\r\n- Green\\Healthy  - None of the resources of that resource type have KPIs that are exceeding thresholds.\r\n- Yellow\\Warning - At least one resource of that resource type has one KPI exceeding a threshold.\r\n- Red\\Unhealthy  - At least one resource of that resource type has two or more KPIs exceeding a threshold.", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 5 + }, + "id": 104, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.web/sites/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('HttpResponseTime', 'CpuTime', 'PrivateBytes', 'RequestsInApplicationQueue' )\r\n| summarize\r\n kpi1 = avgif(Total, MetricName == 'HttpResponseTime'),\r\n kpi2 = avgif(Total, MetricName == 'CpuTime'),\r\n kpi3 = avgif(Total, MetricName == 'PrivateBytes'),\r\n kpi4 = avgif(Total, MetricName == 'RequestsInApplicationQueue') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1>$amba_webapp_HttpResponseTime, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_webapp_CpuTime, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_webapp_PrivateBytes, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_webapp_RequestsInApplicationQueue, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Web Apps", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 5 + }, + "id": 110, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.containerservice/managedclusters/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('node_cpu_usage_percentage', 'node_memory_working_set_percentage', 'node_disk_usage_percentage', 'cluster_autoscaler_unschedulable_pods_count' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'node_cpu_usage_percentage'),\r\n kpi2 = avgif(Average, MetricName == 'node_memory_working_set_percentage'),\r\n kpi3 = avgif(Average, MetricName == 'node_disk_usage_percentage'),\r\n kpi4 = avgif(Average, MetricName == 'cluster_autoscaler_unschedulable_pods_count') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1>$amba_AKS_node_cpu_usage_percentage, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_AKS_node_memory_working_set_percentage, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_AKS_node_disk_usage_percentage, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_AKS_cluster_autoscaler_unsched_pods_count, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "AKS", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 5 + }, + "id": 111, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.containerregistry/registries/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('StorageUsed')\r\n| summarize\r\n kpi1 = avgif(Total, MetricName == 'StorageUsed') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend health1 = iff(kpi1>$amba_ACR_StorageUsed, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend health = health1\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Container Registries", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 9, + "y": 5 + }, + "id": 112, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has 'microsoft.cache/redis'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('percentProcessorTime', 'usedmemorypercentage', 'cacheLatency', 'errors' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'percentProcessorTime'),\r\n kpi2 = avgif(Average, MetricName == 'usedmemorypercentage'),\r\n kpi3 = avgif(Average, MetricName == 'cacheLatency'),\r\n kpi4 = avgif(Maximum, MetricName == 'errors') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1>$amba_Redis_percentProcessorTime, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_Redis_usedmemorypercentage, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_Redis_cacheLatency, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_Redis_errors, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc ", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Redis Cache", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 12, + "y": 5 + }, + "id": 113, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureDiagnostics\r\n| where _ResourceId has '/microsoft.servicebus/namespaces/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where Category == \"DiagnosticErrorLogs\"\r\n| summarize\r\n kpi1 = countif(OperationResult_s =~ \"ClientError\"), \r\n kpi2 = countif(OperationResult_s =~ \"ServerBusy\"),\r\n kpi3 = countif(OperationResult_s =~ \"QuotaExceeded\") by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(toreal(kpi1)), 0.0, toreal(kpi1))\r\n|extend kpi2 = iff(isnan(toreal(kpi2)), 0.0, toreal(kpi2)) \r\n|extend kpi3 = iff(isnan(toreal(kpi3)), 0.0, toreal(kpi3))\r\n|extend health1 = iff(kpi1>$amba_ServiceBus_UserErrors, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_ServiceBus_ServerErrors, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_ServiceBus_ThrottledRequests, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Service Bus", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 25, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 105, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 10 + }, + "id": 106, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 104, + "refId": "A" + } + ], + "title": "Web App Response Time", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 200, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 10 + }, + "id": 107, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 104, + "refId": "A" + } + ], + "title": "Web App CPU Time", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 1200000000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 10 + }, + "id": 108, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 104, + "refId": "A" + } + ], + "title": "Web App Private Bytes", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 20, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 10 + }, + "id": 109, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 104, + "refId": "A" + } + ], + "title": "Web App Requests in Queue", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": false + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Web Apps", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 114, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 11 + }, + "id": 125, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 110, + "refId": "A" + } + ], + "title": "AKS Node CPU Usage Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 11 + }, + "id": 126, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 110, + "refId": "A" + } + ], + "title": "AKS Node Memory Working Set Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 11 + }, + "id": 127, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 110, + "refId": "A" + } + ], + "title": "AKS Node Disk Usage Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 11 + }, + "id": 128, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 110, + "refId": "A" + } + ], + "title": "AKS Unscheduled Pods Count", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": false + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "AKS", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 11 + }, + "id": 115, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 429496729600, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 12 + }, + "id": 118, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 111, + "refId": "A" + } + ], + "title": "Container Registry Storage Used", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Container Registries", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 116, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 13 + }, + "id": 129, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 112, + "refId": "A" + } + ], + "title": "Redis Cache Percent Processor Time", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 13 + }, + "id": 130, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 112, + "refId": "A" + } + ], + "title": "Redis Cache Used Memory Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 12000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 13 + }, + "id": 131, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 112, + "refId": "A" + } + ], + "title": "Redis Cache Cache Latency", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 13 + }, + "id": 132, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 112, + "refId": "A" + } + ], + "title": "Redis Cache Errors", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": false + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Redis Cache", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 13 + }, + "id": 117, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 14 + }, + "id": 121, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 113, + "refId": "A" + } + ], + "title": "Service Bus User Errors", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 14 + }, + "id": 122, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 113, + "refId": "A" + } + ], + "title": "Service Bus Server Errors", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 14 + }, + "id": 123, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 113, + "refId": "A" + } + ], + "title": "Service Bus Throttled Requests", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Service Bus", + "type": "row" + } + ], + "refresh": "", + "schemaVersion": 39, + "tags": ["azure-infra-monitor"], + "templating": { + "list": [ + { + "current": {}, + "hide": 0, + "includeAll": false, + "label": "Datasource", + "multi": false, + "name": "ds", + "options": [], + "query": "grafana-azure-monitor-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "hide": 2, + "includeAll": false, + "label": "Azure Monitor Baseline Alerts", + "multi": false, + "name": "amba", + "options": [], + "query": "marcusolsson-json-datasource", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter Log Analytics Workspaces variable.", + "hide": 0, + "includeAll": false, + "label": "Workspace Scope", + "multi": true, + "name": "subsWSScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Log Analytics Workspaces in scope.", + "hide": 0, + "includeAll": false, + "label": "Workspaces", + "multi": true, + "name": "laws", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "azureResourceGraph": { + "query": "resources\r\n| where type == \"microsoft.operationalinsights/workspaces\"\r\n| project value=['id'], text=['name']" + }, + "queryType": "Azure Resource Graph", + "refId": "A", + "subscriptions": ["$subsWSScope"] + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter resources returned from queries.", + "hide": 0, + "includeAll": false, + "label": "Resource Scope", + "multi": true, + "name": "subsRESScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + }, + "description": "Color used when KPIs are below thresholds.", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "healthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + } + ], + "query": "\"rgb(45\\,161\\,55)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + }, + "description": "Color used when one KPI exceeds threshold", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "warning_color", + "options": [ + { + "selected": true, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + } + ], + "query": "\"rgb(222\\,210\\,38)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + }, + "description": "Color used when KPIs exceed thresholds", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "unhealthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + } + ], + "query": "\"rgb(255\\,31\\,46)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Web/sites\".\"HttpResponseTime\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_webapp_HttpResponseTime", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Web/sites\".\"HttpResponseTime\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Web/sites\".\"CpuTime\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_webapp_CpuTime", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Web/sites\".\"CpuTime\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Web/sites\".\"PrivateBytes\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_webapp_PrivateBytes", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Web/sites\".\"PrivateBytes\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Web/sites\".\"RequestsInApplicationQueue\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_webapp_RequestsInApplicationQueue", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Web/sites\".\"RequestsInApplicationQueue\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.ContainerService/managedClusters\".\"node_cpu_usage_percentage\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_AKS_node_cpu_usage_percentage", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.ContainerService/managedClusters\".\"node_cpu_usage_percentage\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.ContainerService/managedClusters\".\"node_memory_working_set_percentage\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_AKS_node_memory_working_set_percentage", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.ContainerService/managedClusters\".\"node_memory_working_set_percentage\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.ContainerService/managedClusters\".\"node_disk_usage_percentage\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_AKS_node_disk_usage_percentage", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.ContainerService/managedClusters\".\"node_disk_usage_percentage\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.ContainerService/managedClusters\".\"cluster_autoscaler_unschedulable_pods_count\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_AKS_cluster_autoscaler_unsched_pods_count", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.ContainerService/managedClusters\".\"cluster_autoscaler_unschedulable_pods_count\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.ContainerRegistry/registries\".\"StorageUsed\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_ACR_StorageUsed", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.ContainerRegistry/registries\".\"StorageUsed\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Cache/Redis\".\"percentProcessorTime\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_Redis_percentProcessorTime", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Cache/Redis\".\"percentProcessorTime\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Cache/Redis\".\"usedmemorypercentage\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_Redis_usedmemorypercentage", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Cache/Redis\".\"usedmemorypercentage\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Cache/Redis\".\"cacheLatency\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_Redis_cacheLatency", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Cache/Redis\".\"cacheLatency\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Cache/Redis\".\"errors\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_Redis_errors", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Cache/Redis\".\"errors\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.ServiceBus/namespaces\".\"UserErrors\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_ServiceBus_UserErrors", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.ServiceBus/namespaces\".\"UserErrors\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.ServiceBus/namespaces\".\"ServerErrors\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_ServiceBus_ServerErrors", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.ServiceBus/namespaces\".\"ServerErrors\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.ServiceBus/namespaces\".\"ThrottledRequests\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_ServiceBus_ThrottledRequests", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.ServiceBus/namespaces\".\"ThrottledRequests\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Azure / Infrastructure / Apps Monitoring", + "version": 47 +} diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraCompute.json b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraCompute.json new file mode 100644 index 00000000000..2978924c50c --- /dev/null +++ b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraCompute.json @@ -0,0 +1,2430 @@ +{ + "__inputs": [], + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "10.4.1" + }, + { + "type": "datasource", + "id": "grafana-azure-monitor-datasource", + "name": "Azure Monitor", + "version": "1.0.0" + }, + { + "type": "datasource", + "id": "marcusolsson-json-datasource", + "name": "JSON API", + "version": "1.3.12" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "text", + "name": "Text", + "version": "" + } + ], + "description": "This dashboard displays traffic-light indicators to show the health of your Azure infrastructure resources based on key performance indicators and thresholds defined for each infrastructure resource type. The KPIs and thresholds come from Azure Monitor Baseline Alerts (https://azure.github.io/azure-monitor-baseline-alerts/). \n\nPrerequisites:\nThe queries used in the dashboard require that you have resource metrics being sent to a Log Analytics Workspace. The InsightsMetrics table is required. Enable VM Insights by following the instructions provided here: https://learn.microsoft.com/en-us/azure/azure-monitor/vm/vminsights-enable-overview\n\nInstallation and Configuration:\nThis dashboard requires the JSON API Grafana plugin and a configured data source for Azure Monitor Baseline Alerts. Follow these steps to install and configure the JSON API plugin:\n\n1. Navigate to Connections->Connect Data.\n2. Search for “JSON API” and then select the JSON API data source.\n3. Install the plugin if it is not already installed.\n4. On the JSON API plugin page, click “Create a JSON API data source\".\n5. On the create JSON API page, give it the name “AMBA” and for the URL, give it the value: https://raw.githubusercontent.com/Azure/azure-monitor-baseline-alerts/main/visualizations/grafana/infra-monitoring-amba-thresholds.json \n6. Click the Save & test button. You should see a green checkbox and Success message if configured correctly.\n\nThis is one of a collection of dashboards linked together via dashboard links and the \"azure-infra-monitor\" tag. Other dashboards in the collection include:\nAzure / Infrastructure / Network Monitoring\nAzure / Infrastructure / Storage and Key Vaults Monitoring\nAzure / Infrastructure / Apps Monitoring\nAzure / Infrastructure / Data Monitoring\n\nThe other dashboards in this collection can be found in the Azure Monitor Team Grafana library here: https://grafana.com/orgs/azuremonitorteam/dashboards. Once imported, you will be able to access these dashboards using the Azure Infra Monitoring Dashboards tab. ", + "editable": true, + "id": null, + "links": [ + { + "asDropdown": true, + "icon": "external link", + "includeVars": false, + "keepTime": false, + "tags": ["azure-infra-monitor"], + "targetBlank": false, + "title": "Azure Infra Monitoring Dashboards", + "tooltip": "", + "type": "dashboards", + "url": "" + } + ], + "liveNow": true, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "

Azure Infrastructure Monitoring Dashboard (Compute)

\r\n\r\nSelect a data source, workspace scope, workspace(s) and resource scope. \r\nExamine the key performance indicators for your resources by expanding the row for a resource type. \r\nRecommended KPIs and thresholds used in this dashboard come from [Azure Monitor Baseline Alerts](https://azure.github.io/azure-monitor-baseline-alerts/). \r\nSee dashboard description for more details on linking to other Infrastructure Monitor dashboards.\r\n", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 90, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "
\r\n\r\nKey:\r\n- Green\\Healthy  - None of the resources of that resource type have KPIs that are exceeding thresholds.\r\n- Yellow\\Warning - At least one resource of that resource type has one KPI exceeding a threshold.\r\n- Red\\Unhealthy  - At least one resource of that resource type has two or more KPIs exceeding a threshold.", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 4 + }, + "type": "range" + } + ], + "max": 4, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 5 + }, + "id": 2, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "InsightsMetrics\r\n| where _ResourceId has '/microsoft.compute/virtualmachines/'\r\n| where _ResourceId has_any ($subsRESScope)\r\n| where Origin == \"vm.azm.ms\"\r\n| where Namespace in (\"Processor\", \"Memory\", \"Network\") and Name in (\"UtilizationPercentage\", \"AvailableMB\", \"ReadBytesPerSecond\", \"WriteBytesPerSecond\")\r\n| extend Resource = toupper(tostring(split(_ResourceId,'/')[8]))\r\n| summarize\r\n kpi1 = avgif((toreal(Val) / (toreal(todynamic(Tags)[\"vm.azm.ms/memorySizeMB\"]))) * 100.0, Name == \"AvailableMB\"),\r\n kpi2 = avgif(Val, Name == \"UtilizationPercentage\"),\r\n kpi3 = avgif(Val, Name == \"ReadBytesPerSecond\"),\r\n kpi4 = avgif(Val, Name == \"WriteBytesPerSecond\") by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4) \r\n|extend health1 = iff(kpi1<$amba_vm_AvailableMB, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_vm_UtilizationPercentage, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_vm_ReadBytesPerSecond, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_vm_WriteBytesPerSecond, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Virtual Machines", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 4 + }, + "type": "range" + } + ], + "max": 4, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 5 + }, + "id": 26, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "InsightsMetrics\r\n| where _ResourceId has '/microsoft.compute/virtualmachinescalesets/'\r\n| where _ResourceId has_any ($subsRESScope)\r\n| where Origin == \"vm.azm.ms\"\r\n| where Namespace in (\"Processor\", \"Memory\", \"Network\") and Name in (\"UtilizationPercentage\", \"AvailableMB\", \"ReadBytesPerSecond\", \"WriteBytesPerSecond\")\r\n| extend Resource = strcat(toupper(tostring(split(_ResourceId,'/')[8])), \"-\", toupper(tostring(split(_ResourceId,'/')[10])))\r\n| summarize\r\n kpi1 = avgif((toreal(Val) / (toreal(todynamic(Tags)[\"vm.azm.ms/memorySizeMB\"]))) * 100.0, Name == \"AvailableMB\"),\r\n kpi2 = avgif(Val, Name == \"UtilizationPercentage\"),\r\n kpi3 = avgif(Val, Name == \"ReadBytesPerSecond\"),\r\n kpi4 = avgif(Val, Name == \"WriteBytesPerSecond\") by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4) \r\n|extend health1 = iff(kpi1<$amba_vmss_AvailableMB, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_vmss_UtilizationPercentage, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_vmss_ReadBytesPerSecond, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_vmss_WriteBytesPerSecond, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Virtual Machine Scale Sets", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 4 + }, + "type": "range" + } + ], + "max": 4, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 5 + }, + "id": 94, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "InsightsMetrics\r\n| where _ResourceId has '/microsoft.compute/virtualmachines/'\r\n| where _ResourceId has_any ($subsRESScope)\r\n| where Origin == \"vm.azm.ms\"\r\n| where Namespace == \"LogicalDisk\"\r\n| extend Resource = toupper(tostring(split(_ResourceId,'/')[8]))\r\n| extend Disk=tostring(todynamic(Tags)[\"vm.azm.ms/mountId\"])\r\n| summarize\r\n kpi1 = avgif(Val, Name == \"FreeSpacePercentage\"),\r\n kpi2 = avgif(Val, Name == \"ReadLatencyMs\"),\r\n kpi3 = avgif(Val, Name == \"WriteLatencyMs\") by Computer, _ResourceId, Disk\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend health1 = iff(kpi1<$amba_disk_FreeSpacePercentage, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_disk_ReadLatencyMs, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_disk_WriteLatencyMs, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Disks", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Computer": true, + "Disk": true, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 25, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 22, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 9 + }, + "id": 6, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 2, + "refId": "A" + } + ], + "title": "Virtual Machine Available Memory Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 9 + }, + "id": 92, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 2, + "refId": "A" + } + ], + "title": "Virtual Machine Processor Utilization Percentage ", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "TimeGenerated": true, + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10000000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 9 + }, + "id": 7, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 2, + "refId": "A" + } + ], + "title": "Virtual Machine Network Read (bytes/sec)", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10000000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 9 + }, + "id": 8, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 2, + "refId": "A" + } + ], + "title": "Virtual Machine Network Write (bytes/sec)", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Virtual Machines", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 21, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 10 + }, + "id": 16, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 26, + "refId": "A" + } + ], + "title": "VMSS Available Memory Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 10 + }, + "id": 93, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 26, + "refId": "A" + } + ], + "title": "VMSS Processor Utilization Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10000000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 10 + }, + "id": 17, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 26, + "refId": "A" + } + ], + "title": "VMSS Network Read (bytes/sec)", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10000000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 10 + }, + "id": 18, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 26, + "refId": "A" + } + ], + "title": "VMSS Network Write (bytes/sec)", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Virtual Machine Scale Set Uniform Instances", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 11 + }, + "id": 95, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 11 + }, + "id": 96, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 94, + "refId": "A" + } + ], + "title": "Disk Free Space", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Computer": false, + "Disk": false, + "TimeGenerated": true, + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + }, + { + "fieldName": "Computer", + "handlerKey": "field.name" + }, + { + "fieldName": "Disk", + "handlerKey": "field.label" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 11 + }, + "id": 97, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 94, + "refId": "A" + } + ], + "title": "Disk Read Latency (ms)", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Computer": false, + "Disk": false, + "TimeGenerated": true, + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Computer", + "handlerKey": "field.name" + }, + { + "fieldName": "Disk", + "handlerKey": "field.label" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 11 + }, + "id": 98, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 94, + "refId": "A" + } + ], + "title": "Disk Write Latency (ms)", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Computer": false, + "Disk": false, + "TimeGenerated": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Computer", + "handlerKey": "field.name" + }, + { + "fieldName": "Disk", + "handlerKey": "field.label" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Disks", + "type": "row" + } + ], + "refresh": "", + "schemaVersion": 39, + "tags": ["azure-infra-monitor"], + "templating": { + "list": [ + { + "current": {}, + "hide": 0, + "includeAll": false, + "label": "Datasource", + "multi": false, + "name": "ds", + "options": [], + "query": "grafana-azure-monitor-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "hide": 2, + "includeAll": false, + "label": "Azure Monitor Baseline Alerts", + "multi": false, + "name": "amba", + "options": [], + "query": "marcusolsson-json-datasource", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter Log Analytics Workspaces variable.", + "hide": 0, + "includeAll": false, + "label": "Workspace Scope", + "multi": true, + "name": "subsWSScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Log Analytics Workspaces in scope.", + "hide": 0, + "includeAll": false, + "label": "Workspaces", + "multi": true, + "name": "laws", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "azureResourceGraph": { + "query": "resources\r\n| where type == \"microsoft.operationalinsights/workspaces\"\r\n| project value=['id'], text=['name']" + }, + "queryType": "Azure Resource Graph", + "refId": "A", + "subscriptions": ["$subsWSScope"] + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter resources returned from queries.", + "hide": 0, + "includeAll": false, + "label": "Resource Scope", + "multi": true, + "name": "subsRESScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + }, + "description": "Color used when KPIs are below thresholds.", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "healthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + } + ], + "query": "\"rgb(45\\,161\\,55)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + }, + "description": "Color used when one KPI exceeds threshold", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "warning_color", + "options": [ + { + "selected": true, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + } + ], + "query": "\"rgb(222\\,210\\,38)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + }, + "description": "Color used when KPIs exceed thresholds", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "unhealthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + } + ], + "query": "\"rgb(255\\,31\\,46)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachines\".\"AvailableMB\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vm_AvailableMB", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachines\".\"AvailableMB\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachines\".\"UtilizationPercentage\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vm_UtilizationPercentage", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachines\".\"UtilizationPercentage\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachines\".\"ReadBytesPerSecond\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vm_ReadBytesPerSecond", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachines\".\"ReadBytesPerSecond\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachines\".\"WriteBytesPerSecond\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vm_WriteBytesPerSecond", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachines\".\"WriteBytesPerSecond\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachineScaleSets\".\"AvailableMB\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vmss_AvailableMB", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachineScaleSets\".\"AvailableMB\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachineScaleSets\".\"UtilizationPercentage\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vmss_UtilizationPercentage", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachineScaleSets\".\"UtilizationPercentage\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachineScaleSets\".\"ReadBytesPerSecond\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vmss_ReadBytesPerSecond", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachineScaleSets\".\"ReadBytesPerSecond\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachineScaleSets\".\"WriteBytesPerSecond\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vmss_WriteBytesPerSecond", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachineScaleSets\".\"WriteBytesPerSecond\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachines\".\"FreeSpacePercentage\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_disk_FreeSpacePercentage", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachines\".\"FreeSpacePercentage\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachines\".\"ReadLatencyMs\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_disk_ReadLatencyMs", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachines\".\"ReadLatencyMs\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Compute/virtualMachines\".\"WriteLatencyMs\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_disk_WriteLatencyMs", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Compute/virtualMachines\".\"WriteLatencyMs\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Azure / Infrastructure / Compute Monitoring", + "version": 40 +} diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraData.json b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraData.json new file mode 100644 index 00000000000..7c2b96ee2ab --- /dev/null +++ b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraData.json @@ -0,0 +1,3937 @@ +{ + "__inputs": [], + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "10.4.1" + }, + { + "type": "datasource", + "id": "grafana-azure-monitor-datasource", + "name": "Azure Monitor", + "version": "1.0.0" + }, + { + "type": "datasource", + "id": "marcusolsson-json-datasource", + "name": "JSON API", + "version": "1.3.12" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "text", + "name": "Text", + "version": "" + } + ], + "description": "This dashboard displays traffic-light indicators to show the health of your Azure infrastructure resources based on key performance indicators and thresholds defined for each infrastructure resource type. The KPIs and thresholds come from Azure Monitor Baseline Alerts (https://azure.github.io/azure-monitor-baseline-alerts/). \n\nPrerequisites:\nThe queries used in the dashboard require that you have resource metrics being sent to a Log Analytics Workspace. The AzureMetrics and AzureDiagnostics tables are required. This can be achieved through a resource’s diagnostic settings. For detailed instructions, refer to Azure Monitor Essentials: Diagnostic Settings: https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings#metrics\n\nInstallation and Configuration:\nThis dashboard requires the JSON API Grafana plugin and a configured data source for Azure Monitor Baseline Alerts. Follow these steps to install and configure the JSON API plugin:\n\n1. Navigate to Connections->Connect Data.\n2. Search for “JSON API” and then select the JSON API data source.\n3. Install the plugin if it is not already installed.\n4. On the JSON API plugin page, click “Create a JSON API data source\".\n5. On the create JSON API page, give it the name “AMBA” and for the URL, give it the value: https://raw.githubusercontent.com/Azure/azure-monitor-baseline-alerts/main/visualizations/grafana/infra-monitoring-amba-thresholds.json \n6. Click the Save & test button. You should see a green checkbox and Success message if configured correctly.\n\nThis is one of a collection of dashboards linked together via dashboard links and the \"azure-infra-monitor\" tag. Other dashboards in the collection include:\nAzure / Infrastructure / Network Monitoring\nAzure / Infrastructure / Storage and Key Vaults Monitoring\nAzure / Infrastructure / Compute Monitoring\nAzure / Infrastructure / Apps Monitoring\n\nThe other dashboards in this collection can be found in the Azure Monitor Team Grafana library here: https://grafana.com/orgs/azuremonitorteam/dashboards. Once imported, you will be able to access these dashboards using the Azure Infra Monitoring Dashboards tab. ", + "editable": true, + "id": null, + "links": [ + { + "asDropdown": true, + "icon": "external link", + "includeVars": false, + "keepTime": false, + "tags": ["azure-infra-monitor"], + "targetBlank": false, + "title": "Azure Infra Monitoring Dashboards", + "tooltip": "", + "type": "dashboards", + "url": "" + } + ], + "liveNow": true, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "

Azure Infrastructure Monitoring Dashboard (Data)

\r\n\r\nSelect a data source, workspace scope, workspace(s) and resource scope. \r\nExamine the key performance indicators for your resources by expanding the row for a resource type. \r\nRecommended KPIs and thresholds used in this dashboard come from [Azure Monitor Baseline Alerts](https://azure.github.io/azure-monitor-baseline-alerts/). \r\nSee dashboard description for more details on linking to other Infrastructure Monitor dashboards.\r\n", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 90, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "
\r\n\r\nKey:\r\n- Green\\Healthy  - None of the resources of that resource type have KPIs that are exceeding thresholds.\r\n- Yellow\\Warning - At least one resource of that resource type has one KPI exceeding a threshold.\r\n- Red\\Unhealthy  - At least one resource of that resource type has two or more KPIs exceeding a threshold.", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 5 + }, + "id": 107, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.documentdb/databaseaccounts/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('ServerSideLatency', 'ReplicationLatency', 'ServiceAvailability', 'OfflineRegion' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'ServerSideLatency'),\r\n kpi2 = avgif(Average, MetricName == 'ReplicationLatency'),\r\n kpi3 = avgif(Average, MetricName == 'ServiceAvailability'),\r\n kpi4 = avgif(Count, MetricName == 'OfflineRegion') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1>$amba_cosmosDB_ServerSideLatency, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_cosmosDB_ReplicationLatency, 1, 0)\r\n|extend health3 = iff(kpi3<$amba_cosmosDB_ServiceAvailability, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_cosmosDB_OfflineRegion, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "CosmosDB", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 5 + }, + "id": 104, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.sql/servers/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('cpu_percent', 'sqlserver_process_memory_percent', 'storage_percent', 'physical_data_read_percent' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'cpu_percent'),\r\n kpi2 = avgif(Average, MetricName == 'sqlserver_process_memory_percent'),\r\n kpi3 = avgif(Average, MetricName == 'storage_percent'),\r\n kpi4 = avgif(Average, MetricName == 'physical_data_read_percent') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1>$amba_SQL_cpu_percent, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_SQL_sqlserver_process_memory_percent, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_SQL_storage_percent, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_SQL_physical_data_read_percent, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "SQL", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 5 + }, + "id": 105, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.dbformysql/flexibleservers/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('cpu_percent', 'memory_percent', 'storage_percent', 'replication_lag' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'cpu_percent'),\r\n kpi2 = avgif(Average, MetricName == 'memory_percent'),\r\n kpi3 = avgif(Average, MetricName == 'storage_percent'),\r\n kpi4 = avgif(Maximum, MetricName == 'replication_lag') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1>$amba_MySQL_cpu_percent, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_MySQL_memory_percent, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_MySQL_storage_percent, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_MySQL_replication_lag, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "MySQL", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 9, + "y": 5 + }, + "id": 106, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.dbforpostgresql/flexibleservers/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('cpu_percent', 'memory_percent', 'storage_percent', 'is_db_alive' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'cpu_percent'),\r\n kpi2 = avgif(Average, MetricName == 'memory_percent'),\r\n kpi3 = avgif(Average, MetricName == 'storage_percent'),\r\n kpi4 = avgif(Maximum, MetricName == 'is_db_alive') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1>$amba_PostgreSQL_cpu_percent, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_PostgreSQL_memory_percent, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_PostgreSQL_storage_percent, 1, 0)\r\n|extend health4 = iff(kpi4<$amba_PostgreSQL_is_db_alive, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "PostgreSQL", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 12, + "y": 5 + }, + "id": 98, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureDiagnostics\r\n| where _ResourceId has '/microsoft.eventhub/namespaces/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where Category == \"DiagnosticErrorLogs\"\r\n| summarize\r\n kpi1 = countif(OperationResult_s =~ \"ClientError\"), \r\n kpi2 = countif(OperationResult_s =~ \"ServerBusy\"),\r\n kpi3 = countif(OperationResult_s =~ \"QuotaExceeded\") by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(toreal(kpi1)), 0.0, toreal(kpi1))\r\n|extend kpi2 = iff(isnan(toreal(kpi2)), 0.0, toreal(kpi2)) \r\n|extend kpi3 = iff(isnan(toreal(kpi3)), 0.0, toreal(kpi3))\r\n|extend health1 = iff(kpi1>$amba_eventhub_UserErrors, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_eventhub_ServerErrors, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_eventhub_ThrottledRequests, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Event Hubs", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 25, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 111, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 125, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 10 + }, + "id": 116, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 107, + "refId": "A" + } + ], + "title": "CosmosDB Server Side Latency", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 6000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 10 + }, + "id": 117, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 107, + "refId": "A" + } + ], + "title": "CosmosDB Replication Latency", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 10 + }, + "id": 118, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 107, + "refId": "A" + } + ], + "title": "CosmosDB Service Availability", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 10 + }, + "id": 119, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 107, + "refId": "A" + } + ], + "title": "CosmosDB Offline Regions", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": false + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "CosmosDB", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 108, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 11 + }, + "id": 112, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 104, + "refId": "A" + } + ], + "title": "SQL CPU Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 11 + }, + "id": 113, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 104, + "refId": "A" + } + ], + "title": "SQL Memory Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 11 + }, + "id": 114, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 104, + "refId": "A" + } + ], + "title": "SQL Storage Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 11 + }, + "id": 115, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 104, + "refId": "A" + } + ], + "title": "SQL Physical Data Read Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": false + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "SQL", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 11 + }, + "id": 109, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 12 + }, + "id": 120, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 105, + "refId": "A" + } + ], + "title": "MySQL CPU Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 12 + }, + "id": 121, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 105, + "refId": "A" + } + ], + "title": "MySQL Memory Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 12 + }, + "id": 122, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 105, + "refId": "A" + } + ], + "title": "MySQL Storage Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 7000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 12 + }, + "id": 123, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 105, + "refId": "A" + } + ], + "title": "MySQL Replication Lag", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": false + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "MySQL", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 110, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 13 + }, + "id": 124, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 106, + "refId": "A" + } + ], + "title": "PostgreSQL CPU Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 13 + }, + "id": 125, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 106, + "refId": "A" + } + ], + "title": "PostgreSQL Memory Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 13 + }, + "id": 126, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 106, + "refId": "A" + } + ], + "title": "PostgreSQL Storage Percentage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 1, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 13 + }, + "id": 127, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 106, + "refId": "A" + } + ], + "title": "PostgreSQL Is DB Alive", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": false + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "PostgreSQL", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 13 + }, + "id": 99, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 14 + }, + "id": 100, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 98, + "refId": "A" + } + ], + "title": "Event Hub User Errors", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": false, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 14 + }, + "id": 101, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 98, + "refId": "A" + } + ], + "title": "Event Hub Server Errors", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 10, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 14 + }, + "id": 102, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 98, + "refId": "A" + } + ], + "title": "Event Hub Quota Exceeded Errors", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Event Hubs", + "type": "row" + } + ], + "refresh": "", + "schemaVersion": 39, + "tags": ["azure-infra-monitor"], + "templating": { + "list": [ + { + "current": {}, + "hide": 0, + "includeAll": false, + "label": "Datasource", + "multi": false, + "name": "ds", + "options": [], + "query": "grafana-azure-monitor-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "hide": 2, + "includeAll": false, + "label": "Azure Monitor Baseline Alerts", + "multi": false, + "name": "amba", + "options": [], + "query": "marcusolsson-json-datasource", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter Log Analytics Workspaces variable.", + "hide": 0, + "includeAll": false, + "label": "Workspace Scope", + "multi": true, + "name": "subsWSScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Log Analytics Workspaces in scope.", + "hide": 0, + "includeAll": false, + "label": "Workspaces", + "multi": true, + "name": "laws", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "azureResourceGraph": { + "query": "resources\r\n| where type == \"microsoft.operationalinsights/workspaces\"\r\n| project value=['id'], text=['name']" + }, + "queryType": "Azure Resource Graph", + "refId": "A", + "subscriptions": ["$subsWSScope"] + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter resources returned from queries.", + "hide": 0, + "includeAll": false, + "label": "Resource Scope", + "multi": true, + "name": "subsRESScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + }, + "description": "Color used when KPIs are below thresholds.", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "healthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + } + ], + "query": "\"rgb(45\\,161\\,55)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + }, + "description": "Color used when one KPI exceeds threshold", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "warning_color", + "options": [ + { + "selected": true, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + } + ], + "query": "\"rgb(222\\,210\\,38)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + }, + "description": "Color used when KPIs exceed thresholds", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "unhealthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + } + ], + "query": "\"rgb(255\\,31\\,46)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.EventHub/namespaces\".\"UserErrors\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_eventhub_UserErrors", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.EventHub/namespaces\".\"UserErrors\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.EventHub/namespaces\".\"ServerErrors\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_eventhub_ServerErrors", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.EventHub/namespaces\".\"ServerErrors\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.EventHub/namespaces\".\"ThrottledRequests\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_eventhub_ThrottledRequests", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.EventHub/namespaces\".\"ThrottledRequests\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DocumentDB/databaseAccounts\".\"ServerSideLatency\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_cosmosDB_ServerSideLatency", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DocumentDB/databaseAccounts\".\"ServerSideLatency\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DocumentDB/databaseAccounts\".\"ReplicationLatency\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_cosmosDB_ReplicationLatency", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DocumentDB/databaseAccounts\".\"ReplicationLatency\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DocumentDB/databaseAccounts\".\"ServiceAvailability\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_cosmosDB_ServiceAvailability", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DocumentDB/databaseAccounts\".\"ServiceAvailability\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DocumentDB/databaseAccounts\".\"OfflineRegion\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_cosmosDB_OfflineRegion", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DocumentDB/databaseAccounts\".\"OfflineRegion\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Sql/servers\".\"cpu_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_SQL_cpu_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Sql/servers\".\"cpu_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Sql/servers\".\"sqlserver_process_memory_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_SQL_sqlserver_process_memory_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Sql/servers\".\"sqlserver_process_memory_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Sql/servers\".\"storage_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_SQL_storage_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Sql/servers\".\"storage_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Sql/servers\".\"physical_data_read_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_SQL_physical_data_read_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Sql/servers\".\"physical_data_read_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DBforMySQL/flexibleServers\".\"cpu_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_MySQL_cpu_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DBforMySQL/flexibleServers\".\"cpu_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DBforMySQL/flexibleServers\".\"memory_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_MySQL_memory_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DBforMySQL/flexibleServers\".\"memory_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DBforMySQL/flexibleServers\".\"storage_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_MySQL_storage_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DBforMySQL/flexibleServers\".\"storage_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DBforMySQL/flexibleServers\".\"replication_lag\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_MySQL_replication_lag", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DBforMySQL/flexibleServers\".\"replication_lag\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DBforPostgreSQL/flexibleServers\".\"cpu_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_PostgreSQL_cpu_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DBforPostgreSQL/flexibleServers\".\"cpu_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DBforPostgreSQL/flexibleServers\".\"memory_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_PostgreSQL_memory_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DBforPostgreSQL/flexibleServers\".\"memory_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DBforPostgreSQL/flexibleServers\".\"storage_percent\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_PostgreSQL_storage_percent", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DBforPostgreSQL/flexibleServers\".\"storage_percent\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.DBforPostgreSQL/flexibleServers\".\"is_db_alive\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_PostgreSQL_is_db_alive", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.DBforPostgreSQL/flexibleServers\".\"is_db_alive\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Azure / Infrastructure / Data Monitoring", + "version": 57 +} diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/infrastructureMonitoring.json b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraNetwork.json similarity index 60% rename from public/app/plugins/datasource/azuremonitor/dashboards/infrastructureMonitoring.json rename to public/app/plugins/datasource/azuremonitor/dashboards/azureInfraNetwork.json index 25c538cf9ad..a237b91e459 100644 --- a/public/app/plugins/datasource/azuremonitor/dashboards/infrastructureMonitoring.json +++ b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraNetwork.json @@ -12,7 +12,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.5.13" + "version": "10.4.1" }, { "type": "datasource", @@ -20,6 +20,12 @@ "name": "Azure Monitor", "version": "1.0.0" }, + { + "type": "datasource", + "id": "marcusolsson-json-datasource", + "name": "JSON API", + "version": "1.3.12" + }, { "type": "panel", "id": "stat", @@ -33,16 +39,33 @@ "version": "" } ], - "description": "This dashboard displays traffic-light indicators to show the health of your Azure infrastructure resources based on key performance indicators and thresholds defined for each infrastructure resource type.", + "description": "This dashboard displays traffic-light indicators to show the health of your Azure infrastructure resources based on key performance indicators and thresholds defined for each infrastructure resource type. The KPIs and thresholds come from Azure Monitor Baseline Alerts (https://azure.github.io/azure-monitor-baseline-alerts/). \n\nPrerequisites:\nThe queries used in the dashboard require that you have resource metrics being sent to a Log Analytics Workspace. The AzureMetrics table is required. This can be achieved through a resource’s diagnostic settings. For detailed instructions, refer to Azure Monitor Essentials: Diagnostic Settings: https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings#metrics\n\nInstallation and Configuration:\nThis dashboard requires the JSON API Grafana plugin and a configured data source for Azure Monitor Baseline Alerts. Follow these steps to install and configure the JSON API plugin:\n\n1. Navigate to Connections->Connect Data.\n2. Search for “JSON API” and then select the JSON API data source.\n3. Install the plugin if it is not already installed.\n4. On the JSON API plugin page, click “Create a JSON API data source\".\n5. On the create JSON API page, give it the name “AMBA” and for the URL, give it the value: https://raw.githubusercontent.com/Azure/azure-monitor-baseline-alerts/main/visualizations/grafana/infra-monitoring-amba-thresholds.json \n6. Click the Save & test button. You should see a green checkbox and Success message if configured correctly.\n\nThis is one of a collection of dashboards linked together via dashboard links and the \"azure-infra-monitor\" tag. Other dashboards in the collection include:\nAzure / Infrastructure / Apps Monitoring\nAzure / Infrastructure / Storage and Key Vaults Monitoring\nAzure / Infrastructure / Compute Monitoring\nAzure / Infrastructure / Data Monitoring\n\nThe other dashboards in this collection can be found in the Azure Monitor Team Grafana library here: https://grafana.com/orgs/azuremonitorteam/dashboards. Once imported, you will be able to access these dashboards using the Azure Infra Monitoring Dashboards tab. ", "editable": true, "id": null, - "links": [], + "links": [ + { + "asDropdown": true, + "icon": "external link", + "includeVars": false, + "keepTime": false, + "tags": ["azure-infra-monitor"], + "targetBlank": false, + "title": "Azure Infra Monitoring Dashboards", + "tooltip": "", + "type": "dashboards", + "url": "" + } + ], "liveNow": true, "panels": [ { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "gridPos": { - "h": 3, - "w": 11, + "h": 5, + "w": 12, "x": 0, "y": 0 }, @@ -53,17 +76,21 @@ "showLineNumbers": false, "showMiniMap": false }, - "content": "

Azure Infrastructure - Monitoring Dashboard

", + "content": "

Azure Infrastructure Monitoring Dashboard (Networking)

\r\n\r\nSelect a data source, workspace scope, workspace(s) and resource scope. \r\nExamine the key performance indicators for your resources by expanding the row for a resource type. \r\nRecommended KPIs and thresholds used in this dashboard come from [Azure Monitor Baseline Alerts](https://azure.github.io/azure-monitor-baseline-alerts/). \r\nSee dashboard description for more details on linking to other Infrastructure Monitor dashboards.\r\n", "mode": "markdown" }, "transparent": true, "type": "text" }, { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "gridPos": { - "h": 3, - "w": 13, - "x": 11, + "h": 5, + "w": 12, + "x": 12, "y": 0 }, "id": 90, @@ -73,269 +100,12 @@ "showLineNumbers": false, "showMiniMap": false }, - "content": "#### Welcome to the Azure Infrastructure Monitoring Dashboard! Select a data source and subscription to see the current status of your infrastructure resources. Examine the key performance indicators for your resources by expanding the row for a resource type.", + "content": "
\r\n\r\nKey:\r\n- Green\\Healthy  - None of the resources of that resource type have KPIs that are exceeding thresholds.\r\n- Yellow\\Warning - At least one resource of that resource type has one KPI exceeding a threshold.\r\n- Red\\Unhealthy  - At least one resource of that resource type has two or more KPIs exceeding a threshold.", "mode": "markdown" }, "transparent": true, "type": "text" }, - { - "datasource": { - "type": "grafana-azure-monitor-datasource", - "uid": "${ds}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "links": [], - "mappings": [ - { - "options": { - "0": { - "index": 0, - "text": "Healthy" - }, - "1": { - "index": 1, - "text": "Warning" - } - }, - "type": "value" - }, - { - "options": { - "from": 2, - "result": { - "index": 2, - "text": "Unhealthy" - }, - "to": 4 - }, - "type": "range" - } - ], - "max": 4, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080", - "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 0, - "y": 3 - }, - "id": 2, - "links": [], - "options": { - "colorMode": "background_solid", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": ["max"], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "targets": [ - { - "azureLogAnalytics": { - "query": "let insight_table = InsightsMetrics\r\n| where _ResourceId has '/microsoft.compute/virtualmachines/'\r\n| where Origin == \"vm.azm.ms\"\r\n| where Namespace == \"Processor\" and Name == \"UtilizationPercentage\"\r\n| extend Resource = toupper(tostring(split(_ResourceId,'/')[8]));\r\nAzureMetrics\r\n| where _ResourceId has '/microsoft.compute/virtualmachines/'\r\n| where MetricName in('Percentage CPU', 'Available Memory Bytes', 'VmAvailabilityMetric')\r\n| union kind=outer insight_table\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'Percentage CPU'),\r\n kpi2 = percentile(Val, 95),\r\n kpi3 = avgif(Average/1000000000, MetricName == 'Available Memory Bytes'),\r\n kpi4 = avgif(Average*100, MetricName == 'VmAvailabilityMetric') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4) \r\n|extend health1 = iff(kpi1>80, 1, 0)\r\n|extend health2 = iff(kpi2>85, 1, 0)\r\n|extend health3 = iff(kpi3<1, 1, 0)\r\n|extend health4 = iff(kpi4<90, 1, 0)\r\n|extend health = health1 + health2 + health3 + health4", - "resources": ["/subscriptions/$sub"] - }, - "datasource": { - "type": "grafana-azure-monitor-datasource", - "uid": "${ds}" - }, - "queryType": "Azure Log Analytics", - "refId": "A", - "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] - } - ], - "title": "Virtual Machines", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "A": false, - "Resource": true, - "_ResourceId": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": true, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": { - "A": " ", - "health": " " - } - } - } - ], - "transparent": true, - "type": "stat" - }, - { - "datasource": { - "type": "grafana-azure-monitor-datasource", - "uid": "${ds}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "links": [], - "mappings": [ - { - "options": { - "0": { - "index": 0, - "text": "Healthy" - }, - "1": { - "index": 1, - "text": "Warning" - } - }, - "type": "value" - }, - { - "options": { - "from": 2, - "result": { - "index": 2, - "text": "Unhealthy" - }, - "to": 4 - }, - "type": "range" - } - ], - "max": 4, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080", - "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 3, - "y": 3 - }, - "id": 27, - "links": [], - "options": { - "colorMode": "background_solid", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": ["max"], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "targets": [ - { - "azureLogAnalytics": { - "query": "let stroage_table = StorageBlobLogs \r\n | where StatusText != 'Success'\r\n | extend ErrorCounter = 1\r\n | extend ResourceName = AccountName\r\n | extend _ResourceId = trim('/blobservices/default', _ResourceId)\r\n | extend _ResourceId = trim('/queueservices/default', _ResourceId)\r\n | extend _ResourceId = trim('/tableservices/default', _ResourceId)\r\n | extend _ResourceId = trim('/fileservices/default', _ResourceId)\r\n | project TimeGenerated, ResourceName, StatusText, ErrorCounter, _ResourceId;\r\nAzureMetrics\r\n| where _ResourceId has '/microsoft.storage/'\r\n| where MetricName in('SuccessE2ELatency', 'UsedCapacity', 'Availability')\r\n| extend ResourceName = tostring(split(_ResourceId,'/')[8])\r\n| extend _ResourceId = trim('/blobservices/default', _ResourceId)\r\n| extend _ResourceId = trim('/queueservices/default', _ResourceId)\r\n| extend _ResourceId = trim('/tableservices/default', _ResourceId)\r\n| extend _ResourceId = trim('/fileservices/default', _ResourceId)\r\n| project ResourceName, _ResourceId, MetricName, Average, Total\r\n| union kind=outer stroage_table\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'SuccessE2ELatency'),\r\n kpi2 = sumif(ErrorCounter, isnotnull(ErrorCounter)),\r\n kpi3 = avgif(Average, MetricName == 'UsedCapacity'),\r\n kpi4 = avgif(Average, MetricName == 'Availability') by _ResourceId, ResourceName\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(toreal(kpi2)), 0.0, toreal(kpi2)) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4) \r\n|extend health1 = iff(kpi1>5000, 1, 0)\r\n|extend health2 = iff(kpi2>500, 1, 0)\r\n|extend health3 = iff(kpi3>4000000000000000, 1, 0)\r\n|extend health4 = iff(kpi4<90, 1, 0)\r\n|extend health = health1 + health2 + health3 + health4", - "resources": ["/subscriptions/$sub"] - }, - "datasource": { - "type": "grafana-azure-monitor-datasource", - "uid": "${ds}" - }, - "queryType": "Azure Log Analytics", - "refId": "A", - "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] - } - ], - "title": "Storage", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "A": false, - "Resource": true, - "ResourceName": true, - "_ResourceId": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": true, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": { - "A": " ", - "health": " " - } - } - } - ], - "transparent": true, - "type": "stat" - }, { "datasource": { "type": "grafana-azure-monitor-datasource", @@ -382,18 +152,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -403,11 +161,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 6, - "y": 3 + "x": 0, + "y": 5 }, "id": 36, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -418,13 +175,22 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/loadbalancers/'\r\n| where MetricName in('UsedSnatPorts', 'DipAvailability', 'VipAvailability')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'UsedSnatPorts'),\r\n kpi2 = avgif(Average, MetricName == 'DipAvailability'),\r\n kpi3 = avgif(Average, MetricName == 'VipAvailability') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend health1 = iff(kpi1>900, 1, 0)\r\n|extend health2 = iff(kpi2<=50, 1, 0)\r\n|extend health3 = iff(kpi3<50, 1, 0)\r\n|extend health = health1 + health2 + health3", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/loadbalancers/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('UsedSnatPorts', 'DipAvailability', 'VipAvailability')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'UsedSnatPorts'),\r\n kpi2 = avgif(Average, MetricName == 'DipAvailability'),\r\n kpi3 = avgif(Average, MetricName == 'VipAvailability') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend health1 = iff(kpi1>$amba_lb_UsedSNATPorts, 1, 0)\r\n|extend health2 = iff(kpi2<$amba_lb_DipAvailability, 1, 0)\r\n|extend health3 = iff(kpi3<$amba_lb_VipAvailability, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "azureMonitor": { + "allowedTimeGrainsMs": [], + "timeGrain": "auto" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -444,6 +210,9 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, "health1": true, "health2": true, "health3": true, @@ -457,6 +226,19 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, @@ -508,18 +290,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -529,11 +299,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 9, - "y": 3 + "x": 3, + "y": 5 }, "id": 41, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -544,13 +313,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/applicationgateways/'\r\n| where MetricName in('UnhealthyHostCount', 'FailedRequests', 'HealthyHostCount')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'UnhealthyHostCount'),\r\n kpi2 = sumif(Total, MetricName == 'FailedRequests'),\r\n kpi3 = avgif(Average, MetricName == 'HealthyHostCount') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend health1 = iff(kpi1>=1, 1, 0)\r\n|extend health2 = iff(kpi2>10, 1, 0)\r\n|extend health3 = iff(kpi3<=0, 1, 0)\r\n|extend health = health1 + health2 + health3", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/applicationgateways/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('UnhealthyHostCount', 'FailedRequests', 'HealthyHostCount')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'UnhealthyHostCount'),\r\n kpi2 = sumif(Total, MetricName == 'FailedRequests'),\r\n kpi3 = avgif(Average, MetricName == 'HealthyHostCount') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend health1 = iff(kpi1>=$amba_appgw_UnhealthyHostCount, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_appgw_FailedRequests, 1, 0)\r\n|extend health3 = iff(kpi3<=$amba_appgw_HealthyHostCount, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -570,6 +344,9 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, "health1": true, "health2": true, "health3": true, @@ -583,6 +360,19 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, @@ -634,18 +424,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -655,11 +433,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 12, - "y": 3 + "x": 6, + "y": 5 }, "id": 50, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -670,13 +447,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/publicipaddresses/'\r\n| where MetricName in('VipAvailability', 'IfUnderDDoSAttack', 'PacketsInDDoS')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'VipAvailability'),\r\n kpi2 = avgif(Maximum, MetricName == 'IfUnderDDoSAttack'),\r\n kpi3 = avgif(Total, MetricName == 'PacketsInDDoS') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2)\r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1<100, 1, 0)\r\n|extend health2 = iff(kpi2>0, 1, 0)\r\n|extend health3 = iff(kpi3>=1000, 1, 0)\r\n|extend health = health1 + health2 + health3", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/publicipaddresses/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('VipAvailability', 'IfUnderDDoSAttack', 'PacketsInDDoS')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'VipAvailability'),\r\n kpi2 = avgif(Maximum, MetricName == 'IfUnderDDoSAttack'),\r\n kpi3 = avgif(Total, MetricName == 'PacketsInDDoS') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2)\r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1<$amba_ip_VipAvailability, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_ip_IfUnderDDoSAttack, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_ip_PacketsInDDoS, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -696,6 +478,9 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, "health1": true, "health2": true, "health3": true, @@ -709,6 +494,19 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, @@ -760,18 +558,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -781,11 +567,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 15, - "y": 3 + "x": 9, + "y": 5 }, "id": 54, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -796,13 +581,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/virtualnetworks/'\r\n| where MetricName in('IfUnderDDoSAttack', 'PacketsInDDoS', 'PacketsForwardedDDoS')\r\n| summarize\r\n kpi1 = avgif(Maximum, MetricName == 'IfUnderDDoSAttack'),\r\n kpi2 = avgif(Maximum, MetricName == 'PacketsInDDoS'),\r\n kpi3 = avgif(Maximum, MetricName == 'PacketsForwardedDDoS') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1>0, 1, 0)\r\n|extend health2 = iff(kpi2>=1000, 1, 0)\r\n|extend health3 = iff(kpi3>1, 1, 0)\r\n|extend health = health1 + health2 + health3", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/virtualnetworks/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('IfUnderDDoSAttack', 'PacketsInDDoS', 'PacketsForwardedDDoS')\r\n| summarize\r\n kpi1 = avgif(Maximum, MetricName == 'IfUnderDDoSAttack'),\r\n kpi2 = avgif(Maximum, MetricName == 'PacketsInDDoS'),\r\n kpi3 = avgif(Maximum, MetricName == 'PacketsForwardedDDoS') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1>$amba_vnet_IfUnderDDoSAttack, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_vnet_PacketsInDDoS, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_vnet_PacketsForwardedDDoS, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -822,6 +612,9 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, "health1": true, "health2": true, "health3": true, @@ -835,6 +628,19 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, @@ -886,18 +692,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -907,11 +701,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 18, - "y": 3 + "x": 12, + "y": 5 }, "id": 68, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -922,13 +715,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/expressroutecircuits/'\r\n| where MetricName in('BgpAvailability', 'ArpAvailability', 'QosDropBitsInPerSecond', 'QosDropBitsOutPerSecond' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'BgpAvailability'),\r\n kpi2 = avgif(Average, MetricName == 'ArpAvailability'),\r\n kpi3 = avgif(Average, MetricName == 'QosDropBitsInPerSecond'),\r\n kpi4 = avgif(Total, MetricName == 'QosDropBitsOutPerSecond') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1<90, 1, 0)\r\n|extend health2 = iff(kpi1<90, 1, 0)\r\n|extend health3 = iff(kpi2>100, 1, 0)\r\n|extend health4 = iff(kpi3>100, 1, 0)\r\n|extend health = health1 + health2 + health3 + health4\r\n", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/expressroutecircuits/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('BgpAvailability', 'ArpAvailability', 'QosDropBitsInPerSecond', 'QosDropBitsOutPerSecond' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'BgpAvailability'),\r\n kpi2 = avgif(Average, MetricName == 'ArpAvailability'),\r\n kpi3 = avgif(Average, MetricName == 'QosDropBitsInPerSecond'),\r\n kpi4 = avgif(Total, MetricName == 'QosDropBitsOutPerSecond') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1<$amba_exprcircuit_BgpAvailability, 1, 0)\r\n|extend health2 = iff(kpi2<$amba_exprcircuit_ArpAvailability, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_exprcircuit_QosDropBitsInPerSecond, 1, 0)\r\n|extend health4 = iff(kpi4>$amba_exprcircuit_QosDropBitsOutPerSecond, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc\r\n", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -948,133 +746,10 @@ "A": false, "Resource": true, "_ResourceId": true, - "health1": true, - "health2": true, - "health3": true, - "kpi1": true, - "kpi2": true, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": { - "A": " ", - "health": " " - } - } - } - ], - "transparent": true, - "type": "stat" - }, - { - "datasource": { - "type": "grafana-azure-monitor-datasource", - "uid": "${ds}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "links": [], - "mappings": [ - { - "options": { - "0": { - "index": 0, - "text": "Healthy" - }, - "1": { - "index": 1, - "text": "Warning" - } - }, - "type": "value" - }, - { - "options": { - "from": 2, - "result": { - "index": 2, - "text": "Unhealthy" - }, - "to": 4 - }, - "type": "range" - } - ], - "max": 4, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080", - "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 0, - "y": 6 - }, - "id": 26, - "links": [], - "options": { - "colorMode": "background_solid", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": ["max"], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "targets": [ - { - "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.compute/virtualmachinescalesets/'\r\n| where MetricName in('Percentage CPU', 'OS Disk IOPS Consumed Percentage','Available Memory Bytes', 'VmAvailabilityMetric')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'Percentage CPU'),\r\n kpi2 = avgif(Average, MetricName == 'OS Disk IOPS Consumed Percentage'),\r\n kpi3 = avgif(Average/1000000000, MetricName == 'Available Memory Bytes'),\r\n kpi4 = avgif(Average*100, MetricName == 'VmAvailabilityMetric') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4)\r\n|extend health1 = iff(kpi1>80, 1, 0)\r\n|extend health2 = iff(kpi2>95, 1, 0)\r\n|extend health3 = iff(kpi3<1, 1, 0)\r\n|extend health4 = iff(kpi4<90, 1, 0)\r\n|extend health = health1 + health2 + health3 + health4", - "resources": ["/subscriptions/$sub"] - }, - "datasource": { - "type": "grafana-azure-monitor-datasource", - "uid": "${ds}" - }, - "queryType": "Azure Log Analytics", - "refId": "A", - "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] - } - ], - "title": "Virtual Machine Scale Sets", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "A": false, - "Resource": true, - "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, "health1": true, "health2": true, "health3": true, @@ -1090,132 +765,18 @@ "health": " " } } - } - ], - "transparent": true, - "type": "stat" - }, - { - "datasource": { - "type": "grafana-azure-monitor-datasource", - "uid": "${ds}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "links": [], - "mappings": [ - { - "options": { - "0": { - "index": 0, - "text": "Healthy" - }, - "1": { - "index": 1, - "text": "Warning" - } - }, - "type": "value" - }, - { - "options": { - "from": 2, - "result": { - "index": 2, - "text": "Unhealthy" - }, - "to": 3 - }, - "type": "range" - } - ], - "max": 3, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080", - "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 - } - ] - } }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 3, - "y": 6 - }, - "id": 28, - "links": [], - "options": { - "colorMode": "background_solid", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": ["max"], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "targets": [ { - "azureLogAnalytics": { - "query": "let diagnostic_table = AzureDiagnostics \r\n | where _ResourceId has '/microsoft.keyvault/vaults/'\r\n | where ResultSignature !='OK'\r\n | extend ErrorCounter = 1\r\n | project TimeGenerated, Resource, ErrorCounter, _ResourceId;\r\nAzureMetrics\r\n| where _ResourceId has '/microsoft.keyvault/vaults/'\r\n| where MetricName in('ServiceApiLatency', 'Availability')\r\n| project Resource, _ResourceId, MetricName, Average, Total\r\n| union kind=outer diagnostic_table\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'ServiceApiLatency'),\r\n kpi2 = sumif(ErrorCounter, isnotnull(ErrorCounter)),\r\n kpi3 = avgif(Average*100, MetricName == 'Availability') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(toreal(kpi2)), 0.0, toreal(kpi2)) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend health1 = iff(kpi1>1000, 1, 0)\r\n|extend health2 = iff(kpi2>500, 1, 0)\r\n|extend health3 = iff(kpi3<90, 1, 0)\r\n|extend health = health1 + health2 + health3", - "resources": ["/subscriptions/$sub"] - }, - "datasource": { - "type": "grafana-azure-monitor-datasource", - "uid": "${ds}" - }, - "queryType": "Azure Log Analytics", - "refId": "A", - "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] - } - ], - "title": "Key Vaults", - "transformations": [ - { - "id": "organize", + "id": "configFromData", "options": { - "excludeByName": { - "A": false, - "Resource": true, - "_ResourceId": true, - "health1": true, - "health2": true, - "health3": true, - "kpi1": true, - "kpi2": true, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": { - "A": " ", - "health": " " - } + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] } } ], @@ -1268,18 +829,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -1289,11 +838,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 6, - "y": 6 + "x": 0, + "y": 8 }, "id": 46, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -1304,13 +852,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/trafficmanagerprofiles/'\r\n| where MetricName in('ProbeAgentCurrentEndpointStateByProfileResourceId', 'QpsByEndpoint')\r\n| summarize\r\n kpi1 = avgif(Maximum, MetricName == 'ProbeAgentCurrentEndpointStateByProfileResourceId'),\r\n kpi2 = avgif(Total, MetricName == 'QpsByEndpoint') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend health1 = iff(kpi1<=0, 1, 0)\r\n|extend health2 = iff(kpi2<=0, 1, 0)\r\n|extend health = health1 + health2", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/trafficmanagerprofiles/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('ProbeAgentCurrentEndpointStateByProfileResourceId', 'QpsByEndpoint')\r\n| summarize\r\n kpi1 = avgif(Maximum, MetricName == 'ProbeAgentCurrentEndpointStateByProfileResourceId'),\r\n kpi2 = avgif(Total, MetricName == 'QpsByEndpoint') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend health1 = iff(kpi1<=$amba_tm_PACESByPR, 1, 0)\r\n|extend health2 = iff(kpi2<=$amba_tm_QpsByEndpoint, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -1330,6 +883,8 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, "health1": true, "health2": true, "health3": true, @@ -1343,6 +898,19 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, @@ -1394,18 +962,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -1415,11 +971,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 9, - "y": 6 + "x": 3, + "y": 8 }, "id": 53, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -1430,13 +985,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.cdn/profiles/'\r\n| where MetricName in('TotalLatency', 'ByteHitRatio', 'OriginHealthPercentage')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'TotalLatency'),\r\n kpi2 = avgif(Average, MetricName == 'ByteHitRatio'),\r\n kpi3 = avgif(Average, MetricName == 'OriginHealthPercentage') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1>100, 1, 0)\r\n|extend health2 = iff(kpi2<50, 1, 0)\r\n|extend health3 = iff(kpi3<95, 1, 0)\r\n|extend health = health1 + health2 + health3", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.cdn/profiles/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('TotalLatency', 'RequestCount', 'OriginHealthPercentage')\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'TotalLatency'),\r\n kpi2 = avgif(Average, MetricName == 'RequestCount'),\r\n kpi3 = avgif(Average, MetricName == 'OriginHealthPercentage')*100 by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1>$amba_fd_TotalLatency, 1, 0)\r\n|extend health2 = iff(kpi2<$amba_fd_RequestCount, 1, 0)\r\n|extend health3 = iff(kpi3<$amba_fd_OriginHealthPercentage, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -1456,6 +1016,9 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, "health1": true, "health2": true, "health3": true, @@ -1469,6 +1032,19 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, @@ -1520,18 +1096,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -1541,11 +1105,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 12, - "y": 6 + "x": 6, + "y": 8 }, "id": 59, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -1556,13 +1119,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/azurefirewalls/'\r\n| where MetricName in('FirewallHealth', 'SNATPortUtilization') \r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'FirewallHealth'),\r\n kpi2 = avgif(Average, MetricName == 'SNATPortUtilization') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2)\r\n|extend health1 = iff(kpi1<90, 1, 0)\r\n|extend health2 = iff(kpi2>80, 1, 0)\r\n|extend health = health1 + health2", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/azurefirewalls/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('FirewallHealth', 'SNATPortUtilization') \r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'FirewallHealth'),\r\n kpi2 = avgif(Average, MetricName == 'SNATPortUtilization') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2)\r\n|extend health1 = iff(kpi1<$amba_fw_FirewallHealth, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_fw_SNATPortUtilization, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -1582,6 +1150,8 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, "health1": true, "health2": true, "health3": true, @@ -1595,6 +1165,19 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, @@ -1646,18 +1229,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -1667,11 +1238,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 15, - "y": 6 + "x": 9, + "y": 8 }, "id": 57, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -1682,13 +1252,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/virtualnetworkgateways/'\r\n| where MetricName in('TunnelAverageBandwidth', 'AverageBandwidth', 'TunnelIngressBytes' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'TunnelAverageBandwidth'),\r\n kpi2 = avgif(Average, MetricName == 'TunnelEgressBytes'),\r\n kpi3 = avgif(Total, MetricName == 'TunnelIngressBytes') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1<1, 1, 0)\r\n|extend health2 = iff(kpi2<=1, 1, 0)\r\n|extend health3 = iff(kpi3<=1, 1, 0)\r\n|extend health = health1 + health2 + health3", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/virtualnetworkgateways/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('TunnelAverageBandwidth', 'TunnelEgressBytes', 'TunnelIngressBytes' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'TunnelAverageBandwidth'),\r\n kpi2 = avgif(Average, MetricName == 'TunnelEgressBytes'),\r\n kpi3 = avgif(Total, MetricName == 'TunnelIngressBytes') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1<$amba_vnetgw_TunnelAverageBandwidth, 1, 0)\r\n|extend health2 = iff(kpi2<=$amba_vnetgw_TunnelEgressBytes, 1, 0)\r\n|extend health3 = iff(kpi3<=$amba_vnetgw_TunnelIngressBytes, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -1708,6 +1283,9 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, "health1": true, "health2": true, "health3": true, @@ -1721,6 +1299,19 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, @@ -1772,18 +1363,6 @@ { "color": "#808080", "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-yellow", - "value": 1 - }, - { - "color": "dark-red", - "value": 2 } ] } @@ -1793,11 +1372,10 @@ "gridPos": { "h": 3, "w": 3, - "x": 18, - "y": 6 + "x": 12, + "y": 8 }, "id": 66, - "links": [], "options": { "colorMode": "background_solid", "graphMode": "none", @@ -1808,13 +1386,18 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "targets": [ { "azureLogAnalytics": { - "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/virtualnetworkgateways/'\r\n| where MetricName in('ExpressRouteGatewayCpuUtilization', 'ExpressRouteGatewayBitsPerSecond', 'ExpressRouteGatewayPacketsPerSecond' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'ExpressRouteGatewayCpuUtilization'),\r\n kpi2 = avgif(Average, MetricName == 'ExpressRouteGatewayBitsPerSecond'),\r\n kpi3 = avgif(Total, MetricName == 'ExpressRouteGatewayPacketsPerSecond') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1>80, 1, 0)\r\n|extend health2 = iff(kpi2<=1, 1, 0)\r\n|extend health3 = iff(kpi3<=1, 1, 0)\r\n|extend health = health1 + health2 + health3", - "resources": ["/subscriptions/$sub"] + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.network/virtualnetworkgateways/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('ExpressRouteGatewayCpuUtilization', 'ExpressRouteGatewayBitsPerSecond', 'ExpressRouteGatewayPacketsPerSecond' )\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'ExpressRouteGatewayCpuUtilization'),\r\n kpi2 = avgif(Average, MetricName == 'ExpressRouteGatewayBitsPerSecond'),\r\n kpi3 = avgif(Total, MetricName == 'ExpressRouteGatewayPacketsPerSecond') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3)\r\n|extend health1 = iff(kpi1>$amba_vnetgw_ExpressRouteGatewayCpuUtil, 1, 0)\r\n|extend health2 = iff(kpi2<=$amba_vnetgw_ExpressRouteGatewayBitsPerSec, 1, 0)\r\n|extend health3 = iff(kpi3<=$amba_vnetgw_ExpressRouteGatewayPacketsPerSec, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" }, "datasource": { "type": "grafana-azure-monitor-datasource", @@ -1834,6 +1417,9 @@ "A": false, "Resource": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, "health1": true, "health2": true, "health3": true, @@ -1847,17 +1433,34 @@ "health": " " } } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } } ], "transparent": true, "type": "stat" }, { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 9 + "y": 11 }, "id": 25, "options": { @@ -1872,805 +1475,6 @@ "transparent": true, "type": "text" }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 10 - }, - "id": 22, - "panels": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080", - "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 0, - "y": 11 - }, - "id": 6, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 2, - "refId": "A" - } - ], - "title": "Virtual Machine CPU Percentage", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi2": true, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi1" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080", - "value": null - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 85 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 6, - "y": 11 - }, - "id": 92, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 2, - "refId": "A" - } - ], - "title": "Virtual Machine CPU Utilization 95th Percentile", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "TimeGenerated": true, - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": false, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi2" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 15, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080", - "value": null - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 1 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 12, - "y": 11 - }, - "id": 7, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 2, - "refId": "A" - } - ], - "title": "Virtual Machine Available Memory GB", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": true, - "kpi3": false, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "field": "kpi3" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080", - "value": null - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 90 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 18, - "y": 11 - }, - "id": 8, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 2, - "refId": "A" - } - ], - "title": "Virtual Machine Availability", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": true, - "kpi3": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "field": "kpi4" - } - ] - } - } - ], - "type": "bargauge" - } - ], - "title": "Virtual Machines", - "type": "row" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 11 - }, - "id": 21, - "panels": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 0, - "y": 24 - }, - "id": 16, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 26, - "refId": "A" - } - ], - "title": "Virtual Machine Scale Set CPU Percentage", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": false, - "kpi2": true, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi1" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 95 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 6, - "y": 24 - }, - "id": 93, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 26, - "refId": "A" - } - ], - "title": "Virtual Machine Scale Set OS Disk IOPS Consumed Percentage", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": false, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi2" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 15, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 1 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 12, - "y": 24 - }, - "id": 17, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 26, - "refId": "A" - } - ], - "title": "Virtual Machine Scale Set Available Memory GB", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "field": "kpi3" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 90 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 18, - "y": 24 - }, - "id": 18, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 26, - "refId": "A" - } - ], - "title": "Virtual Machine Scale Set Availability", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": true, - "kpi3": true - }, - "indexByName": {}, - "renameByName": {} - } - } - ], - "type": "bargauge" - } - ], - "title": "Virtual Machine Scale Sets", - "type": "row" - }, { "collapsed": true, "gridPos": { @@ -2679,729 +1483,6 @@ "x": 0, "y": 12 }, - "id": 23, - "panels": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 5000, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 5000 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 0, - "y": 13 - }, - "id": 29, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 27, - "refId": "A" - } - ], - "title": "Storage Success End to End Latency", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi2": true, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi1" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 5000, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 500 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 6, - "y": 13 - }, - "id": 30, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 27, - "refId": "A" - } - ], - "title": "Storage Failing Transactions", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": false, - "kpi3": true, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi2" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 4000000000000000, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 4000000000000000 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 12, - "y": 13 - }, - "id": 94, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 27, - "refId": "A" - } - ], - "title": "Storage Used Capacity", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": true, - "kpi3": false, - "kpi4": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "filterByValue", - "options": { - "filters": [ - { - "config": { - "id": "regex", - "options": { - "value": ".*NaN" - } - }, - "fieldName": "kpi3" - } - ], - "match": "any", - "type": "exclude" - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi3" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 90 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 18, - "y": 13 - }, - "id": 31, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 27, - "refId": "A" - } - ], - "title": "Storage Availability", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "health4": true, - "kpi1": true, - "kpi2": true, - "kpi3": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": false, - "field": "kpi4" - } - ] - } - } - ], - "type": "bargauge" - } - ], - "title": "Storage", - "type": "row" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 13 - }, - "id": 24, - "panels": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 2000, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 1000 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 0, - "y": 50 - }, - "id": 32, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 28, - "refId": "A" - } - ], - "title": "Key Vault Service API Latency", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "kpi2": true, - "kpi3": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi1" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 1000, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 500 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 6, - "y": 50 - }, - "id": 33, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 28, - "refId": "A" - } - ], - "title": "Key Vault Failing Transactions", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "kpi1": true, - "kpi2": false, - "kpi3": true - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": true, - "field": "kpi1" - } - ] - } - } - ], - "type": "bargauge" - }, - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 90 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 6, - "x": 12, - "y": 50 - }, - "id": 51, - "options": { - "displayMode": "basic", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": ["lastNotNull"], - "fields": "", - "values": true - }, - "showUnfilled": true, - "valueMode": "color" - }, - "targets": [ - { - "datasource": { - "type": "datasource", - "uid": "-- Dashboard --" - }, - "panelId": 28, - "refId": "A" - } - ], - "title": "Key Vault Availability", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "_ResourceId": true, - "health": true, - "health1": true, - "health2": true, - "health3": true, - "kpi1": true, - "kpi2": true, - "kpi3": false - }, - "indexByName": {}, - "renameByName": {} - } - }, - { - "id": "sortBy", - "options": { - "fields": {}, - "sort": [ - { - "desc": false, - "field": "kpi3" - } - ] - } - } - ], - "type": "bargauge" - } - ], - "title": "Key Vaults", - "type": "row" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 14 - }, "id": 35, "panels": [ { @@ -3412,8 +1493,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 5000, "min": 0, @@ -3422,14 +1504,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 900 } ] } @@ -3440,13 +1514,15 @@ "h": 12, "w": 6, "x": 0, - "y": 63 + "y": 12 }, "id": 37, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -3454,6 +1530,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -3473,6 +1550,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -3480,6 +1560,7 @@ "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -3495,6 +1576,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -3507,8 +1607,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100, "min": 0, @@ -3517,14 +1618,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 51 } ] } @@ -3535,13 +1628,15 @@ "h": 12, "w": 6, "x": 6, - "y": 63 + "y": 12 }, "id": 38, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -3549,6 +1644,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -3568,6 +1664,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -3576,6 +1675,7 @@ "kpi2": false, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -3591,6 +1691,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -3603,8 +1722,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100, "min": 0, @@ -3613,14 +1733,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 50 } ] } @@ -3631,13 +1743,15 @@ "h": 12, "w": 6, "x": 12, - "y": 63 + "y": 12 }, "id": 39, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -3645,6 +1759,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -3664,6 +1779,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -3672,6 +1790,7 @@ "kpi2": true, "kpi3": false }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -3687,6 +1806,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -3701,7 +1839,7 @@ "h": 1, "w": 24, "x": 0, - "y": 15 + "y": 13 }, "id": 45, "panels": [ @@ -3713,8 +1851,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 25, "min": 0, @@ -3723,14 +1862,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 1 } ] } @@ -3741,13 +1872,15 @@ "h": 12, "w": 6, "x": 0, - "y": 16 + "y": 13 }, "id": 47, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -3755,6 +1888,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -3774,6 +1908,8 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -3781,6 +1917,7 @@ "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -3796,6 +1933,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -3808,8 +1964,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 25, "min": 0, @@ -3818,14 +1975,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 1 } ] } @@ -3836,13 +1985,15 @@ "h": 12, "w": 6, "x": 6, - "y": 16 + "y": 13 }, "id": 48, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -3850,6 +2001,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -3869,6 +2021,8 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -3877,6 +2031,7 @@ "kpi2": false, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -3892,6 +2047,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -3906,7 +2080,7 @@ "h": 1, "w": 24, "x": 0, - "y": 16 + "y": 14 }, "id": 40, "panels": [ @@ -3918,8 +2092,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 25, "min": 0, @@ -3928,14 +2103,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 1 } ] } @@ -3946,13 +2113,15 @@ "h": 12, "w": 6, "x": 0, - "y": 89 + "y": 14 }, "id": 42, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -3960,6 +2129,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -3979,6 +2149,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -3986,6 +2159,7 @@ "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4001,6 +2175,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -4013,8 +2206,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 500, "min": 0, @@ -4023,14 +2217,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 10 } ] } @@ -4041,13 +2227,15 @@ "h": 12, "w": 6, "x": 6, - "y": 89 + "y": 14 }, "id": 43, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4055,6 +2243,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4074,6 +2263,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -4082,6 +2274,7 @@ "kpi2": false, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4097,6 +2290,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -4109,8 +2321,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 25, "min": 0, @@ -4119,14 +2332,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 1 } ] } @@ -4137,13 +2342,15 @@ "h": 12, "w": 6, "x": 12, - "y": 89 + "y": 14 }, "id": 44, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4151,6 +2358,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4170,6 +2378,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -4178,6 +2389,7 @@ "kpi2": true, "kpi3": false }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4193,6 +2405,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -4207,7 +2438,7 @@ "h": 1, "w": 24, "x": 0, - "y": 17 + "y": 15 }, "id": 52, "panels": [ @@ -4219,8 +2450,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 500, "min": 0, @@ -4228,15 +2460,8 @@ "mode": "absolute", "steps": [ { - "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 100 + "color": "#808080", + "value": null } ] } @@ -4247,13 +2472,15 @@ "h": 12, "w": 6, "x": 0, - "y": 102 + "y": 16 }, "id": 69, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4261,6 +2488,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4280,6 +2508,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -4287,6 +2518,7 @@ "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4302,6 +2534,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -4314,8 +2565,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 500, "min": 0, @@ -4323,15 +2575,8 @@ "mode": "absolute", "steps": [ { - "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 50 + "color": "#808080", + "value": null } ] } @@ -4342,13 +2587,15 @@ "h": 12, "w": 6, "x": 6, - "y": 102 + "y": 16 }, "id": 70, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4356,6 +2603,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4368,20 +2616,25 @@ "refId": "A" } ], - "title": "Front Door Byte Hit Ratio", + "title": "Front Door Request Count", "transformations": [ { "id": "organize", "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, - "kpi2": true, + "kpi1": true, + "kpi2": false, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4392,8 +2645,27 @@ "fields": {}, "sort": [ { - "desc": true, - "field": "kpi1" + "desc": false, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" } ] } @@ -4409,8 +2681,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100, "min": 0, @@ -4418,15 +2691,8 @@ "mode": "absolute", "steps": [ { - "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 95 + "color": "#808080", + "value": null } ] } @@ -4437,13 +2703,15 @@ "h": 12, "w": 6, "x": 12, - "y": 102 + "y": 16 }, "id": 71, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4451,6 +2719,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4470,13 +2739,18 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, + "kpi1": true, "kpi2": true, - "kpi3": true + "kpi3": false }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4488,7 +2762,26 @@ "sort": [ { "desc": false, - "field": "kpi1" + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" } ] } @@ -4506,7 +2799,7 @@ "h": 1, "w": 24, "x": 0, - "y": 18 + "y": 16 }, "id": 49, "panels": [ @@ -4518,8 +2811,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100, "min": 0, @@ -4528,14 +2822,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 99 } ] } @@ -4546,13 +2832,15 @@ "h": 12, "w": 6, "x": 0, - "y": 115 + "y": 16 }, "id": 72, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4560,6 +2848,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4579,6 +2868,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -4587,6 +2879,7 @@ "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4602,6 +2895,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -4614,8 +2926,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 1, "min": 0, @@ -4624,14 +2937,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 0.001 } ] } @@ -4642,13 +2947,15 @@ "h": 12, "w": 6, "x": 6, - "y": 115 + "y": 16 }, "id": 95, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4656,6 +2963,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4668,13 +2976,16 @@ "refId": "A" } ], - "title": "Virtual Network Under DDoS Attack", + "title": "Public IP Under DDoS Attack", "transformations": [ { "id": "organize", "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -4683,6 +2994,7 @@ "kpi2": false, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4698,6 +3010,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -4710,8 +3041,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 50000, "min": 0, @@ -4720,14 +3052,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 1000 } ] } @@ -4738,13 +3062,15 @@ "h": 12, "w": 6, "x": 12, - "y": 115 + "y": 16 }, "id": 96, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4752,6 +3078,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4764,13 +3091,16 @@ "refId": "A" } ], - "title": "Virtual Network Inbound Packets DDoS", + "title": "Public IP Inbound Packets DDoS", "transformations": [ { "id": "organize", "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -4779,6 +3109,7 @@ "kpi2": true, "kpi3": false }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4794,6 +3125,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -4808,7 +3158,7 @@ "h": 1, "w": 24, "x": 0, - "y": 19 + "y": 17 }, "id": 58, "panels": [ @@ -4820,8 +3170,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100, "min": 0, @@ -4830,14 +3181,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 90 } ] } @@ -4848,13 +3191,15 @@ "h": 12, "w": 6, "x": 0, - "y": 128 + "y": 17 }, "id": 78, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4862,6 +3207,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4881,6 +3227,8 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -4889,6 +3237,7 @@ "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4904,6 +3253,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -4918,6 +3286,7 @@ "color": { "mode": "thresholds" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 1000, "min": 0, @@ -4944,13 +3313,15 @@ "h": 12, "w": 6, "x": 6, - "y": 128 + "y": 17 }, "id": 79, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -4958,6 +3329,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -4977,6 +3349,8 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -4985,6 +3359,7 @@ "kpi2": false, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -4996,7 +3371,26 @@ "sort": [ { "desc": true, - "field": "kpi1" + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" } ] } @@ -5014,7 +3408,7 @@ "h": 1, "w": 24, "x": 0, - "y": 20 + "y": 18 }, "id": 55, "panels": [ @@ -5026,8 +3420,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 1, "min": 0, @@ -5036,14 +3431,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 0.001 } ] } @@ -5054,13 +3441,15 @@ "h": 12, "w": 6, "x": 0, - "y": 141 + "y": 18 }, "id": 34, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5068,6 +3457,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5087,6 +3477,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -5095,6 +3488,7 @@ "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5110,6 +3504,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -5122,8 +3535,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 50000, "min": 0, @@ -5132,14 +3546,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 1000 } ] } @@ -5150,13 +3556,15 @@ "h": 12, "w": 6, "x": 6, - "y": 141 + "y": 18 }, "id": 73, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5164,6 +3572,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5183,6 +3592,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -5191,6 +3603,7 @@ "kpi2": false, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5202,7 +3615,26 @@ "sort": [ { "desc": true, - "field": "kpi1" + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" } ] } @@ -5218,8 +3650,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 5000, "min": 0, @@ -5228,14 +3661,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 1 } ] } @@ -5246,13 +3671,15 @@ "h": 12, "w": 6, "x": 12, - "y": 141 + "y": 18 }, "id": 74, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5260,6 +3687,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5279,6 +3707,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -5287,6 +3718,7 @@ "kpi2": true, "kpi3": false }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5298,7 +3730,26 @@ "sort": [ { "desc": true, - "field": "kpi1" + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" } ] } @@ -5316,7 +3767,7 @@ "h": 1, "w": 24, "x": 0, - "y": 21 + "y": 19 }, "id": 56, "panels": [ @@ -5328,8 +3779,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100000, "min": 0, @@ -5338,14 +3790,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 1 } ] } @@ -5356,13 +3800,15 @@ "h": 12, "w": 6, "x": 0, - "y": 154 + "y": 19 }, "id": 75, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5370,6 +3816,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5389,14 +3836,18 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, "kpi1": false, "kpi2": true, - "kpi3": false + "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5412,6 +3863,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -5424,8 +3894,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 8000000000, "min": 0, @@ -5434,14 +3905,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 2 } ] } @@ -5452,13 +3915,15 @@ "h": 12, "w": 6, "x": 6, - "y": 154 + "y": 19 }, "id": 76, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5466,6 +3931,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5485,14 +3951,18 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, - "kpi1": false, - "kpi2": true, - "kpi3": false + "kpi1": true, + "kpi2": false, + "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5504,7 +3974,26 @@ "sort": [ { "desc": false, - "field": "kpi1" + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" } ] } @@ -5520,8 +4009,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 8000000000, "min": 0, @@ -5530,14 +4020,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 2 } ] } @@ -5548,13 +4030,15 @@ "h": 12, "w": 6, "x": 12, - "y": 154 + "y": 19 }, "id": 77, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5562,6 +4046,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5581,14 +4066,18 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, - "kpi1": false, + "kpi1": true, "kpi2": true, "kpi3": false }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5600,7 +4089,26 @@ "sort": [ { "desc": false, - "field": "kpi1" + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" } ] } @@ -5618,7 +4126,7 @@ "h": 1, "w": 24, "x": 0, - "y": 22 + "y": 20 }, "id": 67, "panels": [ @@ -5630,8 +4138,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100, "min": 0, @@ -5640,14 +4149,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 90 } ] } @@ -5658,13 +4159,15 @@ "h": 12, "w": 6, "x": 0, - "y": 167 + "y": 20 }, "id": 87, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5672,6 +4175,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5692,15 +4196,22 @@ "excludeByName": { "Health": true, "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, + "health4": true, "kpi1": false, "kpi2": true, "kpi3": true, "kpi4": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5711,11 +4222,30 @@ "fields": {}, "sort": [ { - "desc": true, + "desc": false, "field": "kpi1" } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -5728,8 +4258,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100, "min": 0, @@ -5738,14 +4269,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 90 } ] } @@ -5756,13 +4279,15 @@ "h": 12, "w": 6, "x": 6, - "y": 167 + "y": 20 }, "id": 97, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5770,6 +4295,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5790,15 +4316,21 @@ "excludeByName": { "Health": true, "_ResourceId": true, + "h1color": true, + "h3color": true, + "h4color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, + "health4": true, "kpi1": true, "kpi2": false, "kpi3": true, "kpi4": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5809,8 +4341,27 @@ "fields": {}, "sort": [ { - "desc": true, - "field": "kpi1" + "desc": false, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" } ] } @@ -5827,8 +4378,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 10000, "min": 0, @@ -5837,14 +4389,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 100 } ] } @@ -5855,13 +4399,15 @@ "h": 12, "w": 6, "x": 12, - "y": 167 + "y": 20 }, "id": 88, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5869,6 +4415,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5889,15 +4436,21 @@ "excludeByName": { "Health": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h4color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, + "health4": true, "kpi1": true, "kpi2": true, "kpi3": false, "kpi4": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -5909,7 +4462,26 @@ "sort": [ { "desc": true, - "field": "kpi1" + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" } ] } @@ -5926,8 +4498,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 10000, "min": 0, @@ -5936,14 +4509,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 100 } ] } @@ -5954,13 +4519,15 @@ "h": 12, "w": 6, "x": 18, - "y": 167 + "y": 20 }, "id": 89, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -5968,6 +4535,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -5988,14 +4556,20 @@ "excludeByName": { "Health": true, "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, "health3": true, + "health4": true, "kpi1": true, "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -6007,7 +4581,26 @@ "sort": [ { "desc": true, - "field": "kpi1" + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" } ] } @@ -6025,7 +4618,7 @@ "h": 1, "w": 24, "x": 0, - "y": 23 + "y": 21 }, "id": 65, "panels": [ @@ -6037,8 +4630,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100, "min": 0, @@ -6047,14 +4641,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-green", - "value": 0 - }, - { - "color": "dark-red", - "value": 80 } ] } @@ -6065,13 +4651,15 @@ "h": 12, "w": 6, "x": 0, - "y": 180 + "y": 22 }, "id": 84, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -6079,6 +4667,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -6098,6 +4687,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h2color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -6106,6 +4698,7 @@ "kpi2": true, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -6121,6 +4714,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -6133,8 +4745,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100000, "min": 0, @@ -6143,14 +4756,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 2 } ] } @@ -6161,13 +4766,15 @@ "h": 12, "w": 6, "x": 6, - "y": 180 + "y": 22 }, "id": 85, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -6175,6 +4782,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -6194,6 +4802,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h3color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -6202,6 +4813,7 @@ "kpi2": false, "kpi3": true }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -6217,6 +4829,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -6229,8 +4860,9 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "fixed" }, + "displayName": "${__field.displayName}", "mappings": [], "max": 100000, "min": 0, @@ -6239,14 +4871,6 @@ "steps": [ { "color": "#808080" - }, - { - "color": "dark-red", - "value": 0 - }, - { - "color": "dark-green", - "value": 2 } ] } @@ -6257,13 +4881,15 @@ "h": 12, "w": 6, "x": 12, - "y": 180 + "y": 22 }, "id": 86, "options": { - "displayMode": "basic", + "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": ["lastNotNull"], @@ -6271,6 +4897,7 @@ "values": true }, "showUnfilled": true, + "sizing": "auto", "valueMode": "color" }, "targets": [ @@ -6290,6 +4917,9 @@ "options": { "excludeByName": { "_ResourceId": true, + "h1color": true, + "h2color": true, + "hcolor": true, "health": true, "health1": true, "health2": true, @@ -6298,6 +4928,7 @@ "kpi2": true, "kpi3": false }, + "includeByName": {}, "indexByName": {}, "renameByName": {} } @@ -6313,6 +4944,25 @@ } ] } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } } ], "type": "bargauge" @@ -6323,9 +4973,8 @@ } ], "refresh": "", - "schemaVersion": 38, - "style": "dark", - "tags": [], + "schemaVersion": 39, + "tags": ["azure-infra-monitor"], "templating": { "list": [ { @@ -6343,6 +4992,20 @@ "skipUrlSync": false, "type": "datasource" }, + { + "current": {}, + "hide": 2, + "includeAll": false, + "label": "Azure Monitor Baseline Alerts", + "multi": false, + "name": "amba", + "options": [], + "query": "marcusolsson-json-datasource", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, { "current": {}, "datasource": { @@ -6350,11 +5013,12 @@ "uid": "${ds}" }, "definition": "", + "description": "Subscriptions used to filter Log Analytics Workspaces variable.", "hide": 0, "includeAll": false, - "label": "Subscription", - "multi": false, - "name": "sub", + "label": "Workspace Scope", + "multi": true, + "name": "subsWSScope", "options": [], "query": { "azureLogAnalytics": { @@ -6369,6 +5033,1028 @@ "skipUrlSync": false, "sort": 5, "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Log Analytics Workspaces in scope.", + "hide": 0, + "includeAll": false, + "label": "Workspaces", + "multi": true, + "name": "laws", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "azureResourceGraph": { + "query": "resources\r\n| where type == \"microsoft.operationalinsights/workspaces\"\r\n| project value=['id'], text=['name']" + }, + "queryType": "Azure Resource Graph", + "refId": "A", + "subscriptions": ["$subsWSScope"] + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter resources returned from queries.", + "hide": 0, + "includeAll": false, + "label": "Resource Scope", + "multi": true, + "name": "subsRESScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + }, + "description": "Color used when KPIs are below thresholds.", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "healthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + } + ], + "query": "\"rgb(45\\,161\\,55)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + }, + "description": "Color used when one KPI exceeds threshold", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "warning_color", + "options": [ + { + "selected": true, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + } + ], + "query": "\"rgb(222\\,210\\,38)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + }, + "description": "Color used when KPIs exceed thresholds", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "unhealthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + } + ], + "query": "\"rgb(255\\,31\\,46)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/loadBalancers\".\"DipAvailability\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_lb_DipAvailability", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/loadBalancers\".\"DipAvailability\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/loadBalancers\".\"VipAvailability\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_lb_VipAvailability", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/loadBalancers\".\"VipAvailability\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/loadBalancers\".\"UsedSNATPorts\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_lb_UsedSNATPorts", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/loadBalancers\".\"UsedSNATPorts\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/trafficmanagerprofiles\".\"ProbeAgentCurrentEndpointStateByProfileResourceId\"", + "description": "ProbeAgentCurrentEndpointStateByProfileResourceId", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_tm_PACESByPR", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/trafficmanagerprofiles\".\"ProbeAgentCurrentEndpointStateByProfileResourceId\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/trafficmanagerprofiles\".\"QpsByEndpoint\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_tm_QpsByEndpoint", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/trafficmanagerprofiles\".\"QpsByEndpoint\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/applicationGateways\".\"UnhealthyHostCount\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_appgw_UnhealthyHostCount", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/applicationGateways\".\"UnhealthyHostCount\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/applicationGateways\".\"FailedRequests\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_appgw_FailedRequests", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/applicationGateways\".\"FailedRequests\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/applicationGateways\".\"HealthyHostCount\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_appgw_HealthyHostCount", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/applicationGateways\".\"HealthyHostCount\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.CDN/profiles\".\"TotalLatency\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_fd_TotalLatency", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.CDN/profiles\".\"TotalLatency\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.CDN/profiles\".\"RequestCount\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_fd_RequestCount", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.CDN/profiles\".\"RequestCount\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.CDN/profiles\".\"OriginHealthPercentage\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_fd_OriginHealthPercentage", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.CDN/profiles\".\"OriginHealthPercentage\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/publicIPAddresses\".\"IfUnderDDoSAttack\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_ip_IfUnderDDoSAttack", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/publicIPAddresses\".\"IfUnderDDoSAttack\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/publicIPAddresses\".\"PacketsInDDoS\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_ip_PacketsInDDoS", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/publicIPAddresses\".\"PacketsInDDoS\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/publicIPAddresses\".\"VipAvailability\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_ip_VipAvailability", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/publicIPAddresses\".\"VipAvailability\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/azureFirewalls\".\"FirewallHealth\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_fw_FirewallHealth", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/azureFirewalls\".\"FirewallHealth\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/azureFirewalls\".\"SNATPortUtilization\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_fw_SNATPortUtilization", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/azureFirewalls\".\"SNATPortUtilization\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworks\".\"IfUnderDDoSAttack\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnet_IfUnderDDoSAttack", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworks\".\"IfUnderDDoSAttack\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworks\".\"PacketsInDDoS\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnet_PacketsInDDoS", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworks\".\"PacketsInDDoS\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworks\".\"PacketsForwardedDDoS\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnet_PacketsForwardedDDoS", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworks\".\"PacketsForwardedDDoS\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworkGateways\".\"TunnelAverageBandwidth\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnetgw_TunnelAverageBandwidth", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworkGateways\".\"TunnelAverageBandwidth\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworkGateways\".\"TunnelEgressBytes\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnetgw_TunnelEgressBytes", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworkGateways\".\"TunnelEgressBytes\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworkGateways\".\"TunnelIngressBytes\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnetgw_TunnelIngressBytes", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworkGateways\".\"TunnelIngressBytes\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworkGateways\".\"ExpressRouteGatewayCpuUtilization\"", + "description": "ExpressRouteGatewayCpuUtilization", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnetgw_ExpressRouteGatewayCpuUtil", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworkGateways\".\"ExpressRouteGatewayCpuUtilization\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworkGateways\".\"ExpressRouteGatewayBitsPerSecond\"", + "description": "ExpressRouteGatewayBitsPerSecond", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnetgw_ExpressRouteGatewayBitsPerSec", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworkGateways\".\"ExpressRouteGatewayBitsPerSecond\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/virtualNetworkGateways\".\"ExpressRouteGatewayPacketsPerSecond\"", + "description": "ExpressRouteGatewayBitsPerSecond", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_vnetgw_ExpressRouteGatewayPacketsPerSec", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/virtualNetworkGateways\".\"ExpressRouteGatewayPacketsPerSecond\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/expressRouteCircuits\".\"ArpAvailability\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_exprcircuit_ArpAvailability", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/expressRouteCircuits\".\"ArpAvailability\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/expressRouteCircuits\".\"BgpAvailability\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_exprcircuit_BgpAvailability", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/expressRouteCircuits\".\"BgpAvailability\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/expressRouteCircuits\".\"QosDropBitsInPerSecond\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_exprcircuit_QosDropBitsInPerSecond", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/expressRouteCircuits\".\"QosDropBitsInPerSecond\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Network/expressRouteCircuits\".\"QosDropBitsOutPerSecond\"", + "description": "", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_exprcircuit_QosDropBitsOutPerSecond", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Network/expressRouteCircuits\".\"QosDropBitsOutPerSecond\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" } ] }, @@ -6378,7 +6064,6 @@ }, "timepicker": {}, "timezone": "", - "title": "Azure / Infrastructure / Infrastructure Monitoring", - "uid": "azure-infrastructure-monitoring", - "version": 215 + "title": "Azure / Infrastructure / Network Monitoring", + "version": 28 } diff --git a/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraStorageVaults.json b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraStorageVaults.json new file mode 100644 index 00000000000..70eec476755 --- /dev/null +++ b/public/app/plugins/datasource/azuremonitor/dashboards/azureInfraStorageVaults.json @@ -0,0 +1,1680 @@ +{ + "__inputs": [], + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "10.4.1" + }, + { + "type": "datasource", + "id": "grafana-azure-monitor-datasource", + "name": "Azure Monitor", + "version": "1.0.0" + }, + { + "type": "datasource", + "id": "marcusolsson-json-datasource", + "name": "JSON API", + "version": "1.3.12" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "text", + "name": "Text", + "version": "" + } + ], + "description": "This dashboard displays traffic-light indicators to show the health of your Azure infrastructure resources based on key performance indicators and thresholds defined for each infrastructure resource type. The KPIs and thresholds come from Azure Monitor Baseline Alerts (https://azure.github.io/azure-monitor-baseline-alerts/). \n\nPrerequisites:\nThe queries used in the dashboard require that you have resource metrics being sent to a Log Analytics Workspace. The AzureMetrics and AzureDiagnostics tables are required. This can be achieved through a resource’s diagnostic settings. For detailed instructions, refer to Azure Monitor Essentials: Diagnostic Settings: https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings#metrics\n\nInstallation and Configuration:\nThis dashboard requires the JSON API Grafana plugin and a configured data source for Azure Monitor Baseline Alerts. Follow these steps to install and configure the JSON API plugin:\n\n1. Navigate to Connections->Connect Data.\n2. Search for “JSON API” and then select the JSON API data source.\n3. Install the plugin if it is not already installed.\n4. On the JSON API plugin page, click “Create a JSON API data source\".\n5. On the create JSON API page, give it the name “AMBA” and for the URL, give it the value: https://raw.githubusercontent.com/Azure/azure-monitor-baseline-alerts/main/visualizations/grafana/infra-monitoring-amba-thresholds.json \n6. Click the Save & test button. You should see a green checkbox and Success message if configured correctly.\n\nThis is one of a collection of dashboards linked together via dashboard links and the \"azure-infra-monitor\" tag. Other dashboards in the collection include:\nAzure / Infrastructure / Network Monitoring\nAzure / Infrastructure / Apps Monitoring\nAzure / Infrastructure / Compute Monitoring\nAzure / Infrastructure / Data Monitoring\n\nThe other dashboards in this collection can be found in the Azure Monitor Team Grafana library here: https://grafana.com/orgs/azuremonitorteam/dashboards. Once imported, you will be able to access these dashboards using the Azure Infra Monitoring Dashboards tab. ", + "editable": true, + "id": null, + "links": [ + { + "asDropdown": true, + "icon": "external link", + "includeVars": false, + "keepTime": false, + "tags": ["azure-infra-monitor"], + "targetBlank": false, + "title": "Azure Infra Monitoring Dashboards", + "tooltip": "", + "type": "dashboards", + "url": "" + } + ], + "liveNow": true, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "

Azure Infrastructure Monitoring Dashboard (Storage\\Vaults)

\r\n\r\nSelect a data source, workspace scope, workspace(s) and resource scope. \r\nExamine the key performance indicators for your resources by expanding the row for a resource type. \r\nRecommended KPIs and thresholds used in this dashboard come from [Azure Monitor Baseline Alerts](https://azure.github.io/azure-monitor-baseline-alerts/). \r\nSee dashboard description for more details on linking to other Infrastructure Monitor dashboards.", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 90, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "
\r\n\r\nKey:\r\n- Green\\Healthy  - None of the resources of that resource type have KPIs that are exceeding thresholds.\r\n- Yellow\\Warning - At least one resource of that resource type has one KPI exceeding a threshold.\r\n- Red\\Unhealthy  - At least one resource of that resource type has two or more KPIs exceeding a threshold.", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 4 + }, + "type": "range" + } + ], + "max": 4, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 5 + }, + "id": 27, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "AzureMetrics\r\n| where _ResourceId has '/microsoft.storage/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('SuccessE2ELatency', 'SuccessServerLatency', 'UsedCapacity', 'Availability')\r\n| extend ResourceName = tostring(split(_ResourceId,'/')[8])\r\n| extend _ResourceId = trim('/blobservices/default', _ResourceId)\r\n| extend _ResourceId = trim('/queueservices/default', _ResourceId)\r\n| extend _ResourceId = trim('/tableservices/default', _ResourceId)\r\n| extend _ResourceId = trim('/fileservices/default', _ResourceId)\r\n| project ResourceName, _ResourceId, MetricName, Average, Total\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'SuccessE2ELatency'),\r\n kpi2 = avgif(Average, MetricName == 'SuccessServerLatency'),\r\n kpi3 = avgif(Average, MetricName == 'UsedCapacity'),\r\n kpi4 = avgif(Average, MetricName == 'Availability') by _ResourceId, ResourceName\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(kpi2), 0.0, kpi2) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend kpi4 = iff(isnan(kpi4), 0.0, kpi4) \r\n|extend health1 = iff(kpi1>$amba_storage_SuccessE2ELatency, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_storage_SuccessServerLatency, 1, 0)\r\n|extend health3 = iff(kpi3>$amba_storage_UsedCapacity, 1, 0)\r\n|extend health4 = iff(kpi4<$amba_storage_Availability, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend h4color = iff(tobool(health4), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3 + health4\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Storage", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "ResourceName": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [], + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Healthy" + }, + "1": { + "index": 1, + "text": "Warning" + } + }, + "type": "value" + }, + { + "options": { + "from": 2, + "result": { + "index": 2, + "text": "Unhealthy" + }, + "to": 3 + }, + "type": "range" + } + ], + "max": 3, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 5 + }, + "id": 28, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": ["max"], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "targets": [ + { + "azureLogAnalytics": { + "dashboardTime": true, + "query": "let diagnostic_table = AzureDiagnostics\r\n | where _ResourceId has '/microsoft.keyvault/vaults/'\r\n | where SubscriptionId has_any ($subsRESScope)\r\n | where ResultSignature !='OK'\r\n | extend ErrorCounter = 1\r\n | project TimeGenerated, Resource, ErrorCounter, _ResourceId;\r\nAzureMetrics\r\n| where _ResourceId has '/microsoft.keyvault/vaults/'\r\n| where SubscriptionId has_any ($subsRESScope)\r\n| where MetricName in('ServiceApiLatency', 'Availability')\r\n| project Resource, _ResourceId, MetricName, Average, Total\r\n| union kind=outer diagnostic_table\r\n| summarize\r\n kpi1 = avgif(Average, MetricName == 'ServiceApiLatency'),\r\n kpi2 = sumif(ErrorCounter, isnotnull(ErrorCounter)),\r\n kpi3 = avgif(Average*100, MetricName == 'Availability') by _ResourceId, Resource\r\n|extend kpi1 = iff(isnan(kpi1), 0.0, kpi1)\r\n|extend kpi2 = iff(isnan(toreal(kpi2)), 0.0, toreal(kpi2)) \r\n|extend kpi3 = iff(isnan(kpi3), 0.0, kpi3) \r\n|extend health1 = iff(kpi1>$amba_kv_ServiceApiLatency, 1, 0)\r\n|extend health2 = iff(kpi2>$amba_kv_FailingServiceApiResult, 1, 0)\r\n|extend health3 = iff(kpi3<$amba_kv_Availability, 1, 0)\r\n|extend h1color = iff(tobool(health1), $unhealthy_color, $healthy_color)\r\n|extend h2color = iff(tobool(health2), $unhealthy_color, $healthy_color)\r\n|extend h3color = iff(tobool(health3), $unhealthy_color, $healthy_color)\r\n|extend health = health1 + health2 + health3\r\n|extend hcolor = iff(health>1, $unhealthy_color, iff(health==1, $warning_color, $healthy_color))\r\n| order by health desc", + "resources": ["$laws"], + "resultFormat": "logs", + "timeColumn": "TimeGenerated" + }, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "queryType": "Azure Log Analytics", + "refId": "A", + "subscriptions": ["ebb79bc0-aa86-44a7-8111-cabbe0c43993"] + } + ], + "title": "Key Vaults", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "A": false, + "Resource": true, + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "health1": true, + "health2": true, + "health3": true, + "kpi1": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": { + "A": " ", + "health": " " + } + } + }, + { + "id": "configFromData", + "options": { + "configRefId": "A", + "mappings": [ + { + "fieldName": "hcolor", + "handlerKey": "color", + "reducerId": "firstNotNull" + } + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 25, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "", + "mode": "markdown" + }, + "transparent": true, + "type": "text" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 23, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 1200, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 9 + }, + "id": 29, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 27, + "refId": "A" + } + ], + "title": "Storage Success End to End Latency", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": false, + "h2color": true, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi2": true, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "ResourceName", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 1200, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 9 + }, + "id": 30, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 27, + "refId": "A" + } + ], + "title": "Storage Success Server Latency", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": false, + "h3color": true, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": false, + "kpi3": true, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi2" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "ResourceName", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 4000000000000000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 9 + }, + "id": 94, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 27, + "refId": "A" + } + ], + "title": "Storage Used Capacity", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": false, + "h4color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": false, + "kpi4": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "filterByValue", + "options": { + "filters": [ + { + "config": { + "id": "regex", + "options": { + "value": ".*NaN" + } + }, + "fieldName": "kpi3" + } + ], + "match": "any", + "type": "exclude" + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "ResourceName", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 18, + "y": 9 + }, + "id": 31, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 27, + "refId": "A" + } + ], + "title": "Storage Availability", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "h3color": true, + "h4color": false, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "health4": true, + "kpi1": true, + "kpi2": true, + "kpi3": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi4" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "ResourceName", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi4", + "handlerKey": "field.value" + }, + { + "fieldName": "h4color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Storage", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 24, + "panels": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 2000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 0, + "y": 10 + }, + "id": 32, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 28, + "refId": "A" + } + ], + "title": "Key Vault Service API Latency", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h2color": true, + "h3color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "kpi2": true, + "kpi3": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi1", + "handlerKey": "field.value" + }, + { + "fieldName": "h1color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 1000, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 6, + "y": 10 + }, + "id": 33, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 28, + "refId": "A" + } + ], + "title": "Key Vault Failing Transactions", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h3color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "kpi1": true, + "kpi2": false, + "kpi3": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "kpi1" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi2", + "handlerKey": "field.value" + }, + { + "fieldName": "h2color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "fixed" + }, + "displayName": "${__field.displayName}", + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#808080" + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 6, + "x": 12, + "y": 10 + }, + "id": 51, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": ["lastNotNull"], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "targets": [ + { + "datasource": { + "type": "datasource", + "uid": "-- Dashboard --" + }, + "panelId": 28, + "refId": "A" + } + ], + "title": "Key Vault Availability", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "_ResourceId": true, + "h1color": true, + "h2color": true, + "hcolor": true, + "health": true, + "health1": true, + "health2": true, + "health3": true, + "kpi1": true, + "kpi2": true, + "kpi3": false + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": false, + "field": "kpi3" + } + ] + } + }, + { + "id": "rowsToFields", + "options": { + "mappings": [ + { + "fieldName": "Resource", + "handlerKey": "field.name" + }, + { + "fieldName": "kpi3", + "handlerKey": "field.value" + }, + { + "fieldName": "h3color", + "handlerKey": "color" + } + ] + } + } + ], + "type": "bargauge" + } + ], + "title": "Key Vaults", + "type": "row" + } + ], + "refresh": "", + "schemaVersion": 39, + "tags": ["azure-infra-monitor"], + "templating": { + "list": [ + { + "current": {}, + "hide": 0, + "includeAll": false, + "label": "Datasource", + "multi": false, + "name": "ds", + "options": [], + "query": "grafana-azure-monitor-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "hide": 2, + "includeAll": false, + "label": "Azure Monitor Baseline Alerts", + "multi": false, + "name": "amba", + "options": [], + "query": "marcusolsson-json-datasource", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter Log Analytics Workspaces variable.", + "hide": 0, + "includeAll": false, + "label": "Workspace Scope", + "multi": true, + "name": "subsWSScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Log Analytics Workspaces in scope.", + "hide": 0, + "includeAll": false, + "label": "Workspaces", + "multi": true, + "name": "laws", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "azureResourceGraph": { + "query": "resources\r\n| where type == \"microsoft.operationalinsights/workspaces\"\r\n| project value=['id'], text=['name']" + }, + "queryType": "Azure Resource Graph", + "refId": "A", + "subscriptions": ["$subsWSScope"] + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-azure-monitor-datasource", + "uid": "${ds}" + }, + "definition": "", + "description": "Subscriptions used to filter resources returned from queries.", + "hide": 0, + "includeAll": false, + "label": "Resource Scope", + "multi": true, + "name": "subsRESScope", + "options": [], + "query": { + "azureLogAnalytics": { + "query": "", + "resources": [] + }, + "queryType": "Azure Subscriptions", + "refId": "A" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + }, + "description": "Color used when KPIs are below thresholds.", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "healthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(45,161,55)\"", + "value": "\"rgb(45,161,55)\"" + } + ], + "query": "\"rgb(45\\,161\\,55)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + }, + "description": "Color used when one KPI exceeds threshold", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "warning_color", + "options": [ + { + "selected": true, + "text": "\"rgb(222,210,38)\"", + "value": "\"rgb(222,210,38)\"" + } + ], + "query": "\"rgb(222\\,210\\,38)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": { + "selected": false, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + }, + "description": "Color used when KPIs exceed thresholds", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "unhealthy_color", + "options": [ + { + "selected": true, + "text": "\"rgb(255,31,46)\"", + "value": "\"rgb(255,31,46)\"" + } + ], + "query": "\"rgb(255\\,31\\,46)\"", + "skipUrlSync": false, + "type": "custom" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Storage/storageAccounts\".\"Availability\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_storage_Availability", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Storage/storageAccounts\".\"Availability\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Storage/storageAccounts\".\"UsedCapacity\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_storage_UsedCapacity", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Storage/storageAccounts\".\"UsedCapacity\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Storage/storageAccounts\".\"SuccessE2ELatency\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_storage_SuccessE2ELatency", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Storage/storageAccounts\".\"SuccessE2ELatency\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.Storage/storageAccounts\".\"SuccessServerLatency\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_storage_SuccessServerLatency", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.Storage/storageAccounts\".\"SuccessServerLatency\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.KeyVault/vaults\".\"Availability\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_kv_Availability", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.KeyVault/vaults\".\"Availability\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.KeyVault/vaults\".\"ServiceApiLatency\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_kv_ServiceApiLatency", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.KeyVault/vaults\".\"ServiceApiLatency\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "marcusolsson-json-datasource", + "uid": "${amba}" + }, + "definition": "\"Microsoft.KeyVault/vaults\".\"FailingServiceApiResult\"", + "hide": 2, + "includeAll": false, + "multi": false, + "name": "amba_kv_FailingServiceApiResult", + "options": [], + "query": { + "cacheDurationSeconds": 300, + "fields": [ + { + "jsonPath": "\"Microsoft.KeyVault/vaults\".\"FailingServiceApiResult\"", + "language": "jsonata" + } + ], + "method": "GET", + "queryParams": "", + "urlPath": "" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Azure / Infrastructure / Storage and Key Vaults Monitoring", + "version": 25 +} diff --git a/public/app/plugins/datasource/azuremonitor/plugin.json b/public/app/plugins/datasource/azuremonitor/plugin.json index 240259a9141..438b68c2a2b 100644 --- a/public/app/plugins/datasource/azuremonitor/plugin.json +++ b/public/app/plugins/datasource/azuremonitor/plugin.json @@ -7,8 +7,28 @@ { "type": "dashboard", "name": "Azure / Alert Consumption", "path": "dashboards/v1Alerts.json" }, { "type": "dashboard", - "name": "Azure / Infrastructure / Infrastructure Monitoring", - "path": "dashboards/infrastructureMonitoring.json" + "name": "Azure / Infrastructure / Apps Monitoring", + "path": "dashboards/azureInfraApps.json" + }, + { + "type": "dashboard", + "name": "Azure / Infrastructure / Compute Monitoring", + "path": "dashboards/azureInfraCompute.json" + }, + { + "type": "dashboard", + "name": "Azure / Infrastructure / Data Monitoring", + "path": "dashboards/azureInfraData.json" + }, + { + "type": "dashboard", + "name": "Azure / Infrastructure / Network Monitoring", + "path": "dashboards/azureInfraNetwork.json" + }, + { + "type": "dashboard", + "name": "Azure / Infrastructure / Storage and Key Vaults Monitoring", + "path": "dashboards/azureInfraStorageVaults.json" }, { "type": "dashboard",