From 318ebb3c29a866e51a922c4cda13630c0760ba93 Mon Sep 17 00:00:00 2001 From: Laurenz Kirchmayr Date: Sat, 15 Jun 2024 12:13:24 +0200 Subject: [PATCH 1/7] adds test dashboard --- dashboards/main.tpl | 175 ++++++++++++++++++++++++++++++++++++++++++++ infra/monitoring.tf | 14 +++- 2 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 dashboards/main.tpl diff --git a/dashboards/main.tpl b/dashboards/main.tpl new file mode 100644 index 0000000..fa04d45 --- /dev/null +++ b/dashboards/main.tpl @@ -0,0 +1,175 @@ +{ + "properties": { + "lenses": { + "0": { + "order": 0, + "parts": { + "0": { + "position": { + "x": 0, + "y": 0, + "colSpan": 3, + "rowSpan": 5 + }, + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/MarkdownPart", + "settings": { + "content": { + "content": "# Scrapers\nThe scrapers are implemented as an Azure Function App, and scrape Genossenschafts websites according to a cron-schedule. After successful data-extraction, information about appartment listings gets written to the `scraper-result-queue` queue.", + "title": "", + "subtitle": "", + "markdownSource": 1, + "markdownUri": "" + } + } + } + }, + "1": { + "position": { + "x": 3, + "y": 0, + "colSpan": 10, + "rowSpan": 1 + }, + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/MarkdownPart", + "settings": { + "content": { + "content": "## BWSG Scraper", + "title": "", + "subtitle": "", + "markdownSource": 1, + "markdownUri": "" + } + } + } + }, + "2": { + "position": { + "x": 3, + "y": 1, + "colSpan": 4, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "sharedTimeRange", + "isOptional": true + }, + { + "name": "options", + "value": { + "chart": { + "title": "Successful Execution Count - BWSG", + "metrics": [ + { + "name": "bwsg_scraper Successes", + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/appinsights-gewoscout" + }, + "aggregationType": 1 + } + ], + "visualization": { + "disablePinning": true + } + } + }, + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [ + { + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/appinsights-gewoscout" + }, + "name": "customMetrics/bwsg_scraper Successes", + "aggregationType": 1, + "namespace": "microsoft.insights/components/kusto", + "metricVisualization": { + "displayName": "bwsg_scraper Successes" + } + } + ], + "title": "Successful Execution Count", + "titleKind": 2, + "visualization": { + "chartType": 2, + "legendVisualization": { + "isVisible": true, + "position": 2, + "hideHoverCard": false, + "hideLabelNames": true + }, + "axisVisualization": { + "x": { + "isVisible": true, + "axisType": 2 + }, + "y": { + "isVisible": true, + "axisType": 1 + } + }, + "disablePinning": true + } + } + } + } + } + } + } + } + } + }, + "metadata": { + "model": { + "timeRange": { + "value": { + "relative": { + "duration": 24, + "timeUnit": 1 + } + }, + "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange" + }, + "filterLocale": { + "value": "en-us" + }, + "filters": { + "value": { + "MsPortalFx_TimeRange": { + "model": { + "format": "local", + "granularity": "auto", + "relative": "1h" + }, + "displayCache": { + "name": "Local Time", + "value": "Past hour" + }, + "filteredPartIds": [ + "StartboardPart-MonitorChartPart-86a97885-31ad-4d31-90ba-35d0b493ff34" + ] + } + } + } + } + } + }, + "name": "${dashboard_name}", + "type": "Microsoft.Portal/dashboards", + "location": "INSERT LOCATION", + "tags": { + "hidden-title": "${dashboard_name}" + }, + "apiVersion": "2015-08-01-preview" +} \ No newline at end of file diff --git a/infra/monitoring.tf b/infra/monitoring.tf index cbafd31..65957a7 100644 --- a/infra/monitoring.tf +++ b/infra/monitoring.tf @@ -4,4 +4,16 @@ resource "azurerm_application_insights" "ai" { location = data.azurerm_resource_group.rg.location resource_group_name = data.azurerm_resource_group.rg.name application_type = "other" -} \ No newline at end of file +} + +resource "azurerm_portal_dashboard" "main-dashboard" { + name = "GewoScout Main Dashboard" + resource_group_name = data.azurerm_resource_group.rg.name + location = data.azurerm_resource_group.rg.location + + dashboard_properties = templatefile("../dashboards/main.tpl", { + dashboard_name = "GewoScout Main Dashboard" + subscription_id = "e31c37ff-9b82-4f6b-8337-51314cc300ff" + resource_group = data.azurerm_resource_group.rg.name + }) +} From 662766d7e67a5f11b1bcbbb7c950800db1d8b70f Mon Sep 17 00:00:00 2001 From: Laurenz Kirchmayr Date: Sat, 15 Jun 2024 12:28:56 +0200 Subject: [PATCH 2/7] fixes template format --- dashboards/main.tpl | 289 +++++++++++++++++++++----------------------- 1 file changed, 140 insertions(+), 149 deletions(-) diff --git a/dashboards/main.tpl b/dashboards/main.tpl index fa04d45..9cf8887 100644 --- a/dashboards/main.tpl +++ b/dashboards/main.tpl @@ -1,126 +1,124 @@ { - "properties": { - "lenses": { - "0": { - "order": 0, - "parts": { - "0": { - "position": { - "x": 0, - "y": 0, - "colSpan": 3, - "rowSpan": 5 - }, - "metadata": { - "inputs": [], - "type": "Extension/HubsExtension/PartType/MarkdownPart", - "settings": { - "content": { - "content": "# Scrapers\nThe scrapers are implemented as an Azure Function App, and scrape Genossenschafts websites according to a cron-schedule. After successful data-extraction, information about appartment listings gets written to the `scraper-result-queue` queue.", - "title": "", - "subtitle": "", - "markdownSource": 1, - "markdownUri": "" - } + "lenses": { + "0": { + "order": 0, + "parts": { + "0": { + "position": { + "x": 0, + "y": 0, + "colSpan": 3, + "rowSpan": 5 + }, + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/MarkdownPart", + "settings": { + "content": { + "content": "# Scrapers\nThe scrapers are implemented as an Azure Function App, and scrape Genossenschafts websites according to a cron-schedule. After successful data-extraction, information about appartment listings gets written to the `scraper-result-queue` queue.", + "title": "", + "subtitle": "", + "markdownSource": 1, + "markdownUri": "" } } + } + }, + "1": { + "position": { + "x": 3, + "y": 0, + "colSpan": 10, + "rowSpan": 1 }, - "1": { - "position": { - "x": 3, - "y": 0, - "colSpan": 10, - "rowSpan": 1 - }, - "metadata": { - "inputs": [], - "type": "Extension/HubsExtension/PartType/MarkdownPart", - "settings": { - "content": { - "content": "## BWSG Scraper", - "title": "", - "subtitle": "", - "markdownSource": 1, - "markdownUri": "" - } + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/MarkdownPart", + "settings": { + "content": { + "content": "## BWSG Scraper", + "title": "", + "subtitle": "", + "markdownSource": 1, + "markdownUri": "" } } + } + }, + "2": { + "position": { + "x": 3, + "y": 1, + "colSpan": 4, + "rowSpan": 4 }, - "2": { - "position": { - "x": 3, - "y": 1, - "colSpan": 4, - "rowSpan": 4 - }, - "metadata": { - "inputs": [ - { - "name": "sharedTimeRange", - "isOptional": true - }, - { - "name": "options", - "value": { - "chart": { - "title": "Successful Execution Count - BWSG", - "metrics": [ - { - "name": "bwsg_scraper Successes", - "resourceMetadata": { - "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/appinsights-gewoscout" - }, - "aggregationType": 1 - } - ], - "visualization": { - "disablePinning": true + "metadata": { + "inputs": [ + { + "name": "sharedTimeRange", + "isOptional": true + }, + { + "name": "options", + "value": { + "chart": { + "title": "Successful Execution Count - BWSG", + "metrics": [ + { + "name": "bwsg_scraper Successes", + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/appinsights-gewoscout" + }, + "aggregationType": 1 } + ], + "visualization": { + "disablePinning": true } - }, - "isOptional": true - } - ], - "type": "Extension/HubsExtension/PartType/MonitorChartPart", - "settings": { - "content": { - "options": { - "chart": { - "metrics": [ - { - "resourceMetadata": { - "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/appinsights-gewoscout" - }, - "name": "customMetrics/bwsg_scraper Successes", - "aggregationType": 1, - "namespace": "microsoft.insights/components/kusto", - "metricVisualization": { - "displayName": "bwsg_scraper Successes" - } + } + }, + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [ + { + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/appinsights-gewoscout" + }, + "name": "customMetrics/bwsg_scraper Successes", + "aggregationType": 1, + "namespace": "microsoft.insights/components/kusto", + "metricVisualization": { + "displayName": "bwsg_scraper Successes" } - ], - "title": "Successful Execution Count", - "titleKind": 2, - "visualization": { - "chartType": 2, - "legendVisualization": { + } + ], + "title": "Successful Execution Count", + "titleKind": 2, + "visualization": { + "chartType": 2, + "legendVisualization": { + "isVisible": true, + "position": 2, + "hideHoverCard": false, + "hideLabelNames": true + }, + "axisVisualization": { + "x": { "isVisible": true, - "position": 2, - "hideHoverCard": false, - "hideLabelNames": true - }, - "axisVisualization": { - "x": { - "isVisible": true, - "axisType": 2 - }, - "y": { - "isVisible": true, - "axisType": 1 - } + "axisType": 2 }, - "disablePinning": true - } + "y": { + "isVisible": true, + "axisType": 1 + } + }, + "disablePinning": true } } } @@ -129,47 +127,40 @@ } } } - }, - "metadata": { - "model": { - "timeRange": { - "value": { - "relative": { - "duration": 24, - "timeUnit": 1 - } - }, - "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange" - }, - "filterLocale": { - "value": "en-us" + } + }, + "metadata": { + "model": { + "timeRange": { + "value": { + "relative": { + "duration": 24, + "timeUnit": 1 + } }, - "filters": { - "value": { - "MsPortalFx_TimeRange": { - "model": { - "format": "local", - "granularity": "auto", - "relative": "1h" - }, - "displayCache": { - "name": "Local Time", - "value": "Past hour" - }, - "filteredPartIds": [ - "StartboardPart-MonitorChartPart-86a97885-31ad-4d31-90ba-35d0b493ff34" - ] - } + "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange" + }, + "filterLocale": { + "value": "en-us" + }, + "filters": { + "value": { + "MsPortalFx_TimeRange": { + "model": { + "format": "local", + "granularity": "auto", + "relative": "1h" + }, + "displayCache": { + "name": "Local Time", + "value": "Past hour" + }, + "filteredPartIds": [ + "StartboardPart-MonitorChartPart-86a97885-31ad-4d31-90ba-35d0b493ff34" + ] } } } } - }, - "name": "${dashboard_name}", - "type": "Microsoft.Portal/dashboards", - "location": "INSERT LOCATION", - "tags": { - "hidden-title": "${dashboard_name}" - }, - "apiVersion": "2015-08-01-preview" + } } \ No newline at end of file From dd6732e1aacfa5a1e78760c72ce8701bb0a6f0cb Mon Sep 17 00:00:00 2001 From: Laurenz Kirchmayr Date: Sat, 15 Jun 2024 12:38:37 +0200 Subject: [PATCH 3/7] fmts --- infra/monitoring.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/infra/monitoring.tf b/infra/monitoring.tf index 65957a7..2527c9e 100644 --- a/infra/monitoring.tf +++ b/infra/monitoring.tf @@ -12,8 +12,8 @@ resource "azurerm_portal_dashboard" "main-dashboard" { location = data.azurerm_resource_group.rg.location dashboard_properties = templatefile("../dashboards/main.tpl", { - dashboard_name = "GewoScout Main Dashboard" + dashboard_name = "GewoScout Main Dashboard" subscription_id = "e31c37ff-9b82-4f6b-8337-51314cc300ff" - resource_group = data.azurerm_resource_group.rg.name + resource_group = data.azurerm_resource_group.rg.name }) } From 3e4462ffb13e23d0f7222d6acc3bab3945c94811 Mon Sep 17 00:00:00 2001 From: Laurenz Kirchmayr Date: Sat, 15 Jun 2024 14:29:23 +0200 Subject: [PATCH 4/7] fixes name --- infra/monitoring.tf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/infra/monitoring.tf b/infra/monitoring.tf index 2527c9e..e0297d9 100644 --- a/infra/monitoring.tf +++ b/infra/monitoring.tf @@ -7,12 +7,11 @@ resource "azurerm_application_insights" "ai" { } resource "azurerm_portal_dashboard" "main-dashboard" { - name = "GewoScout Main Dashboard" + name = "GewoScout-Main-Dashboard" resource_group_name = data.azurerm_resource_group.rg.name location = data.azurerm_resource_group.rg.location dashboard_properties = templatefile("../dashboards/main.tpl", { - dashboard_name = "GewoScout Main Dashboard" subscription_id = "e31c37ff-9b82-4f6b-8337-51314cc300ff" resource_group = data.azurerm_resource_group.rg.name }) From 12f8d917d30c3a4b7e37ef845b3e8f91ed7c3e78 Mon Sep 17 00:00:00 2001 From: Laurenz Kirchmayr Date: Sun, 16 Jun 2024 09:26:27 +0200 Subject: [PATCH 5/7] parametarizes ai name --- dashboards/main.tpl | 6 +++--- infra/monitoring.tf | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dashboards/main.tpl b/dashboards/main.tpl index 9cf8887..24b213b 100644 --- a/dashboards/main.tpl +++ b/dashboards/main.tpl @@ -67,7 +67,7 @@ { "name": "bwsg_scraper Successes", "resourceMetadata": { - "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/appinsights-gewoscout" + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/${app_insights_name}" }, "aggregationType": 1 } @@ -88,7 +88,7 @@ "metrics": [ { "resourceMetadata": { - "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/appinsights-gewoscout" + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/${app_insights_name}" }, "name": "customMetrics/bwsg_scraper Successes", "aggregationType": 1, @@ -101,7 +101,7 @@ "title": "Successful Execution Count", "titleKind": 2, "visualization": { - "chartType": 2, + "chartType": 1, "legendVisualization": { "isVisible": true, "position": 2, diff --git a/infra/monitoring.tf b/infra/monitoring.tf index e0297d9..ede8b84 100644 --- a/infra/monitoring.tf +++ b/infra/monitoring.tf @@ -14,5 +14,6 @@ resource "azurerm_portal_dashboard" "main-dashboard" { dashboard_properties = templatefile("../dashboards/main.tpl", { subscription_id = "e31c37ff-9b82-4f6b-8337-51314cc300ff" resource_group = data.azurerm_resource_group.rg.name + app_insights_name = azurerm_application_insights.ai.name }) } From 6f6ddab075544c4d379c4fa0517ce4092e6d51ed Mon Sep 17 00:00:00 2001 From: Laurenz Kirchmayr Date: Sun, 16 Jun 2024 09:28:03 +0200 Subject: [PATCH 6/7] fmts --- infra/monitoring.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/infra/monitoring.tf b/infra/monitoring.tf index ede8b84..146ac4f 100644 --- a/infra/monitoring.tf +++ b/infra/monitoring.tf @@ -12,8 +12,8 @@ resource "azurerm_portal_dashboard" "main-dashboard" { location = data.azurerm_resource_group.rg.location dashboard_properties = templatefile("../dashboards/main.tpl", { - subscription_id = "e31c37ff-9b82-4f6b-8337-51314cc300ff" - resource_group = data.azurerm_resource_group.rg.name + subscription_id = "e31c37ff-9b82-4f6b-8337-51314cc300ff" + resource_group = data.azurerm_resource_group.rg.name app_insights_name = azurerm_application_insights.ai.name }) } From 103cd64e256bd53929f553dcc0d6b5409fa12fec Mon Sep 17 00:00:00 2001 From: Laurenz Kirchmayr Date: Sun, 16 Jun 2024 12:29:15 +0200 Subject: [PATCH 7/7] comletes dashboard --- dashboards/main.tpl | 486 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 473 insertions(+), 13 deletions(-) diff --git a/dashboards/main.tpl b/dashboards/main.tpl index 24b213b..77d3f14 100644 --- a/dashboards/main.tpl +++ b/dashboards/main.tpl @@ -16,10 +16,10 @@ "settings": { "content": { "content": "# Scrapers\nThe scrapers are implemented as an Azure Function App, and scrape Genossenschafts websites according to a cron-schedule. After successful data-extraction, information about appartment listings gets written to the `scraper-result-queue` queue.", - "title": "", - "subtitle": "", "markdownSource": 1, - "markdownUri": "" + "markdownUri": "", + "subtitle": "", + "title": "" } } } @@ -28,7 +28,7 @@ "position": { "x": 3, "y": 0, - "colSpan": 10, + "colSpan": 12, "rowSpan": 1 }, "metadata": { @@ -37,10 +37,10 @@ "settings": { "content": { "content": "## BWSG Scraper", - "title": "", - "subtitle": "", "markdownSource": 1, - "markdownUri": "" + "markdownUri": "", + "subtitle": "", + "title": "" } } } @@ -49,7 +49,7 @@ "position": { "x": 3, "y": 1, - "colSpan": 4, + "colSpan": 6, "rowSpan": 4 }, "metadata": { @@ -62,16 +62,16 @@ "name": "options", "value": { "chart": { - "title": "Successful Execution Count - BWSG", "metrics": [ { + "aggregationType": 1, "name": "bwsg_scraper Successes", "resourceMetadata": { "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/microsoft.insights/components/${app_insights_name}" - }, - "aggregationType": 1 + } } ], + "title": "Successful Execution Count - BWSG", "visualization": { "disablePinning": true } @@ -98,7 +98,220 @@ } } ], - "title": "Successful Execution Count", + "title": "Successful execution count - bwsg_scraper", + "titleKind": 2, + "visualization": { + "chartType": 1, + "legendVisualization": { + "hideHoverCard": false, + "hideLabelNames": true, + "isVisible": true, + "position": 2 + }, + "axisVisualization": { + "x": { + "axisType": 2, + "isVisible": true + }, + "y": { + "axisType": 1, + "isVisible": true + } + }, + "disablePinning": true + } + } + } + } + } + } + }, + "3": { + "position": { + "x": 9, + "y": 1, + "colSpan": 6, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "options", + "isOptional": true + }, + { + "name": "sharedTimeRange", + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [ + { + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/Microsoft.Insights/components/${app_insights_name}" + }, + "name": "customMetrics/bwsg_scraper Failures", + "aggregationType": 1, + "namespace": "microsoft.insights/components/kusto", + "metricVisualization": { + "displayName": "bwsg_scraper Failures" + } + } + ], + "title": "Failed execution count - bwsg_scraper", + "titleKind": 2, + "visualization": { + "chartType": 1, + "legendVisualization": { + "isVisible": true, + "position": 2, + "hideHoverCard": false, + "hideLabelNames": true + }, + "axisVisualization": { + "x": { + "isVisible": true, + "axisType": 2 + }, + "y": { + "isVisible": true, + "axisType": 1 + } + }, + "disablePinning": true + } + } + } + } + } + } + }, + "4": { + "position": { + "x": 3, + "y": 5, + "colSpan": 12, + "rowSpan": 1 + }, + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/MarkdownPart", + "settings": { + "content": { + "content": "## ÖVW Scraper", + "title": "", + "subtitle": "", + "markdownSource": 1, + "markdownUri": "" + } + } + } + }, + "5": { + "position": { + "x": 3, + "y": 6, + "colSpan": 6, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "options", + "isOptional": true + }, + { + "name": "sharedTimeRange", + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [ + { + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/Microsoft.Insights/components/${app_insights_name}" + }, + "name": "customMetrics/oevw_scraper Successes", + "aggregationType": 1, + "namespace": "microsoft.insights/components/kusto", + "metricVisualization": { + "displayName": "oevw_scraper Successes" + } + } + ], + "title": "Successful execution count - oevw_scraper", + "titleKind": 2, + "visualization": { + "chartType": 1, + "legendVisualization": { + "isVisible": true, + "position": 2, + "hideHoverCard": false, + "hideLabelNames": true + }, + "axisVisualization": { + "x": { + "isVisible": true, + "axisType": 2 + }, + "y": { + "isVisible": true, + "axisType": 1 + } + }, + "disablePinning": true + } + } + } + } + } + } + }, + "6": { + "position": { + "x": 9, + "y": 6, + "colSpan": 6, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "options", + "isOptional": true + }, + { + "name": "sharedTimeRange", + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [ + { + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/Microsoft.Insights/components/${app_insights_name}" + }, + "name": "customMetrics/oevw_scraper Failures", + "aggregationType": 1, + "namespace": "microsoft.insights/components/kusto", + "metricVisualization": { + "displayName": "oevw_scraper Failures" + } + } + ], + "title": "Failed execution count - oevw_scraper", "titleKind": 2, "visualization": { "chartType": 1, @@ -125,6 +338,246 @@ } } } + }, + "7": { + "position": { + "x": 3, + "y": 10, + "colSpan": 12, + "rowSpan": 1 + }, + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/MarkdownPart", + "settings": { + "content": { + "content": "## WBV-GPA Scraper", + "title": "", + "subtitle": "", + "markdownSource": 1, + "markdownUri": "" + } + } + } + }, + "8": { + "position": { + "x": 3, + "y": 11, + "colSpan": 6, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "options", + "isOptional": true + }, + { + "name": "sharedTimeRange", + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [ + { + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/Microsoft.Insights/components/${app_insights_name}" + }, + "name": "customMetrics/wbv_gpa_scraper Successes", + "aggregationType": 1, + "namespace": "microsoft.insights/components/kusto", + "metricVisualization": { + "displayName": "wbv_gpa_scraper Successes" + } + } + ], + "title": "Successful execution count - wbv_gpa_scraper", + "titleKind": 2, + "visualization": { + "chartType": 1, + "legendVisualization": { + "isVisible": true, + "position": 2, + "hideHoverCard": false, + "hideLabelNames": true + }, + "axisVisualization": { + "x": { + "isVisible": true, + "axisType": 2 + }, + "y": { + "isVisible": true, + "axisType": 1 + } + }, + "disablePinning": true + } + } + } + } + } + } + }, + "9": { + "position": { + "x": 9, + "y": 11, + "colSpan": 6, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "options", + "isOptional": true + }, + { + "name": "sharedTimeRange", + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [ + { + "resourceMetadata": { + "id": "/subscriptions/${subscription_id}/resourceGroups/${resource_group}/providers/Microsoft.Insights/components/${app_insights_name}" + }, + "name": "customMetrics/wbv_gpa_scraper Failures", + "aggregationType": 1, + "namespace": "microsoft.insights/components/kusto", + "metricVisualization": { + "displayName": "wbv_gpa_scraper Failures" + } + } + ], + "title": "Failed execution count - wbv_gpa_scraper", + "titleKind": 2, + "visualization": { + "chartType": 1, + "legendVisualization": { + "isVisible": true, + "position": 2, + "hideHoverCard": false, + "hideLabelNames": true + }, + "axisVisualization": { + "x": { + "isVisible": true, + "axisType": 2 + }, + "y": { + "isVisible": true, + "axisType": 1 + } + }, + "disablePinning": true + } + } + } + } + } + } + }, + "10": { + "position": { + "x": 0, + "y": 15, + "colSpan": 3, + "rowSpan": 4 + }, + "metadata": { + "inputs": [], + "type": "Extension/HubsExtension/PartType/MarkdownPart", + "settings": { + "content": { + "content": "# Backend\nThe backend exposes APIs to \n- frontend for retrieving listing data\n- swagger\n- healthchecks\n\nIt also contains endpoints that get triggered by\n- new messages in the scraper queue\n- cosmos events", + "title": "", + "subtitle": "", + "markdownSource": 1, + "markdownUri": "" + } + } + } + }, + "11": { + "position": { + "x": 3, + "y": 15, + "colSpan": 6, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "options", + "isOptional": true + }, + { + "name": "sharedTimeRange", + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [], + "title": "Metrics chart", + "titleKind": 1, + "visualization": { + "disablePinning": true + } + } + } + } + } + } + }, + "12": { + "position": { + "x": 9, + "y": 15, + "colSpan": 6, + "rowSpan": 4 + }, + "metadata": { + "inputs": [ + { + "name": "options", + "isOptional": true + }, + { + "name": "sharedTimeRange", + "isOptional": true + } + ], + "type": "Extension/HubsExtension/PartType/MonitorChartPart", + "settings": { + "content": { + "options": { + "chart": { + "metrics": [], + "title": "Metrics chart", + "titleKind": 1, + "visualization": { + "disablePinning": true + } + } + } + } + } + } } } } @@ -156,7 +609,14 @@ "value": "Past hour" }, "filteredPartIds": [ - "StartboardPart-MonitorChartPart-86a97885-31ad-4d31-90ba-35d0b493ff34" + "StartboardPart-MonitorChartPart-c16f8462-0903-47eb-9700-b8292a7c808a", + "StartboardPart-MonitorChartPart-c16f8462-0903-47eb-9700-b8292a7c808c", + "StartboardPart-MonitorChartPart-c16f8462-0903-47eb-9700-b8292a7c8090", + "StartboardPart-MonitorChartPart-c16f8462-0903-47eb-9700-b8292a7c8092", + "StartboardPart-MonitorChartPart-c16f8462-0903-47eb-9700-b8292a7c8096", + "StartboardPart-MonitorChartPart-c16f8462-0903-47eb-9700-b8292a7c8098", + "StartboardPart-MonitorChartPart-c16f8462-0903-47eb-9700-b8292a7c846c", + "StartboardPart-MonitorChartPart-c16f8462-0903-47eb-9700-b8292a7c8478" ] } }