diff --git a/dashboards/azure-app-gateway/azure-app-gateway.json b/dashboards/azure-app-gateway/azure-app-gateway.json new file mode 100644 index 0000000000..fe4b8e9a74 --- /dev/null +++ b/dashboards/azure-app-gateway/azure-app-gateway.json @@ -0,0 +1,569 @@ +{ + "name": "Azure app gateway", + "description": null, + "pages": [ + { + "name": "Azure app gateway", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 9, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.TotalRequests`) AS 'Total Requests', SUM(`azure.network.applicationgateways.FailedRequests`) AS 'Total Failed Requests', SUM(`azure.network.applicationgateways.BlockedReqCount`) AS 'Total Blocked Requests', SUM(`azure.network.applicationgateways.CurrentConnections`) AS 'Total Current Connections', SUM(`azure.network.applicationgateways.HealthyHostCount`) AS 'Total Healthy Backend Hosts', SUM(`azure.network.applicationgateways.UnhealthyHostCount`) AS 'Total Unhealthy Backend Hosts'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 10, + "row": 1, + "width": 3, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Azure Application Gateway\nAzure Application Gateway gives you application-level routing and load balancing services that let you build a scalable and highly-available web front end in Azure. You control the size of the gateway and scale your deployment based on your needs." + } + }, + { + "title": "Throughput", + "layout": { + "column": 1, + "row": 3, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.applicationgateways.Throughput`) AS 'Average Throughput' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES_PER_SECOND" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Traffic", + "layout": { + "column": 7, + "row": 3, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.BytesSent`) AS 'Total Bytes Sent', SUM(`azure.network.applicationgateways.BytesReceived`) AS 'Total Bytes Received' TIMESERIES AUTO" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Response status", + "layout": { + "column": 1, + "row": 6, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.ResponseStatus`) AS 'Total HTTP Response Status Returned by Application Gateway' FACET azure.network.applicationgateways.httpStatusGroup" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Backend response status", + "layout": { + "column": 7, + "row": 6, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.BackendResponseStatus`) AS 'Total Number of HTTP Response Code by the Backend Members' FACET azure.network.applicationgateways.httpStatusGroup" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Backend bytes response time", + "layout": { + "column": 1, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.applicationgateways.BackendFirstByteResponseTime`) AS 'Average Backend First Byte Response Time', AVERAGE(`azure.network.applicationgateways.BackendLastByteResponseTime`) AS 'Average Backend Last Byte Response Time' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "MS" + } + } + }, + { + "title": "Backend connection time", + "layout": { + "column": 5, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.applicationgateways.BackendConnectTime`) AS 'Average Backend Connection Time' TIMESERIES AUTO FACET azure.network.applicationgateways.backendServer" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "MS" + } + } + }, + { + "title": "Client TLS protocol", + "layout": { + "column": 9, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.TlsProtocol`) AS 'Total Client TLS Protocol' FACET azure.network.applicationgateways.tlsProtocol" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Healthy backend hosts", + "layout": { + "column": 1, + "row": 12, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.HealthyHostCount`) AS 'Total Number of Healthy Backend Hosts' TIMESERIES AUTO FACET azure.network.applicationgateways.backendSettingsPool" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Unhealthy backend hosts", + "layout": { + "column": 7, + "row": 12, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.UnhealthyHostCount`) AS 'Total Number of Unhealthy Backend Hosts' TIMESERIES AUTO FACET azure.network.applicationgateways.backendSettingsPool" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Total requests per backend settings pool", + "layout": { + "column": 1, + "row": 15, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.TotalRequests`) AS 'Total Requests' FACET azure.network.applicationgateways.backendSettingsPool" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Failed requests per backend settings pool", + "layout": { + "column": 8, + "row": 15, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.applicationgateways.FailedRequests`) AS 'Total Failed Requests' FACET azure.network.applicationgateways.backendSettingsPool" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Capacity units consumed", + "layout": { + "column": 1, + "row": 18, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.applicationgateways.CapacityUnits`) AS 'Average Capacity Units Consumed' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Compute units consumed", + "layout": { + "column": 7, + "row": 18, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.applicationgateways.ComputeUnits`) AS 'Average Compute Units Consumed' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Estimated billed capacity units", + "layout": { + "column": 1, + "row": 21, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.applicationgateways.EstimatedBilledCapacityUnits`) AS 'Average Estimated Billed Capacity Units' TIMESERIES AUTO" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Fixed billable capacity units", + "layout": { + "column": 7, + "row": 21, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.applicationgateways.FixedBillableCapacityUnits`) AS 'Average Fixed Billable Capacity Units' TIMESERIES AUTO" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-app-gateway/azure-app-gateway.png b/dashboards/azure-app-gateway/azure-app-gateway.png new file mode 100644 index 0000000000..bb44212141 Binary files /dev/null and b/dashboards/azure-app-gateway/azure-app-gateway.png differ diff --git a/dashboards/azure-firewalls/azure-firewall.png b/dashboards/azure-firewalls/azure-firewall.png new file mode 100644 index 0000000000..a61b993e47 Binary files /dev/null and b/dashboards/azure-firewalls/azure-firewall.png differ diff --git a/dashboards/azure-firewalls/azure-firewalls.json b/dashboards/azure-firewalls/azure-firewalls.json new file mode 100644 index 0000000000..df68edef37 --- /dev/null +++ b/dashboards/azure-firewalls/azure-firewalls.json @@ -0,0 +1,266 @@ +{ + "name": "Azure firewall", + "description": null, + "pages": [ + { + "name": "Azure firewall", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 7, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.azurefirewalls.ApplicationRuleHit`) AS 'Total Application Rules Hit', SUM(`azure.network.azurefirewalls.NetworkRuleHit`) AS 'Total Network Rules Hit', SUM(`azure.network.azurefirewalls.DataProcessed`) AS 'Total Data Processed(bytes)', AVERAGE(`azure.network.azurefirewalls.Throughput`) AS 'Average Throughput' " + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 8, + "row": 1, + "width": 5, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Azure Firewall\nAzure Firewall is a managed, cloud-based network security service that protects your Azure Virtual Network resources. The stateful firewall service has built-in high availability and unrestricted cloud scalability to help you create, enforce, and log application and network connectivity policies across subscriptions and virtual networks." + } + }, + { + "title": "Throughput", + "layout": { + "column": 1, + "row": 3, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.azurefirewalls.Throughput`) AS 'Average Throughput' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BITS_PER_SECOND" + } + } + }, + { + "title": "Firewall health state", + "layout": { + "column": 8, + "row": 3, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.azurefirewalls.FirewallHealth`)/100 AS 'Average Firewall Health' TIMESERIES AUTO FACET azure.network.azurefirewalls.status, azure.network.azurefirewalls.reason" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "SNAT port utilization", + "layout": { + "column": 1, + "row": 6, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.azurefirewalls.SNATPortUtilization`) AS 'Average SNAT Port Utilization' TIMESERIES AUTO FACET azure.network.azurefirewalls.protocol" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Data processed bytes", + "layout": { + "column": 7, + "row": 6, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.azurefirewalls.DataProcessed`) AS 'Total Data Processed' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Application rules hit by protocol & status", + "layout": { + "column": 1, + "row": 9, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.azurefirewalls.ApplicationRuleHit`) AS 'Total Application Rules Hit' FACET azure.network.azurefirewalls.protocol, azure.network.azurefirewalls.status" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Network rules hit", + "layout": { + "column": 8, + "row": 9, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.azurefirewalls.NetworkRuleHit`) AS 'Total Network Rules Hit' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-front-door/azure-front-door.json b/dashboards/azure-front-door/azure-front-door.json new file mode 100644 index 0000000000..fa39fd11f4 --- /dev/null +++ b/dashboards/azure-front-door/azure-front-door.json @@ -0,0 +1,362 @@ +{ + "name": "Azure front door", + "description": null, + "pages": [ + { + "name": "Azure front door", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 9, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.frontdoors.RequestCount`) AS 'Total Requests', SUM(`azure.network.frontdoors.BackendRequestCount`) AS 'Total Backend Requests', SUM(`azure.network.frontdoors.RequestSize`) AS 'Total Request Size', SUM(`azure.network.frontdoors.ResponseSize`) AS 'Total Response Size'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 10, + "row": 1, + "width": 3, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Azure Front Door\nAzure Front Door is Microsoft’s modern cloud Content Delivery Network (CDN) that provides fast, reliable, and secure access between your users and your applications’ static and dynamic web content across the globe. Azure Front Door delivers your content using Microsoft’s global edge network with hundreds of global and local points of presence (PoPs) distributed around the world close to both your enterprise and consumer end users." + } + }, + { + "title": "Backend health percentage", + "layout": { + "column": 1, + "row": 3, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.frontdoors.BackendHealthPercentage`) AS 'Average Backend Health Percentage' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Latency by HTTP status group", + "layout": { + "column": 5, + "row": 3, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.frontdoors.TotalLatency`) AS 'Average Latency' TIMESERIES AUTO FACET azure.network.frontdoors.httpStatusGroup" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "MS" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Backend request latency by backend", + "layout": { + "column": 9, + "row": 3, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.frontdoors.BackendRequestLatency`) AS 'Average Backend Request Latency' TIMESERIES AUTO FACET azure.network.frontdoors.backend" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "MS" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Request size by HTTP status group", + "layout": { + "column": 1, + "row": 6, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.frontdoors.RequestSize`) AS 'Total Request Size' TIMESERIES AUTO FACET azure.network.frontdoors.httpStatusGroup" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Response size by HTTP status group", + "layout": { + "column": 5, + "row": 6, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.frontdoors.ResponseSize`) AS 'Total Response Size' TIMESERIES AUTO FACET azure.network.frontdoors.httpStatusGroup" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Billable response size by HTTP status group", + "layout": { + "column": 9, + "row": 6, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.frontdoors.BillableResponseSize`) AS 'Total Billable Response Size' TIMESERIES AUTO FACET azure.network.frontdoors.httpStatusGroup" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Requests by HTTP status group", + "layout": { + "column": 1, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.frontdoors.RequestCount`) AS 'Total Requests' FACET azure.network.frontdoors.httpStatusGroup" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Backend requests by HTTP status group", + "layout": { + "column": 5, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.frontdoors.BackendRequestCount`) AS 'Total Backend Requests' FACET azure.network.frontdoors.httpStatusGroup" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Backend requests by backend", + "layout": { + "column": 9, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.frontdoors.BackendRequestCount`) AS 'Total Backend Requests' FACET azure.network.frontdoors.backend" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-front-door/azure-front-door.png b/dashboards/azure-front-door/azure-front-door.png new file mode 100644 index 0000000000..eb3105742a Binary files /dev/null and b/dashboards/azure-front-door/azure-front-door.png differ diff --git a/dashboards/azure-load-balancer/azure-load-balancer.json b/dashboards/azure-load-balancer/azure-load-balancer.json new file mode 100644 index 0000000000..4b1a286b09 --- /dev/null +++ b/dashboards/azure-load-balancer/azure-load-balancer.json @@ -0,0 +1,384 @@ +{ + "name": "Azure load balancer", + "description": null, + "pages": [ + { + "name": "Azure load balancer", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 10, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "dataFormatters": [], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.loadbalancers.ByteCount`) AS 'Total Number Of Bytes', SUM(`azure.network.loadbalancers.PacketCount`) AS 'Total Number Of Packets', AVERAGE(`azure.network.loadbalancers.DipAvailability`) AS 'Average DIP Availability', AVERAGE(`azure.network.loadbalancers.VipAvailability`) AS 'Average VIP Availability'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 11, + "row": 1, + "width": 2, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Azure Load Balancer\nAzure Load Balancer delivers high availability and network performance to your applications. It is a Layer 4 (TCP, UDP) load balancer that distributes incoming traffic among healthy instances of services defined in a load-balanced set." + } + }, + { + "title": "Number of bytes by direction", + "layout": { + "column": 1, + "row": 3, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.loadbalancers.ByteCount`) AS 'Total Number Of Bytes' TIMESERIES AUTO FACET azure.network.loadbalancers.direction" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Number of bytes by frontend ip address and frontned port", + "layout": { + "column": 6, + "row": 3, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.loadbalancers.ByteCount`) AS 'Total Number Of Bytes' FACET azure.network.loadbalancers.frontendIpAddress, azure.network.loadbalancers.frontendPort" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Number of packets by frontend port and ip address", + "layout": { + "column": 1, + "row": 6, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.loadbalancers.PacketCount`) AS 'Total Number Of Packets' FACET azure.network.loadbalancers.frontendIpAddress,azure.network.loadbalancers.frontendPort" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Number of packets by direction(IN/OUT)", + "layout": { + "column": 8, + "row": 6, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.loadbalancers.PacketCount`) AS 'Total Number Of Packets' FACET azure.network.loadbalancers.direction" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "DIP availability by frontend ip address and frontend port", + "layout": { + "column": 1, + "row": 9, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.loadbalancers.DipAvailability`) AS 'Average DIP Availability' TIMESERIES AUTO FACET azure.network.loadbalancers.frontendIpAddress, azure.network.loadbalancers.frontendPort" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "DIP availability by backend ip address and backend port", + "layout": { + "column": 7, + "row": 9, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.loadbalancers.DipAvailability`) AS 'Average DIP Availability' TIMESERIES AUTO FACET azure.network.loadbalancers.backendIpAddress, azure.network.loadbalancers.backendPort" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "SYN packets by direction(IN/OUT)", + "layout": { + "column": 1, + "row": 12, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.loadbalancers.SYNCount`) AS 'SYN Count' FACET azure.network.loadbalancers.direction" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "SYN packets by frontend ip address and frontend port", + "layout": { + "column": 6, + "row": 12, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.loadbalancers.SYNCount`) AS 'SYN Count' FACET azure.network.loadbalancers.frontendIpAddress,azure.network.loadbalancers.frontendPort" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "VIP availability by frontend ip address", + "layout": { + "column": 1, + "row": 15, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.loadbalancers.VipAvailability`) AS 'Average Data Path Availability' TIMESERIES AUTO FACET azure.network.loadbalancers.frontendIpAddress" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "VIP availability by frontend port", + "layout": { + "column": 7, + "row": 15, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.loadbalancers.VipAvailability`) AS 'Average Data Path Availability' TIMESERIES AUTO FACET azure.network.loadbalancers.frontendPort" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-load-balancer/azure-load-balancer.png b/dashboards/azure-load-balancer/azure-load-balancer.png new file mode 100644 index 0000000000..6f3de7c633 Binary files /dev/null and b/dashboards/azure-load-balancer/azure-load-balancer.png differ diff --git a/dashboards/azure-logic-apps/azure-logic-apps.json b/dashboards/azure-logic-apps/azure-logic-apps.json new file mode 100644 index 0000000000..a827309321 --- /dev/null +++ b/dashboards/azure-logic-apps/azure-logic-apps.json @@ -0,0 +1,377 @@ +{ + "name": "Azure logic apps", + "description": null, + "pages": [ + { + "name": "Azure logic apps", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(azure.logic.workflows.ActionsSucceeded) AS 'Total Actions Succeeded', SUM(azure.logic.workflows.ActionsFailed) AS 'Total Actions Failed', sum(azure.logic.workflows.RunsSucceeded) AS 'Total Runs Succeeded', SUM(azure.logic.workflows.RunsFailed) AS 'Total Runs Failed', SUM(azure.logic.workflows.TriggersSucceeded) AS 'Total Triggers Succeeded', SUM(azure.logic.workflows.TriggersFailed) AS 'Total Triggers Failed'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 8, + "row": 1, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "## Azure Logic Apps Workflow\nAzure Logic Apps Workflow refers to Azure Logic Apps under consumption plan type.\n\nAzure Logic Apps is a cloud platform where you can create and run automated workflows with little to no code. By using the visual designer and selecting from prebuilt operations, you can quickly build a workflow that integrates and manages your apps, data, services and systems." + } + }, + { + "title": "Action success latency", + "layout": { + "column": 1, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(azure.logic.workflows.ActionSuccessLatency) AS 'Average Action Success Latency' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Run success latency", + "layout": { + "column": 5, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(azure.logic.workflows.RunSuccessLatency) AS 'Average Run Success Latency' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Trigger success latency", + "layout": { + "column": 9, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(azure.logic.workflows.TriggerSuccessLatency) AS 'Average Trigger Success Latency' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Run failure percentage", + "layout": { + "column": 1, + "row": 7, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(azure.logic.workflows.RunFailurePercentage)/100 AS 'Total Run Failure Percentage' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Total billable executions", + "layout": { + "column": 7, + "row": 7, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(azure.logic.workflows.TotalBillableExecutions) AS 'Total Billable Executions' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Billing usage for storage consumption executions", + "layout": { + "column": 1, + "row": 10, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(azure.logic.workflows.BillingUsageStorageConsumption) AS 'Total Billing Usage for Storage Consumption Executions' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Billing usage for standard connector executions", + "layout": { + "column": 5, + "row": 10, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(azure.logic.workflows.BillingUsageStandardConnector) AS 'Total Billing Usage for Standard Connector Executions' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Billing usage for native operation executions", + "layout": { + "column": 9, + "row": 10, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(azure.logic.workflows.BillingUsageNativeOperation) AS 'Total Billing Usage for Native Operation Executions' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Billable action executions", + "layout": { + "column": 1, + "row": 13, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(azure.logic.workflows.BillableActionExecutions) AS 'Total Billable Action Executions' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "COUNT" + }, + "yAxisLeft": { + "zero": true + } + } + }, + { + "title": "Billable trigger executions", + "layout": { + "column": 7, + "row": 13, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(azure.logic.workflows.BillableTriggerExecutions) AS 'Total Billable Trigger Executions' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "COUNT" + }, + "yAxisLeft": { + "zero": true + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-logic-apps/azure-logic-apps.png b/dashboards/azure-logic-apps/azure-logic-apps.png new file mode 100644 index 0000000000..6c71b7e480 Binary files /dev/null and b/dashboards/azure-logic-apps/azure-logic-apps.png differ diff --git a/dashboards/azure-redis-cache/azure-redis-cache.json b/dashboards/azure-redis-cache/azure-redis-cache.json new file mode 100644 index 0000000000..bd669fc2a4 --- /dev/null +++ b/dashboards/azure-redis-cache/azure-redis-cache.json @@ -0,0 +1,356 @@ +{ + "name": "Azure redis cache", + "description": null, + "pages": [ + { + "name": "Azure redis cache", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 9, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.cache.redis.cacheRead`) AS 'Total Cache Read', SUM(`azure.cache.redis.cacheWrite`) AS 'Total Cache Write', SUM(`azure.cache.redis.connectedclients`) AS 'Total Connected Clients', SUM(`azure.cache.redis.totalcommandsprocessed`) AS 'Total Commands Processed', SUM(`azure.cache.redis.usedmemory`) AS 'Total Used Memory', SUM(`azure.cache.redis.usedmemoryRss`) AS 'Total Used Memory RSS'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 10, + "row": 1, + "width": 3, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Azure Redis Cache\nAzure Cache for Redis provides an in-memory data store based on the Redis software. Redis improves the performance and scalability of an application that uses backend data stores heavily. It's able to process large volumes of application requests by keeping frequently accessed data in the server memory, which can be written to and read from quickly. Redis brings a critical low-latency and high-throughput data storage solution to modern applications.\n\n" + } + }, + { + "title": "CPU utilization per shardId", + "layout": { + "column": 1, + "row": 3, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT MAX(`azure.cache.redis.percentProcessorTime`)/100 AS 'Maximum CPU Utilization' TIMESERIES AUTO FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + } + } + }, + { + "title": "Server load per shardId", + "layout": { + "column": 7, + "row": 3, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT MAX(`azure.cache.redis.serverLoad`)/100 AS 'Maximum Server Load' TIMESERIES AUTO FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + } + } + }, + { + "title": "Connected clients per shardId", + "layout": { + "column": 1, + "row": 6, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.cache.redis.connectedclients`) AS 'Total Connected Clients' FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Total commands processed per shardId", + "layout": { + "column": 7, + "row": 6, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.cache.redis.totalcommandsprocessed`) AS 'Total Commands Processed' FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Cache read per shardId", + "layout": { + "column": 1, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT MAX(`azure.cache.redis.cacheRead`) AS 'Maximum Cache Read' TIMESERIES AUTO FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES_PER_SECOND" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Cache write per shardId", + "layout": { + "column": 5, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT MAX(`azure.cache.redis.cacheWrite`) AS 'Maximum Cache Write' TIMESERIES AUTO FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES_PER_SECOND" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Operations per second", + "layout": { + "column": 9, + "row": 9, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.cache.redis.operationsPerSecond`) AS 'Total Operations Per Second' TIMESERIES AUTO FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Used memory per shardId", + "layout": { + "column": 1, + "row": 12, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.cache.redis.usedmemory`) AS 'Total Used Memory' FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Used memory Rss per shardId", + "layout": { + "column": 7, + "row": 12, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.cache.redis.usedmemoryRss`) AS 'Total Used memory Rss' FACET azure.cache.redis.shardId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-redis-cache/azure-redis-cache.png b/dashboards/azure-redis-cache/azure-redis-cache.png new file mode 100644 index 0000000000..e3c529830f Binary files /dev/null and b/dashboards/azure-redis-cache/azure-redis-cache.png differ diff --git a/dashboards/azure-sql-managed-instance/azure-sql-managed-instance.json b/dashboards/azure-sql-managed-instance/azure-sql-managed-instance.json new file mode 100644 index 0000000000..36a7e49bb9 --- /dev/null +++ b/dashboards/azure-sql-managed-instance/azure-sql-managed-instance.json @@ -0,0 +1,272 @@ +{ + "name": "Azure SQL managed instance", + "description": null, + "pages": [ + { + "name": "Azure SQL managed instances", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.managedinstances.io_bytes_read`) AS 'Total IO Bytes Read', SUM(`azure.sql.managedinstances.io_bytes_written`) AS 'Toatl IO Bytes Written', SUM(`azure.sql.managedinstances.io_requests`) AS 'Total IO Requests', SUM(`azure.sql.managedinstances.virtual_core_count`) AS 'Total Virtual core count'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 8, + "row": 1, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "## Azure SQL Managed Instance\n\nAzure SQL Managed Instance is a scalable cloud database service that's always running on the latest stable version of the Microsoft SQL Server database engine and a patched OS with 99.99% built-in high availability, offering close to 100% feature compatibility with SQL Server." + } + }, + { + "title": "IO bytes read/written", + "layout": { + "column": 1, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.managedinstances.io_bytes_read`) AS 'Total IO Bytes Read', SUM(`azure.sql.managedinstances.io_bytes_read`) AS 'Total IO Bytes Written' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "CPU", + "layout": { + "column": 7, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.sql.managedinstances.avg_cpu_percent`) AS 'Average CPU' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "IO requests", + "layout": { + "column": 1, + "row": 7, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.managedinstances.io_requests`) AS 'Total IO Requests' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Virtual core count", + "layout": { + "column": 8, + "row": 7, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.managedinstances.virtual_core_count`) AS 'Total Virtual Core Count' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Storage space Reserved", + "layout": { + "column": 1, + "row": 10, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.managedinstances.reserved_storage_mb`) AS 'Total Storage Space Reserved' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Storage space used", + "layout": { + "column": 6, + "row": 10, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.managedinstances.storage_space_used_mb`) AS 'Total Storage Space Used' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-sql-managed-instance/azure-sql-managed-instance.png b/dashboards/azure-sql-managed-instance/azure-sql-managed-instance.png new file mode 100644 index 0000000000..16972f00b5 Binary files /dev/null and b/dashboards/azure-sql-managed-instance/azure-sql-managed-instance.png differ diff --git a/dashboards/azure-sql/azure-sql.json b/dashboards/azure-sql/azure-sql.json new file mode 100644 index 0000000000..534acb1aaf --- /dev/null +++ b/dashboards/azure-sql/azure-sql.json @@ -0,0 +1,669 @@ +{ + "name": "Azure SQL database", + "description": null, + "pages": [ + { + "name": "Azure SQL database", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 8, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "dataFormatters": [ + { + "name": "Average DTU Usage", + "precision": 2, + "type": "decimal" + }, + { + "name": "Average Sessions Count", + "precision": 2, + "type": "decimal" + }, + { + "name": "Average CPU Usage (%)", + "precision": 2, + "type": "decimal" + } + ], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(azure.sql.servers.databases.cpu_percent) AS 'Average CPU Usage (%)', AVERAGE(azure.sql.servers.databases.dtu_used) AS 'Average DTU Usage', AVERAGE(azure.sql.servers.databases.sessions_count) AS 'Average Sessions Count', SUM(azure.sql.servers.databases.workers_percent) AS 'Total Workers Percent'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 9, + "row": 1, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Azure SQL Database\nAzure SQL Database is a fully managed platform as a service (PaaS) database engine that handles most of the database management functions such as upgrading, patching, backups, and monitoring without user involvement." + } + }, + { + "title": "Connections details", + "layout": { + "column": 1, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.servers.databases.connection_successful`) AS 'Total Successful Connections', SUM(`azure.sql.servers.databases.connection_failed`) AS 'Total Failed Connections : System', SUM(`azure.sql.servers.databases.connection_failed_user_error`) AS 'Total Failed Connections\t: User' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Failed connections : user errors", + "layout": { + "column": 7, + "row": 4, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.servers.databases.connection_failed_user_error`) AS 'Total Failed Connections : User Errors' FACET azure.sql.servers.databases.error" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Failed connections : system errors\t", + "layout": { + "column": 10, + "row": 4, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.servers.databases.connection_failed`) AS 'Total Failed Connections : System Errors'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": [ + { + "value": 0 + } + ] + } + }, + { + "title": "DTU usage details", + "layout": { + "column": 1, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(azure.sql.servers.databases.dtu_limit) AS 'Average DTU Limit', AVERAGE(azure.sql.servers.databases.dtu_used) AS 'Average DTU Used' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "DWU usage details", + "layout": { + "column": 5, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.sql.servers.databases.dwu_limit`) AS 'Average DWU Limit', AVERAGE(`azure.sql.servers.databases.dwu_used`) AS 'Average DWU Used' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "CPU usage details", + "layout": { + "column": 9, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(azure.sql.servers.databases.cpu_limit) AS 'Average CPU Limit', AVERAGE(azure.sql.servers.databases.cpu_used) AS 'Average CPU Used' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Database size (bytes)", + "layout": { + "column": 1, + "row": 10, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT MAX(`azure.sql.servers.databases.storage`) AS 'Maximum Data Space Used', MAX(`azure.sql.servers.databases.allocated_data_storage`) AS 'Maximum Allocated Data Storage' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Tempdb usage (Kilobytes)", + "layout": { + "column": 7, + "row": 10, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT MAX(`azure.sql.servers.databases.tempdb_log_size`) AS 'Maximum Tempdb Log File Size', MAX(azure.sql.servers.databases.tempdb_data_size) AS 'Maximum Tempdb Data File Size' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Cache usage", + "layout": { + "column": 1, + "row": 13, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.sql.servers.databases.cache_used_percent`) AS 'Average Cache used percentage', AVERAGE(`azure.sql.servers.databases.cache_hit_percent`) AS 'Average Cache hit percentage' TIMESERIES AUTO" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Backup details", + "layout": { + "column": 5, + "row": 13, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT MAX(`azure.sql.servers.databases.full_backup_size_bytes`) AS 'Maximum Full Backup Storage Size', MAX(`azure.sql.servers.databases.snapshot_backup_size_bytes`) AS 'Maximum Data Backup Storage Size', MAX(`azure.sql.servers.databases.diff_backup_size_bytes`) AS 'Maximum Differential Backup Storage Size', MAX(`azure.sql.servers.databases.log_backup_size_bytes`) AS 'Maximum Log Backup Storage Size' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Data & log IO", + "layout": { + "column": 9, + "row": 13, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.sql.servers.databases.physical_data_read_percent`) AS 'Average Data IO Percentage', AVERAGE(`azure.sql.servers.databases.log_write_percent`) AS 'Average Log IO Percentage' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Errors", + "layout": { + "column": 1, + "row": 16, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.servers.databases.blocked_by_firewall`) AS 'Total Blocked By Firewall', SUM(`azure.sql.servers.databases.deadlock`) AS 'Total Deadlocks', SUM(`azure.sql.servers.databases.ledger_digest_upload_failed`) AS 'Total Failed Ledger Digest Uploads' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Query details", + "layout": { + "column": 8, + "row": 16, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.servers.databases.active_queries`) AS 'Total Active Queries', SUM(`azure.sql.servers.databases.queued_queries`) AS 'Total Queued Queries' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "App CPU details", + "layout": { + "column": 1, + "row": 19, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.servers.databases.app_cpu_billed`) AS 'Total App CPU Billed', SUM(`azure.sql.servers.databases.app_cpu_billed_ha_replicas`) AS 'Total App CPU Billed HA Replicas' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "App CPU & memory", + "layout": { + "column": 6, + "row": 19, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.sql.servers.databases.app_cpu_percent`)/100 AS 'Average App CPU Percentage', AVERAGE(`azure.sql.servers.databases.app_memory_percent`)/100 AS 'Average Memory Percentage' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Workload group query details", + "layout": { + "column": 1, + "row": 22, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.sql.servers.databases.wlg_active_queries`) AS 'Total Workload Group Active Queries', SUM(`azure.sql.servers.databases.wlg_queued_queries`) AS 'Total Workload Group Queued Queries', SUM(`azure.sql.servers.databases.wlg_active_queries_timeouts`) AS 'Total Workload Group Query Timeouts' TIMESERIES AUTO" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "COUNT" + } + } + }, + { + "title": "Workload group allocation", + "layout": { + "column": 7, + "row": 22, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT MAX(`azure.sql.servers.databases.wlg_allocation_relative_to_system_percent`) AS 'Max Workload group allocation by System percent', MAX(`azure.sql.servers.databases.wlg_allocation_relative_to_wlg_effective_cap_percent`) AS 'Max Workload group allocation by Cap Resource percent', MAX(`azure.sql.servers.databases.wlg_effective_cap_resource_percent`) AS 'Max Effective cap resource percent', MAX(`azure.sql.servers.databases.wlg_effective_min_resource_percent`) AS 'Max Effective min resource percent' TIMESERIES AUTO" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "PERCENTAGE" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-sql/azure-sql.png b/dashboards/azure-sql/azure-sql.png new file mode 100644 index 0000000000..adad352e24 Binary files /dev/null and b/dashboards/azure-sql/azure-sql.png differ diff --git a/dashboards/azure-virtual-machine-scaleset/azure-virtual-machine-scaleset.json b/dashboards/azure-virtual-machine-scaleset/azure-virtual-machine-scaleset.json new file mode 100644 index 0000000000..5849bf49a9 --- /dev/null +++ b/dashboards/azure-virtual-machine-scaleset/azure-virtual-machine-scaleset.json @@ -0,0 +1,407 @@ +{ + "name": "Azure virtual machine scale set", + "description": null, + "pages": [ + { + "name": "Azure virtual machine scale set", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 9, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.compute.virtualmachinescalesets.CPUCreditsConsumed`) AS 'Average CPU Credits Consumed', AVERAGE(`azure.compute.virtualmachinescalesets.CPUCreditsRemaining`) AS 'Average CPU Credits Remaining', SUM(`azure.compute.virtualmachinescalesets.DiskReadBytes`) AS 'Total Disk Read Bytes', SUM(`azure.compute.virtualmachinescalesets.DiskWriteBytes`) AS 'Total Disk Write Bytes', SUM(`azure.compute.virtualmachinescalesets.InboundFlows`) AS 'Total Inbound Flows', SUM(`azure.compute.virtualmachinescalesets.OutboundFlows`) AS 'Total Outbound Flows'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 10, + "row": 1, + "width": 3, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Azure Virtual Machine Scale set\n\nAzure Virtual Machine Scale Sets let you create and manage a group of load balanced VMs. The number of VM instances can automatically increase or decrease in response to demand or a defined schedule. " + } + }, + { + "title": "CPU credits", + "layout": { + "column": 1, + "row": 3, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.compute.virtualmachinescalesets.CPUCreditsConsumed`) AS 'Average CPU Credits Consumed', AVERAGE(`azure.compute.virtualmachinescalesets.CPUCreditsRemaining`) AS 'Average CPU Credits Remaining' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "CPU percentage", + "layout": { + "column": 7, + "row": 3, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.compute.virtualmachinescalesets.PercentageCPU`) AS 'Average CPU Percentage' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Inbound/Outbound flows", + "layout": { + "column": 1, + "row": 6, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.compute.virtualmachinescalesets.InboundFlows`) AS 'Total Inbound Flows', SUM(`azure.compute.virtualmachinescalesets.OutboundFlows`) AS 'Total Outbound Flows' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Inbound/Outbound flows maximum creation rate", + "layout": { + "column": 7, + "row": 6, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.compute.virtualmachinescalesets.InboundFlowsMaximumCreationRate`) AS 'Average Inbound Flows Maximum Creation Rate', AVERAGE(`azure.compute.virtualmachinescalesets.OutboundFlowsMaximumCreationRate`) AS 'Average Outbound Flows Maximum Creation Rate' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "OS disk read/write operations/sec", + "layout": { + "column": 1, + "row": 9, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.compute.virtualmachinescalesets.OSDiskReadOperationsSec`) AS 'Average OS Disk Read Operations/Sec', AVERAGE(`azure.compute.virtualmachinescalesets.OSDiskWriteOperationsSec`) AS 'Average OS Disk Write Operations/Sec' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "OS disk read/write bytes/sec", + "layout": { + "column": 8, + "row": 9, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.compute.virtualmachinescalesets.OSDiskReadBytessec`) AS 'Average OS Disk Read Bytes/Sec', AVERAGE(`azure.compute.virtualmachinescalesets.OSDiskWriteBytessec`) AS 'Average OS Disk Write Bytes/Sec' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES_PER_SECOND" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Disk read/write bytes", + "layout": { + "column": 1, + "row": 12, + "width": 5, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.compute.virtualmachinescalesets.DiskReadBytes`) AS 'Total Disk Read Bytes', SUM(`azure.compute.virtualmachinescalesets.DiskWriteBytes`) AS 'Total Disk Write Bytes' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Disk read/write operations/sec", + "layout": { + "column": 6, + "row": 12, + "width": 7, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.compute.virtualmachinescalesets.DiskReadOperationsSec`) AS 'Average Disk Read Operations/Sec', AVERAGE(`azure.compute.virtualmachinescalesets.DiskWriteOperationsSec`) AS 'Average Disk Write Operations/Sec' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Total Network in/out", + "layout": { + "column": 1, + "row": 15, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.compute.virtualmachinescalesets.NetworkInTotal`) AS 'Total Network In', SUM(`azure.compute.virtualmachinescalesets.NetworkOutTotal`) AS 'Total Network Out' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "OS disk queue depth", + "layout": { + "column": 7, + "row": 15, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.compute.virtualmachinescalesets.OSDiskQueueDepth`) AS 'Average OS Disk Queue Depth' TIMESERIES AUTO " + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-virtual-machine-scaleset/azure-virtual-machine-scaleset.png b/dashboards/azure-virtual-machine-scaleset/azure-virtual-machine-scaleset.png new file mode 100644 index 0000000000..cd0ac14a0f Binary files /dev/null and b/dashboards/azure-virtual-machine-scaleset/azure-virtual-machine-scaleset.png differ diff --git a/dashboards/azure-vpn-gateways/azure-vpn-gateway.json b/dashboards/azure-vpn-gateways/azure-vpn-gateway.json new file mode 100644 index 0000000000..9d2f8e4dca --- /dev/null +++ b/dashboards/azure-vpn-gateways/azure-vpn-gateway.json @@ -0,0 +1,419 @@ +{ + "name": "Azure VPN gateways", + "description": null, + "pages": [ + { + "name": "Azure VPN gateways", + "description": null, + "widgets": [ + { + "title": "Summary", + "layout": { + "column": 1, + "row": 1, + "width": 9, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.virtualnetworkgateways.P2SConnectionCount`) AS 'Total P2S Connection Count', AVERAGE(`azure.network.virtualnetworkgateways.AverageBandwidth`) AS 'Average S2S Bandwidth', SUM(`azure.network.virtualnetworkgateways.TunnelEgressBytes`) AS 'Total Tunnel Egress Bytes', SUM(`azure.network.virtualnetworkgateways.TunnelIngressBytes`) AS 'Total Tunnel Ingress Bytes', SUM(`azure.network.virtualnetworkgateways.TunnelEgressPackets`) AS 'Total Tunnel Egress Packets', SUM(`azure.network.virtualnetworkgateways.TunnelIngressPackets`) AS 'Total Tunnel Ingress Packets'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "", + "layout": { + "column": 10, + "row": 1, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": "# Azure VPN Gateway\nAzure VPN Gateway is a service that uses a specific type of virtual network gateway to send encrypted traffic between an Azure virtual network and on-premises locations over the public Internet. You can also use VPN Gateway to send encrypted traffic between Azure virtual networks over the Microsoft network. Multiple connections can be created to the same VPN gateway. When you create multiple connections, all VPN tunnels share the available gateway bandwidth." + } + }, + { + "title": "Tunnel bandwidth per connection name", + "layout": { + "column": 1, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.virtualnetworkgateways.TunnelAverageBandwidth`) AS 'Average Tunnel Bandwidth' TIMESERIES AUTO FACET azure.network.virtualnetworkgateways.connectionName" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES_PER_SECOND" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Tunnel bandwidth per remoteIP", + "layout": { + "column": 7, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.virtualnetworkgateways.TunnelAverageBandwidth`) AS 'Average Tunnel Bandwidth' TIMESERIES AUTO FACET azure.network.virtualnetworkgateways.remoteIP" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES_PER_SECOND" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Tunnel egress/ingress bytes", + "layout": { + "column": 1, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "colors": { + "seriesOverrides": [ + { + "color": "#3d1e5c", + "seriesName": "Instance0" + } + ] + }, + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.virtualnetworkgateways.TunnelEgressBytes`) AS 'Total Egress Bytes', SUM(`azure.network.virtualnetworkgateways.TunnelIngressBytes`) AS 'Total Ingress Bytes' TIMESERIES AUTO" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Tunnel ingress bytes per remoteIP", + "layout": { + "column": 5, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "colors": { + "seriesOverrides": [ + { + "color": "#3918dc", + "seriesName": "104.42.152.204" + }, + { + "color": "#977517", + "seriesName": "1.2.3.4" + } + ] + }, + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.virtualnetworkgateways.TunnelIngressBytes`) AS 'Total Tunnel Ingress Bytes' TIMESERIES AUTO FACET azure.network.virtualnetworkgateways.remoteIP" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Tunnel egress bytes per remoteIP", + "layout": { + "column": 9, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.stacked-bar" + }, + "rawConfiguration": { + "colors": { + "seriesOverrides": [ + { + "color": "#3a8230", + "seriesName": "104.42.152.204" + }, + { + "color": "#741fdb", + "seriesName": "1.2.3.4" + } + ] + }, + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.virtualnetworkgateways.TunnelEgressBytes`) AS 'Total Tunnel Egress Bytes' TIMESERIES AUTO FACET azure.network.virtualnetworkgateways.remoteIP" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES" + } + } + }, + { + "title": "Tunnel ingress packets per remoteIP", + "layout": { + "column": 1, + "row": 10, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "colors": { + "seriesOverrides": [ + { + "color": "#481414", + "seriesName": "1.2.3.4" + } + ] + }, + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.virtualnetworkgateways.TunnelIngressPackets`) AS 'Total Tunnel Ingress Packets' FACET azure.network.virtualnetworkgateways.remoteIP" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Tunnel egress packets per remoteIP", + "layout": { + "column": 7, + "row": 10, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.virtualnetworkgateways.TunnelEgressPackets`) AS 'Total Tunnel Egress Packets' FACET azure.network.virtualnetworkgateways.remoteIP" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Gateway S2S bandwidth", + "layout": { + "column": 1, + "row": 13, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.area" + }, + "rawConfiguration": { + "colors": { + "seriesOverrides": [ + { + "color": "#970af5", + "seriesName": "Instance0" + } + ] + }, + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT AVERAGE(`azure.network.virtualnetworkgateways.AverageBandwidth`) AS 'Average Gateway S2S Bandwidth' TIMESERIES AUTO" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "units": { + "unit": "BYTES_PER_SECOND" + } + } + }, + { + "title": "P2sconnection count per protocol", + "layout": { + "column": 7, + "row": 13, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.pie" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": true + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "FROM Metric SELECT SUM(`azure.network.virtualnetworkgateways.P2SConnectionCount`) AS 'Total P2SConnectionCount' FACET azure.network.virtualnetworkgateways.protocol" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + } + ], + "variables": [] +} diff --git a/dashboards/azure-vpn-gateways/azure-vpn-gateway.png b/dashboards/azure-vpn-gateways/azure-vpn-gateway.png new file mode 100644 index 0000000000..dd7315ae9c Binary files /dev/null and b/dashboards/azure-vpn-gateways/azure-vpn-gateway.png differ diff --git a/quickstarts/azure/azure-app-gateway/config.yml b/quickstarts/azure/azure-app-gateway/config.yml new file mode 100644 index 0000000000..169aa0b503 --- /dev/null +++ b/quickstarts/azure/azure-app-gateway/config.yml @@ -0,0 +1,38 @@ +slug: azure-app-gateway +description: |- + ## What is Azure App Gateway? + + Azure Application Gateway is a web traffic (OSI layer 7) load balancer that enables you to manage traffic to your web applications. + + + ### Get started! + + Start monitoring Azure App Gateway by connecting Microsoft Azure to New Relic! + + Check out our Azure App Gateway documentation to instrument your cloud service and manage the stability, scalability, and reliability of your systems with New Relic's infrastructure monitoring capabilities. + + ### More info + + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-application-gateway-monitoring-integration/) to learn more about New Relic monitoring for Azure App Gateway. +summary: Monitor Azure App Gateway by connecting Azure to New Relic +icon: logo.svg +level: New Relic +authors: + - New Relic + - Emil Hammarstrand +title: Azure App Gateway +documentation: + - name: Azure App Gateway installation docs + description: | + Monitor Azure App Gateway by connecting Azure to New Relic. + url: https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-application-gateway-monitoring-integration/ +keywords: + - azure + - application gateway + - app gateway +installPlans: + - azure-infrastructure-monitoring +dataSourceIds: + - microsoft-azure +dashboards: + - azure-app-gateway \ No newline at end of file diff --git a/quickstarts/azure/azure-app-gateway/logo.svg b/quickstarts/azure/azure-app-gateway/logo.svg new file mode 100644 index 0000000000..d0fd417aec --- /dev/null +++ b/quickstarts/azure/azure-app-gateway/logo.svg @@ -0,0 +1,51 @@ + + + Azure / Application Gateway + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/quickstarts/azure/azure-front-door/config.yml b/quickstarts/azure/azure-front-door/config.yml index 6dc5c147b8..fb42846dc9 100644 --- a/quickstarts/azure/azure-front-door/config.yml +++ b/quickstarts/azure/azure-front-door/config.yml @@ -34,3 +34,5 @@ installPlans: - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure +dashboards: + - azure-front-door diff --git a/quickstarts/azure/azure-load-balancer/config.yml b/quickstarts/azure/azure-load-balancer/config.yml index 51624baf69..7ce4b8f38c 100644 --- a/quickstarts/azure/azure-load-balancer/config.yml +++ b/quickstarts/azure/azure-load-balancer/config.yml @@ -34,3 +34,5 @@ installPlans: - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure +dashboards: + - azure-load-balancer diff --git a/quickstarts/azure/azure-logic-apps/config.yml b/quickstarts/azure/azure-logic-apps/config.yml index b2165b6b82..0aeccf145a 100644 --- a/quickstarts/azure/azure-logic-apps/config.yml +++ b/quickstarts/azure/azure-logic-apps/config.yml @@ -33,3 +33,5 @@ installPlans: - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure +dashboards: + - azure-logic-apps diff --git a/quickstarts/azure/azure-redis-cache/config.yml b/quickstarts/azure/azure-redis-cache/config.yml index b688e32270..0c51ad7832 100644 --- a/quickstarts/azure/azure-redis-cache/config.yml +++ b/quickstarts/azure/azure-redis-cache/config.yml @@ -34,3 +34,5 @@ installPlans: - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure +dashboards: + - azure-redis-cache diff --git a/quickstarts/azure/azure-sql-database/config.yml b/quickstarts/azure/azure-sql-database/config.yml index 9e956a0396..c6be884ac2 100644 --- a/quickstarts/azure/azure-sql-database/config.yml +++ b/quickstarts/azure/azure-sql-database/config.yml @@ -34,3 +34,5 @@ installPlans: - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure +dashboards: + - azure-sql diff --git a/quickstarts/azure/azure-sql-managed-instances/config.yml b/quickstarts/azure/azure-sql-managed-instances/config.yml index bf1cb23ceb..1d9702114b 100644 --- a/quickstarts/azure/azure-sql-managed-instances/config.yml +++ b/quickstarts/azure/azure-sql-managed-instances/config.yml @@ -13,7 +13,7 @@ description: |- ### More info - Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-sql-managed-instances-monitoring-integration/) to learn more about New Relic monitoring for Azure SQL Managed Instances. + Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/azure-integrations-list/azure-sql-managed-instances-monitoring-integration/) to learn more about New Relic monitoring for Azure SQL Managed Instances. summary: Monitor Azure SQL Managed Instances by connecting Azure to New Relic icon: logo.svg level: New Relic @@ -31,3 +31,5 @@ installPlans: - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure +dashboards: + - azure-sql-managed-instance diff --git a/quickstarts/azure/azure-virtual-machine-scale-sets/config.yml b/quickstarts/azure/azure-virtual-machine-scale-sets/config.yml index f41e8ffbad..2ea5c2801c 100644 --- a/quickstarts/azure/azure-virtual-machine-scale-sets/config.yml +++ b/quickstarts/azure/azure-virtual-machine-scale-sets/config.yml @@ -33,3 +33,5 @@ installPlans: - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure +dashboards: + - azure-virtual-machine-scaleset diff --git a/quickstarts/azure/azure-vpn-gateways/config.yml b/quickstarts/azure/azure-vpn-gateways/config.yml index 58326caaf7..d54b634e74 100644 --- a/quickstarts/azure/azure-vpn-gateways/config.yml +++ b/quickstarts/azure/azure-vpn-gateways/config.yml @@ -34,3 +34,5 @@ installPlans: - azure-infrastructure-monitoring dataSourceIds: - microsoft-azure +dashboards: + - azure-vpn-gateway