From 3491b6d288dec8c9b37c246f7686a6d041d41578 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Thu, 11 Sep 2025 16:37:00 +0530 Subject: [PATCH 01/24] Update 23 Azure docs with removal of beta feature --- .../microsoft-azure/azure-app-service-environment.md | 6 ++++++ docs/reuse/metrics-source-beta.md | 6 +----- .../microsoft-source/azure-metrics-source.md | 2 -- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/integrations/microsoft-azure/azure-app-service-environment.md b/docs/integrations/microsoft-azure/azure-app-service-environment.md index 3bb65d4147..7dac1b600d 100644 --- a/docs/integrations/microsoft-azure/azure-app-service-environment.md +++ b/docs/integrations/microsoft-azure/azure-app-service-environment.md @@ -32,6 +32,12 @@ When you configure the event hubs source or HTTP source, plan your source catego Create a hosted collector if not already configured and tag the `tenant_name` field. You can get the tenant name using the instructions [here](https://learn.microsoft.com/en-us/azure/active-directory-b2c/tenant-management-read-tenant-name#get-your-tenant-name). Make sure you create the required sources in this collector.
Azure Tag Tenant Name +### Configure metrics collection + +import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; + + + ### Configure logs collection #### Diagnostic logs diff --git a/docs/reuse/metrics-source-beta.md b/docs/reuse/metrics-source-beta.md index f01334da16..0d202ea43f 100644 --- a/docs/reuse/metrics-source-beta.md +++ b/docs/reuse/metrics-source-beta.md @@ -1,5 +1 @@ -To set up the Azure Metrics source in Sumo Logic, refer to [Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source). - -:::note -The Sumo Logic Metrics source is currently in beta. To participate, contact your Sumo Logic account executive. -::: +To set up the Azure Metrics source in Sumo Logic, refer to [Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source). \ No newline at end of file diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index dc380a1fe6..04b183918c 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -11,8 +11,6 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; -

Beta

- icon From 829cbe0a2c9e7565834591c9d6e385877ffea2f1 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Mon, 15 Sep 2025 22:59:11 +0530 Subject: [PATCH 02/24] Update azure-app-service-environment.md --- .../microsoft-azure/azure-app-service-environment.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/integrations/microsoft-azure/azure-app-service-environment.md b/docs/integrations/microsoft-azure/azure-app-service-environment.md index 7dac1b600d..84ca304e31 100644 --- a/docs/integrations/microsoft-azure/azure-app-service-environment.md +++ b/docs/integrations/microsoft-azure/azure-app-service-environment.md @@ -10,7 +10,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; An [Azure App Service Environment](https://learn.microsoft.com/en-us/azure/app-service/environment/overview) is an Azure App Service feature that provides a fully isolated and dedicated environment for running App Service apps securely at high scale. This integration helps in monitoring your environments operational events such as upgrades, scaling, and suspensions. -The below instructions applies to App Service Environment v3. +The instructions below apply to App Service Environment v3. ## Log types @@ -32,12 +32,6 @@ When you configure the event hubs source or HTTP source, plan your source catego Create a hosted collector if not already configured and tag the `tenant_name` field. You can get the tenant name using the instructions [here](https://learn.microsoft.com/en-us/azure/active-directory-b2c/tenant-management-read-tenant-name#get-your-tenant-name). Make sure you create the required sources in this collector.
Azure Tag Tenant Name -### Configure metrics collection - -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; - - - ### Configure logs collection #### Diagnostic logs From f615fd6bbfd98733dcfc0273f753a28f4c7b87e1 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Mon, 15 Sep 2025 23:33:20 +0530 Subject: [PATCH 03/24] Updated the apps --- docs/integrations/microsoft-azure/azure-api-management.md | 4 ++-- docs/integrations/microsoft-azure/azure-app-service-plan.md | 4 ++-- .../integrations/microsoft-azure/azure-application-gateway.md | 4 ++-- docs/integrations/microsoft-azure/azure-cache-for-redis.md | 4 ++-- .../integrations/microsoft-azure/azure-container-instances.md | 4 ++-- .../microsoft-azure/azure-cosmos-db-for-postgresql.md | 4 ++-- docs/integrations/microsoft-azure/azure-cosmos-db.md | 4 ++-- docs/integrations/microsoft-azure/azure-database-for-mysql.md | 4 ++-- .../microsoft-azure/azure-database-for-postgresql.md | 4 ++-- docs/integrations/microsoft-azure/azure-event-grid.md | 4 ++-- docs/integrations/microsoft-azure/azure-event-hubs.md | 4 ++-- docs/integrations/microsoft-azure/azure-functions.md | 4 ++-- docs/integrations/microsoft-azure/azure-key-vault.md | 4 ++-- docs/integrations/microsoft-azure/azure-load-balancer.md | 4 ++-- docs/integrations/microsoft-azure/azure-machine-learning.md | 4 ++-- docs/integrations/microsoft-azure/azure-service-bus.md | 4 ++-- docs/integrations/microsoft-azure/azure-storage.md | 4 ++-- docs/integrations/microsoft-azure/azure-virtual-machine.md | 4 ++-- docs/integrations/microsoft-azure/azure-virtual-network.md | 4 ++-- docs/integrations/microsoft-azure/kubernetes.md | 4 ++-- docs/integrations/microsoft-azure/sql.md | 4 ++-- docs/integrations/microsoft-azure/web-apps.md | 4 ++-- docs/reuse/{metrics-source-beta.md => metrics-source.md} | 0 23 files changed, 44 insertions(+), 44 deletions(-) rename docs/reuse/{metrics-source-beta.md => metrics-source.md} (100%) diff --git a/docs/integrations/microsoft-azure/azure-api-management.md b/docs/integrations/microsoft-azure/azure-api-management.md index 5651667c66..98adba88dd 100644 --- a/docs/integrations/microsoft-azure/azure-api-management.md +++ b/docs/integrations/microsoft-azure/azure-api-management.md @@ -36,9 +36,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + :::note In the v2 service tiers, API Management has replaced the capacity metric with separate CPU and memory utilization metrics diff --git a/docs/integrations/microsoft-azure/azure-app-service-plan.md b/docs/integrations/microsoft-azure/azure-app-service-plan.md index 924630600f..65c34abea9 100644 --- a/docs/integrations/microsoft-azure/azure-app-service-plan.md +++ b/docs/integrations/microsoft-azure/azure-app-service-plan.md @@ -35,9 +35,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-application-gateway.md b/docs/integrations/microsoft-azure/azure-application-gateway.md index 61afdce59d..a23b589faf 100644 --- a/docs/integrations/microsoft-azure/azure-application-gateway.md +++ b/docs/integrations/microsoft-azure/azure-application-gateway.md @@ -46,9 +46,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-cache-for-redis.md b/docs/integrations/microsoft-azure/azure-cache-for-redis.md index 7283ef5990..5f4652a745 100644 --- a/docs/integrations/microsoft-azure/azure-cache-for-redis.md +++ b/docs/integrations/microsoft-azure/azure-cache-for-redis.md @@ -41,9 +41,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-container-instances.md b/docs/integrations/microsoft-azure/azure-container-instances.md index b0691a0005..1acbe1d8ad 100644 --- a/docs/integrations/microsoft-azure/azure-container-instances.md +++ b/docs/integrations/microsoft-azure/azure-container-instances.md @@ -36,9 +36,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md b/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md index c28106ed2b..44b4f10aa5 100644 --- a/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md +++ b/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md @@ -36,9 +36,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-cosmos-db.md b/docs/integrations/microsoft-azure/azure-cosmos-db.md index 5fc6806530..219d305c2b 100644 --- a/docs/integrations/microsoft-azure/azure-cosmos-db.md +++ b/docs/integrations/microsoft-azure/azure-cosmos-db.md @@ -52,9 +52,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-database-for-mysql.md b/docs/integrations/microsoft-azure/azure-database-for-mysql.md index 209744c5c8..c0caf993ac 100644 --- a/docs/integrations/microsoft-azure/azure-database-for-mysql.md +++ b/docs/integrations/microsoft-azure/azure-database-for-mysql.md @@ -52,9 +52,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-database-for-postgresql.md b/docs/integrations/microsoft-azure/azure-database-for-postgresql.md index 5696ceee94..ab109556e4 100644 --- a/docs/integrations/microsoft-azure/azure-database-for-postgresql.md +++ b/docs/integrations/microsoft-azure/azure-database-for-postgresql.md @@ -42,9 +42,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-event-grid.md b/docs/integrations/microsoft-azure/azure-event-grid.md index 9dd3808f2a..1ebcc9b21e 100644 --- a/docs/integrations/microsoft-azure/azure-event-grid.md +++ b/docs/integrations/microsoft-azure/azure-event-grid.md @@ -43,9 +43,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + 1. To set up the Azure Metrics source in Sumo Logic, refer to the shared beta documentation. 1. In the Sumo Logic Azure Metrics source configuration, configure namespaces as `Microsoft.EventGrid/domains`, `Microsoft.EventGrid/systemTopics` and `Microsoft.EventGrid/topics`. diff --git a/docs/integrations/microsoft-azure/azure-event-hubs.md b/docs/integrations/microsoft-azure/azure-event-hubs.md index 2068ba82d8..b99de90d34 100644 --- a/docs/integrations/microsoft-azure/azure-event-hubs.md +++ b/docs/integrations/microsoft-azure/azure-event-hubs.md @@ -41,9 +41,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-functions.md b/docs/integrations/microsoft-azure/azure-functions.md index 30da5d6622..d2bf37a119 100644 --- a/docs/integrations/microsoft-azure/azure-functions.md +++ b/docs/integrations/microsoft-azure/azure-functions.md @@ -52,9 +52,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-key-vault.md b/docs/integrations/microsoft-azure/azure-key-vault.md index 35190b4f7e..4ddaa62828 100644 --- a/docs/integrations/microsoft-azure/azure-key-vault.md +++ b/docs/integrations/microsoft-azure/azure-key-vault.md @@ -37,9 +37,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-load-balancer.md b/docs/integrations/microsoft-azure/azure-load-balancer.md index 2a5ae05631..80d7e2543d 100644 --- a/docs/integrations/microsoft-azure/azure-load-balancer.md +++ b/docs/integrations/microsoft-azure/azure-load-balancer.md @@ -46,9 +46,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-machine-learning.md b/docs/integrations/microsoft-azure/azure-machine-learning.md index a3dc562d3d..18d7a59213 100644 --- a/docs/integrations/microsoft-azure/azure-machine-learning.md +++ b/docs/integrations/microsoft-azure/azure-machine-learning.md @@ -35,9 +35,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-service-bus.md b/docs/integrations/microsoft-azure/azure-service-bus.md index d685700c49..bd894699e4 100644 --- a/docs/integrations/microsoft-azure/azure-service-bus.md +++ b/docs/integrations/microsoft-azure/azure-service-bus.md @@ -43,9 +43,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-storage.md b/docs/integrations/microsoft-azure/azure-storage.md index ab81ce27b1..7828bc4e7a 100644 --- a/docs/integrations/microsoft-azure/azure-storage.md +++ b/docs/integrations/microsoft-azure/azure-storage.md @@ -71,9 +71,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/azure-virtual-machine.md b/docs/integrations/microsoft-azure/azure-virtual-machine.md index 4cd6031d15..0197b054bb 100644 --- a/docs/integrations/microsoft-azure/azure-virtual-machine.md +++ b/docs/integrations/microsoft-azure/azure-virtual-machine.md @@ -36,9 +36,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + :::note Metric Rule `AzureObservabilityMetadataExtractionVMName` will be created automatically as a part of app installation process. diff --git a/docs/integrations/microsoft-azure/azure-virtual-network.md b/docs/integrations/microsoft-azure/azure-virtual-network.md index d77c13a9d2..38ec825235 100644 --- a/docs/integrations/microsoft-azure/azure-virtual-network.md +++ b/docs/integrations/microsoft-azure/azure-virtual-network.md @@ -101,9 +101,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/kubernetes.md b/docs/integrations/microsoft-azure/kubernetes.md index 1dfb8fa20a..2e7269daa5 100644 --- a/docs/integrations/microsoft-azure/kubernetes.md +++ b/docs/integrations/microsoft-azure/kubernetes.md @@ -222,9 +222,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Collecting logs for the Azure Kubernetes Cluster diff --git a/docs/integrations/microsoft-azure/sql.md b/docs/integrations/microsoft-azure/sql.md index 5faa1e0f09..5857de63c3 100644 --- a/docs/integrations/microsoft-azure/sql.md +++ b/docs/integrations/microsoft-azure/sql.md @@ -104,9 +104,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/integrations/microsoft-azure/web-apps.md b/docs/integrations/microsoft-azure/web-apps.md index d4134e8b69..87d761742c 100644 --- a/docs/integrations/microsoft-azure/web-apps.md +++ b/docs/integrations/microsoft-azure/web-apps.md @@ -69,9 +69,9 @@ Create a hosted collector if not already configured and tag the `tenant_name` fi ### Configure metrics collection -import MetricsSourceBeta from '../../reuse/metrics-source-beta.md'; +import MetricsSource from '../../reuse/metrics-source.md'; - + ### Configure logs collection diff --git a/docs/reuse/metrics-source-beta.md b/docs/reuse/metrics-source.md similarity index 100% rename from docs/reuse/metrics-source-beta.md rename to docs/reuse/metrics-source.md From 069c4bd2560fcba567f4b89162864694a623845a Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Tue, 16 Sep 2025 00:37:50 +0530 Subject: [PATCH 04/24] update --- .../product-list/product-list-m-z.md | 2 +- docs/send-data/hosted-collectors/index.md | 4 +-- .../microsoft-source/azure-metrics-source.md | 2 +- .../microsoft-source/index.md | 30 ++++++++++++++++++ sidebars.ts | 1 + static/img/send-data/Azure-metrics.png | Bin 108503 -> 1868 bytes static/img/send-data/microsoft.png | Bin 0 -> 5598 bytes static/img/send-data/ms-azure-metrics.svg | 1 + 8 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 docs/send-data/hosted-collectors/microsoft-source/index.md create mode 100644 static/img/send-data/microsoft.png create mode 100644 static/img/send-data/ms-azure-metrics.svg diff --git a/docs/integrations/product-list/product-list-m-z.md b/docs/integrations/product-list/product-list-m-z.md index 05f1180a88..fb6676458a 100644 --- a/docs/integrations/product-list/product-list-m-z.md +++ b/docs/integrations/product-list/product-list-m-z.md @@ -25,7 +25,7 @@ For descriptions of the different types of integrations Sumo Logic offers, see [ | Thumbnail icon | [MaxMind](https://www.maxmind.com/en/home) | Automation integration: [MaxMind V2](/docs/platform-services/automation-service/app-central/integrations/maxmind-v2/) | | Thumbnail icon | [McAfee](https://www.mcafee.com/) | Automation integrations:
- [McAfee ATD](/docs/platform-services/automation-service/app-central/integrations/mcafee-atd/)
- [McAfee ESM](/docs/platform-services/automation-service/app-central/integrations/mcafee-esm/)
- [McAfee MVISION](/docs/platform-services/automation-service/app-central/integrations/mcafee-mvision/)
- [McAfee Network Security Platform Manager (NSM)](/docs/platform-services/automation-service/app-central/integrations/mcafee-network-security-platform-manager-nsm/)
- [McAfee Web Gateway](/docs/platform-services/automation-service/app-central/integrations/mcafee-web-gateway/)
Cloud SIEM integration: [McAfee](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/vendors/20dec895-f649-4959-9717-104fb68bb5b4.md) | | Thumbnail icon | [Memcached](https://memcached.org/) | Apps:
- [Memcached](/docs/integrations/databases/memcached/)
- [Memcached - OpenTelemetry](/docs/integrations/databases/opentelemetry/memcached-opentelemetry/) | -| Thumbnail icon | [Microsoft](https://www.microsoft.com/) | Apps:
- [Azure Active Directory](/docs/integrations/microsoft-azure/active-directory-azure/)
- [Microsoft Azure AD Inventory](/docs/integrations/saas-cloud/microsoft-azure-ad-inventory)
- [Microsoft Dynamics 365](/docs/integrations/microsoft-azure/microsoft-dynamics365-customer-insights/)
- [Microsoft Exchange Trace Logs](/docs/integrations/saas-cloud/microsoft-exchange-trace-logs/)
- [Microsoft Graph Azure AD Reporting](/docs/integrations/saas-cloud/microsoft-graph-azure-ad-reporting/)
- [Microsoft Graph Identity Protection](/docs/integrations/microsoft-azure/microsoft-graph-identity-protection/)
- [Microsoft Graph Security V1](/docs/integrations/saas-cloud/microsoft-graph-security-v1/)
- [Microsoft Graph Security V2](/docs/integrations/saas-cloud/microsoft-graph-security-v2/)
- [Microsoft Office 365](/docs/integrations/microsoft-azure/office-365/)
- [Microsoft SQL Server](/docs/integrations/microsoft-azure/sql-server/)
- [Microsoft SQL Server - OpenTelemetry](/docs/integrations/microsoft-azure/opentelemetry/sql-server-opentelemetry)
- [Microsoft SQL Server for Linux - OpenTelemetry](/docs/integrations/microsoft-azure/opentelemetry/sql-server-linux-opentelemetry)
- [Microsoft Teams](/docs/integrations/microsoft-azure/teams/)
Automation integrations:
- [Active Directory](/docs/platform-services/automation-service/app-central/integrations/active-directory/)
- [Active Directory v2](/docs/platform-services/automation-service/app-central/integrations/active-directory-v2/)
- [Microsoft 365 Defender](/docs/platform-services/automation-service/app-central/integrations/microsoft-365-defender/)
- [Microsoft Azure Log Analytics](/docs/platform-services/automation-service/app-central/integrations/microsoft-azure-log-analytics/)
- [Microsoft Azure Security Center](/docs/platform-services/automation-service/app-central/integrations/microsoft-azure-security-center/)
- [Microsoft Defender ATP](/docs/platform-services/automation-service/app-central/integrations/microsoft-defender-atp/)
- [Microsoft EWS](/docs/platform-services/automation-service/app-central/integrations/microsoft-ews/)
- [Microsoft EWS Daemon](/docs/platform-services/automation-service/app-central/integrations/microsoft-ews-daemon/)
- [Microsoft EWS Extension](/docs/platform-services/automation-service/app-central/integrations/microsoft-ews-extension/)
- [Microsoft Graph Security](/docs/platform-services/automation-service/app-central/integrations/microsoft-graph-security/)
- [Microsoft OneDrive](/docs/platform-services/automation-service/app-central/integrations/microsoft-onedrive/)
- [Microsoft Sharepoint](/docs/platform-services/automation-service/app-central/integrations/microsoft-sharepoint/)
- [Microsoft Sentinel](/docs/platform-services/automation-service/app-central/integrations/microsoft-sentinel/)
- [Microsoft Teams](/docs/platform-services/automation-service/app-central/integrations/microsoft-teams/)
- [MSSQL](/docs/platform-services/automation-service/app-central/integrations/mssql/)
Cloud SIEM integration: [Microsoft](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/vendors/2b002817-fd14-49b3-a3fe-c9761275b931.md)
Collectors:
- [Active Directory JSON - Classic Collector](/docs/integrations/microsoft-azure/active-directory-json/)
- [Active Directory JSON - OpenTelemetry Collector](/docs/integrations/microsoft-azure/opentelemetry/active-directory-json-opentelemetry/)
- [Microsoft Azure AD Inventory Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-azure-ad-inventory-source/)
- [Microsoft Exchange Trace Logs](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-exchange-trace-logs/)
- [Microsoft Office 365 Audit Source](/docs/send-data/hosted-collectors/microsoft-source/ms-office-audit-source/)
- [Microsoft Graph Azure AD Reporting Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-graph-azure-ad-reporting-source/)
- [Microsoft Graph Identity Protection Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-graph-identity-protection-source/)
- [Microsoft Graph Security API Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-graph-security-api-source/)
- [Windows Active Directory Inventory Source](/docs/send-data/installed-collectors/sources/windows-active-directory-inventory-source/)
Community app: [Sumo Logic Microsoft Defender for EndPoint](https://github.com/SumoLogic/sumologic-content/tree/master/Microsoft/Defender_4_EndPoint)
Webhook: [Webhook Connection for Microsoft Teams](/docs/alerts/webhook-connections/microsoft-teams/) | +| Thumbnail icon | [Microsoft](https://www.microsoft.com/) | Apps:
- [Azure Active Directory](/docs/integrations/microsoft-azure/active-directory-azure/)
- [Microsoft Azure AD Inventory](/docs/integrations/saas-cloud/microsoft-azure-ad-inventory)
- [Microsoft Dynamics 365](/docs/integrations/microsoft-azure/microsoft-dynamics365-customer-insights/)
- [Microsoft Exchange Trace Logs](/docs/integrations/saas-cloud/microsoft-exchange-trace-logs/)
- [Microsoft Graph Azure AD Reporting](/docs/integrations/saas-cloud/microsoft-graph-azure-ad-reporting/)
- [Microsoft Graph Identity Protection](/docs/integrations/microsoft-azure/microsoft-graph-identity-protection/)
- [Microsoft Graph Security V1](/docs/integrations/saas-cloud/microsoft-graph-security-v1/)
- [Microsoft Graph Security V2](/docs/integrations/saas-cloud/microsoft-graph-security-v2/)
- [Microsoft Office 365](/docs/integrations/microsoft-azure/office-365/)
- [Microsoft SQL Server](/docs/integrations/microsoft-azure/sql-server/)
- [Microsoft SQL Server - OpenTelemetry](/docs/integrations/microsoft-azure/opentelemetry/sql-server-opentelemetry)
- [Microsoft SQL Server for Linux - OpenTelemetry](/docs/integrations/microsoft-azure/opentelemetry/sql-server-linux-opentelemetry)
- [Microsoft Teams](/docs/integrations/microsoft-azure/teams/)
Automation integrations:
- [Active Directory](/docs/platform-services/automation-service/app-central/integrations/active-directory/)
- [Active Directory v2](/docs/platform-services/automation-service/app-central/integrations/active-directory-v2/)
- [Microsoft 365 Defender](/docs/platform-services/automation-service/app-central/integrations/microsoft-365-defender/)
- [Microsoft Azure Log Analytics](/docs/platform-services/automation-service/app-central/integrations/microsoft-azure-log-analytics/)
- [Microsoft Azure Security Center](/docs/platform-services/automation-service/app-central/integrations/microsoft-azure-security-center/)
- [Microsoft Defender ATP](/docs/platform-services/automation-service/app-central/integrations/microsoft-defender-atp/)
- [Microsoft EWS](/docs/platform-services/automation-service/app-central/integrations/microsoft-ews/)
- [Microsoft EWS Daemon](/docs/platform-services/automation-service/app-central/integrations/microsoft-ews-daemon/)
- [Microsoft EWS Extension](/docs/platform-services/automation-service/app-central/integrations/microsoft-ews-extension/)
- [Microsoft Graph Security](/docs/platform-services/automation-service/app-central/integrations/microsoft-graph-security/)
- [Microsoft OneDrive](/docs/platform-services/automation-service/app-central/integrations/microsoft-onedrive/)
- [Microsoft Sharepoint](/docs/platform-services/automation-service/app-central/integrations/microsoft-sharepoint/)
- [Microsoft Sentinel](/docs/platform-services/automation-service/app-central/integrations/microsoft-sentinel/)
- [Microsoft Teams](/docs/platform-services/automation-service/app-central/integrations/microsoft-teams/)
- [MSSQL](/docs/platform-services/automation-service/app-central/integrations/mssql/)
Cloud SIEM integration: [Microsoft](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/vendors/2b002817-fd14-49b3-a3fe-c9761275b931.md)
Collectors:
- [Active Directory JSON - Classic Collector](/docs/integrations/microsoft-azure/active-directory-json/)
- [Active Directory JSON - OpenTelemetry Collector](/docs/integrations/microsoft-azure/opentelemetry/active-directory-json-opentelemetry/)
- [Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/)
- [Microsoft Azure AD Inventory Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-azure-ad-inventory-source/)
- [Microsoft Exchange Trace Logs](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-exchange-trace-logs/)
- [Microsoft Office 365 Audit Source](/docs/send-data/hosted-collectors/microsoft-source/ms-office-audit-source/)
- [Microsoft Graph Azure AD Reporting Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-graph-azure-ad-reporting-source/)
- [Microsoft Graph Identity Protection Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-graph-identity-protection-source/)
- [Microsoft Graph Security API Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/microsoft-graph-security-api-source/)
- [Windows Active Directory Inventory Source](/docs/send-data/installed-collectors/sources/windows-active-directory-inventory-source/)
Community app: [Sumo Logic Microsoft Defender for EndPoint](https://github.com/SumoLogic/sumologic-content/tree/master/Microsoft/Defender_4_EndPoint)
Webhook: [Webhook Connection for Microsoft Teams](/docs/alerts/webhook-connections/microsoft-teams/) | | Thumbnail icon | [Mimecast](https://www.mimecast.com/) | App: [Mimecast](/docs/integrations/saas-cloud/mimecast/)
Automation integration: [Mimecast](/docs/platform-services/automation-service/app-central/integrations/mimecast/)
Cloud SIEM integration: [Mimecast](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/vendors/7BC43DFE-C5DD-4766-88E7-C163D82BBBF8.md)
Collector: [Mimecast Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/mimecast-source/)
Partner integration: [Mimecast app for Sumo Logic](https://github.com/SumoLogic/sumologic-public-partner-apps/tree/master/Mimecast) | | Thumbnail icon | [MindPoint Group](https://www.mindpointgroup.com/) | Cloud SIEM integration: [MindPoint Group](https://www.mindpointgroup.com/) | Cloud SIEM integration: [MindPoint Group](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/vendors/f438572b-ed7f-4048-bb30-4a30c1babd81.md) | | Thumbnail icon | [Miro](https://miro.com/) | App: [Miro](/docs/integrations/saas-cloud/miro/)
Cloud SIEM integration: [Miro](https://github.com/SumoLogic/cloud-siem-content-catalog/blob/master/vendors/9f149da1-2831-465f-8bb1-a5950ccaec0c.md)
Collector: [Miro Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/miro-source/) | diff --git a/docs/send-data/hosted-collectors/index.md b/docs/send-data/hosted-collectors/index.md index 8b5cc94bb3..2c02456549 100644 --- a/docs/send-data/hosted-collectors/index.md +++ b/docs/send-data/hosted-collectors/index.md @@ -74,8 +74,8 @@ The maximum number of Collectors allowed per organization is 10,000.
- Thumbnail icon

Microsoft Sources

-

Collect Audit Log content types to track and monitor usage of MS 365.

+ Thumbnail icon

Microsoft Sources

+

Collect data from your Microsoft Platform and other products.

diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index 04b183918c..441aa38585 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -11,7 +11,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; -icon +icon diff --git a/docs/send-data/hosted-collectors/microsoft-source/index.md b/docs/send-data/hosted-collectors/microsoft-source/index.md new file mode 100644 index 0000000000..552f4e5d6c --- /dev/null +++ b/docs/send-data/hosted-collectors/microsoft-source/index.md @@ -0,0 +1,30 @@ +--- +slug: /send-data/hosted-collectors/microsoft-source +title: Microsoft Sources +description: Sumo Logic offers Sources to collect from many Microsoft products. +--- + +import useBaseUrl from '@docusaurus/useBaseUrl'; + +Content to be added here.... + +Sumo Logic offers hosted Sources to collect from many Microsoft products. + +## Guide contents + +In this section, we'll introduce the following concepts: + +
+
+
+ icon

Azure Metrics Source

+

Learn how to configure Azure Metrics Source for Sumo Logic ingestion.

+
+
+
+
+ icon

Microsoft Office 365 Audit Source

+

Learn how to configure Microsoft Office 365 Audit Source for Sumo Logic ingestion.

+
+
+
\ No newline at end of file diff --git a/sidebars.ts b/sidebars.ts index 881b2b0e32..864f5aea67 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -547,6 +547,7 @@ module.exports = { collapsible: true, collapsed: true, items: [ + 'send-data/hosted-collectors/microsoft-source/azure-metrics-source', 'send-data/hosted-collectors/microsoft-source/ms-office-audit-source', ], }, diff --git a/static/img/send-data/Azure-metrics.png b/static/img/send-data/Azure-metrics.png index 1b18921b0f8d2c51f747218066033dbea5bb53f0..7b4584f6908a94b2f75fcd8561cfec2e890383fc 100644 GIT binary patch literal 1868 zcmd5-%Wm5+5d0N_xwHpTe2QdY=g>=!Jrwx>QY38ws$@t?ocw*4k`kbfff&6sfMKkb z)XdJlw40s|sEvCZly^ZhLo&0BsF*$RNe2?G(1}aoMIA7D{@wM{9v|oV^sTDS=QBM^ zI*f-(Fvcpt!sw|@=kLSw9y7!cxA4RFyO{EHzw6pQ`SHi-W1ISUp-ns*nUx_%3r`f+ zjyS70M3IEEF<31G(DFU5sWuqBfMqDF!6)8)U`cAgci5mG`gVpeAEz|_I{7C3>>s8C zVNCOILPO3|njt=n$}?$(ZW#CY&KT)qgR6^c{Nh?L#%EQoRe$TbuFp2LQp^)!7$>SE z*hZ#EqhpGZ+tB1qALo>TSpPdqx^7c%3Cz zA?CG&TrawcM5veB6mCvX$SA1(d^PmCagirOq|AXRsU-;@is&c}42D*D7Re)a~6!NvnvCXx~@G<2{o`S*70s$ z_E-ZPMkDwj8c6I2KCmFME5PH}eYv}3Z+yMv*oLW)xYBALaojMw?>W|XE*y}uk4bKs zo_8c`OBD_%Ls^g?D7mGB7m_hGGlI-(T9;*8^5g*i+{XD>1Zj)WF|~&y>`${i6=sM5 z{9Ab$Gd3>!@fFNb1IHy;0DyvCMN`zlyj(%k!ShncS2QlEh1CIYhDyM_iUw)nTUsuH Wdk04~@cvtHI(e4z@+p8%-~Au@kqWQ? literal 108503 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 $R8hUiesO!Q>{m^OU4+ZJA`k$PwX)1z`l*}A~7 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 z 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 diff --git a/static/img/send-data/microsoft.png b/static/img/send-data/microsoft.png new file mode 100644 index 0000000000000000000000000000000000000000..11feffc1d82cf95f4fcf7eaf9ad39991d5d99056 GIT binary patch literal 5598 zcmeAS@N?(olHy`uVBq!ia0y~yV15C@9Be=l-^Ev+04d25*NBqf{Irtt#G+IN$CUh} zR0Yr6#Prml)Wnp^!jq{s3=E>p*LBuuCJx2Rl0&`xhM^LkCL_=*v zqw5W)l83jr);Ml#$j=f;obldLA(AbwZ36eSju}8p7)nJO`G6FYERYZYx`9FA0wa(d z6(lP_)&hfWG%Tr|j$#)uGcYtbumi)E#R^DplmH2b5iNMw{NC@W&b(Vz&7UtfUCP|< z-mbhoJaUW|79CF02vcZY$q5S~NNNNJ8#rf!gKbohoB$au6lqaQfHO0=#DL^*aLqF+ z2&#(750H^vI8wQ`5Qay^u&;d_;*5nS1mrU<2>gEP`?r5A4P9O?5sfkJyF`>382$+Q zHaoBb^CvJ}Hu8bWg2ujK$1k5D2+VpMB?2!#e0Hv_D+^ylMU(QQ0S95^PV+ICKS3j3^P6 \ No newline at end of file From 17c3ba311383e2b77e8b175b45aefccc286d1ae6 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Tue, 16 Sep 2025 22:26:57 +0530 Subject: [PATCH 05/24] Added the new Troubleshooting and best practices section --- .../microsoft-azure/azure-api-management.md | 2 +- .../collect-metrics-azure-monitor.md | 85 +++++++++++++++++-- 2 files changed, 81 insertions(+), 6 deletions(-) diff --git a/docs/integrations/microsoft-azure/azure-api-management.md b/docs/integrations/microsoft-azure/azure-api-management.md index 98adba88dd..eb5b4b1178 100644 --- a/docs/integrations/microsoft-azure/azure-api-management.md +++ b/docs/integrations/microsoft-azure/azure-api-management.md @@ -175,4 +175,4 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-azure-metrics-source). diff --git a/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md b/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md index 25fbff5ca2..79d5f0c612 100644 --- a/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md +++ b/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md @@ -70,11 +70,11 @@ Follow these steps to export metrics for a resource to Event Hub. * Select an event hub policy name. You can use the default policy **RootManageSharedAccessKey**. 1. Save the **Diagnostic settings**.
Diagnostic setting -### Troubleshooting metrics collection +## Troubleshooting metrics collection If metrics are not flowing into Sumo Logic, follow the steps below to investigate the problem. -#### Verify Configurations +### Verify Configurations First, make sure that the resources you created above were successfully created. @@ -82,7 +82,7 @@ Go to **Resource groups**, and select the resource group you created or selected Resource -#### Verify Event Hub is receiving metrics +### Verify Event Hub is receiving metrics To verify that events are appearing in your event hub: @@ -92,7 +92,7 @@ To verify that events are appearing in your event hub: Event hub messages -#### Verify the Event hub trigger configuration +### Verify the Event hub trigger configuration 1. Go to **Resource groups**, and select the resource group you created or selected in [Step 2. Configure Azure resources using ARM Template](#step-2-configure-azure-resources-using-arm-template). Search for `SMFuncApp`. You should find the `SMFuncApp` Function App. Click it. 1. Under the **Functions** tab, click **EventHubs_Metrics**. @@ -100,7 +100,7 @@ To verify that events are appearing in your event hub: Triggers -#### Verify Sumo Logic HTTP source URL. +### Verify Sumo Logic HTTP source URL. 1. Go to **Resource groups**, and select the resource group you created or selected in [Step 2. Configure Azure resources using ARM Template](#step-2-configure-azure-resources-using-arm-template). Search for `SMFuncApp`. You should find the `SMFuncApp` Function App. Click it. 1. Click on **Configuration** under **Settings** in the left panel. Click on `SumoLabsMetricEndpoint`. Check that the value of the **SumoLabsMetricEndpoint** field matches the HTTP source URL.
Application settings @@ -110,6 +110,81 @@ To verify that events are appearing in your event hub: 1. Go to **Resource groups**, and select the resource group you created or selected in [Step 2. Configure Azure resources using ARM Template](#step-2-configure-azure-resources-using-arm-template). Search for `SMAppInsights`. You should find the `SMAppInsights` Application Insights. Click it. 1. In the left panel under **Investigate** click on **Failures**. Click on **Count** column on the rightmost panel, it will take you to the trace, select any trace and see the exception message.
Application insights +## Troubleshooting Azure Metrics Source + +### Unable to authenticate to Azure + +During Source creation, if you encounter errors such as `Unable to get subscriptions. Please check credentials.` or `Unable to authenticate to Azure`, please verify that your credentials are valid in the Azure portal. + +Follow the steps below to solve this issue: +1. Log in to the Azure Portal. +1. Navigate to App registrations and locate the App that was created during the **Deploy to Azure** process. +1. Go to **Certificates & Secrets**. +1. Ensure that a valid **Client Secret** exists. If no secret is present or the existing one has expired, create a new Client Secret. +1. Retry the Source creation process using the updated credentials. + +### Subscriptions not present in the View Subscriptions list + +If the **View Subscriptions** list does not include expected Azure subscriptions, you can verify that the credentials have sufficient permission to read from the expected subscription. Another possible cause could be a propagation delay. After creating a new app or client secret, Azure may take up to 10 minutes to reflect the changes across its services. Please wait a few minutes and refresh the list. + +Follow the steps below to verify and assign proper permissions: +1. In the Azure portal, navigate to **Subscriptions**. +1. Select the target subscription. +1. Go to **Access Control (IAM)** > **Role assignments**. +1. Confirm that the App created during the **Deploy to Azure** step is listed. +1. Ensure it is assigned the **Monitoring Reader** role. + +### Missing metrics in Sumo Logic + +Azure Monitor displays all metrics, even those without data, but Sumo Logic only collects metrics with actual datapoints. +If you know that certain metrics in Azure contain actual data (non-empty values) and you expected those metrics to appear in Sumo Logic, but they are missing, it’s recommended to reach out to Sumo Logic Support to resolve the issue. + +### API throttling by Microsoft + +If API requests to Azure are being throttled, resulting in failed or delayed metric ingestion, please review and follow the guidance in the [Best Practices](#best-practices-for-azure-metrics-source) section for reducing the frequency and volume of API calls. +If you continue to experience throttling, please reach out to Sumo Logic Support for assistance. + +## Best practices for Azure Metrics Source + +The Sumo Logic Azure Metrics Source uses the Azure Monitor API to retrieve metrics from your Azure environment. Following the best practices below will help reduce the number of API requests, avoid hitting Microsoft’s API throttling limits, and ensure efficient and reliable metric collection. + +### Limit one source per subscription + +Microsoft enforces API throttling for each subscription. Since each Sumo Logic Azure Metrics Source sends independent requests to the Azure Monitor API, Sumo Logic strongly recommends you to use only one Azure Metrics Source per Azure subscription. + +note: A single Sumo Logic Source can collect metrics from multiple Azure subscriptions without issue. However, avoid assigning more than one Source to collect from the same subscription, as this may lead to throttling. + +### Increase the scan interval to reduce API load + +The scan interval determines how often the Azure Metrics Source queries the Azure Monitor API. Adjusting this interval can significantly impact API usage: +- Shorter scan intervals (e.g., 1 minute) result in more frequent API calls. +- Longer scan intervals reduce the request rate, helping to avoid throttling—especially in environments with a high number of resources. + +### Recommended scan interval guidelines + +| Scan Interval | Maximum Resources per Subscription | Maximum VMs per Subscription for Virtual Machine Guest metrics | +|:--|:--|:--| +| 1 minute | 20,000 (3,000 for users on Azure Sovereign Cloud) | 600 (80 for users on Azure Sovereign Cloud) | +| 5 minutes | 100,000 (15,000 for users on Azure Sovereign Cloud)| 3,000 (400 for users on Azure Sovereign Cloud) | + +For a larger number of resources, increase the scan interval further using the Sumo Logic Source Management API. + +note: Increasing the scan interval does not reduce metric granularity. The frequency of data collection changes, but the resolution of data points remains unaffected. + +### Estimate API request rate per subscription + +The API request rate for the Azure Metrics Source depends on the scan interval and the number of resources in a subscription. Since Microsoft enforces API throttling per subscription, you can estimate the rate of requests made per subscription using the following formula: + +`(CEILING((T / 50) / N) * N * (180 / S)) + (V * (144 / S))` + +Where, +T = Total number of non-VM resources +V = Total number of VMs (only for users collecting Virtual Machine Guest metrics) +N = Number of distinct namespaces with active resources +S = Scan Interval (in minutes) + +Understanding this rate helps you proactively configure your Sources to stay within Microsoft’s service limits and avoid interruptions due to throttling. + ### Common errors For common error messages, refer [Event Hub export error messages](/docs/send-data/collect-from-other-data-sources/azure-monitoring/arm-integration-faq#event-hub-export-error-messages) section. From a083ea82a7aa81a5d3d85bca5de72bdd23449eb4 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Tue, 16 Sep 2025 22:44:33 +0530 Subject: [PATCH 06/24] Update collect-metrics-azure-monitor.md --- .../azure-monitoring/collect-metrics-azure-monitor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md b/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md index 79d5f0c612..dc40e5be0c 100644 --- a/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md +++ b/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md @@ -185,7 +185,7 @@ S = Scan Interval (in minutes) Understanding this rate helps you proactively configure your Sources to stay within Microsoft’s service limits and avoid interruptions due to throttling. -### Common errors +## Common errors For common error messages, refer [Event Hub export error messages](/docs/send-data/collect-from-other-data-sources/azure-monitoring/arm-integration-faq#event-hub-export-error-messages) section. From 61fe5f0ba8696d3911033f1d4bd41b79e432ff2b Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Wed, 17 Sep 2025 10:33:31 +0530 Subject: [PATCH 07/24] updated troubleshooting and best practices section --- .../microsoft-azure/azure-api-management.md | 2 +- .../collect-metrics-azure-monitor.md | 75 ------------------ .../microsoft-source/azure-metrics-source.md | 77 ++++++++++++++++++- 3 files changed, 77 insertions(+), 77 deletions(-) diff --git a/docs/integrations/microsoft-azure/azure-api-management.md b/docs/integrations/microsoft-azure/azure-api-management.md index eb5b4b1178..b24810207f 100644 --- a/docs/integrations/microsoft-azure/azure-api-management.md +++ b/docs/integrations/microsoft-azure/azure-api-management.md @@ -175,4 +175,4 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-azure-metrics-source). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). diff --git a/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md b/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md index dc40e5be0c..9611901f4f 100644 --- a/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md +++ b/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor.md @@ -110,81 +110,6 @@ To verify that events are appearing in your event hub: 1. Go to **Resource groups**, and select the resource group you created or selected in [Step 2. Configure Azure resources using ARM Template](#step-2-configure-azure-resources-using-arm-template). Search for `SMAppInsights`. You should find the `SMAppInsights` Application Insights. Click it. 1. In the left panel under **Investigate** click on **Failures**. Click on **Count** column on the rightmost panel, it will take you to the trace, select any trace and see the exception message.
Application insights -## Troubleshooting Azure Metrics Source - -### Unable to authenticate to Azure - -During Source creation, if you encounter errors such as `Unable to get subscriptions. Please check credentials.` or `Unable to authenticate to Azure`, please verify that your credentials are valid in the Azure portal. - -Follow the steps below to solve this issue: -1. Log in to the Azure Portal. -1. Navigate to App registrations and locate the App that was created during the **Deploy to Azure** process. -1. Go to **Certificates & Secrets**. -1. Ensure that a valid **Client Secret** exists. If no secret is present or the existing one has expired, create a new Client Secret. -1. Retry the Source creation process using the updated credentials. - -### Subscriptions not present in the View Subscriptions list - -If the **View Subscriptions** list does not include expected Azure subscriptions, you can verify that the credentials have sufficient permission to read from the expected subscription. Another possible cause could be a propagation delay. After creating a new app or client secret, Azure may take up to 10 minutes to reflect the changes across its services. Please wait a few minutes and refresh the list. - -Follow the steps below to verify and assign proper permissions: -1. In the Azure portal, navigate to **Subscriptions**. -1. Select the target subscription. -1. Go to **Access Control (IAM)** > **Role assignments**. -1. Confirm that the App created during the **Deploy to Azure** step is listed. -1. Ensure it is assigned the **Monitoring Reader** role. - -### Missing metrics in Sumo Logic - -Azure Monitor displays all metrics, even those without data, but Sumo Logic only collects metrics with actual datapoints. -If you know that certain metrics in Azure contain actual data (non-empty values) and you expected those metrics to appear in Sumo Logic, but they are missing, it’s recommended to reach out to Sumo Logic Support to resolve the issue. - -### API throttling by Microsoft - -If API requests to Azure are being throttled, resulting in failed or delayed metric ingestion, please review and follow the guidance in the [Best Practices](#best-practices-for-azure-metrics-source) section for reducing the frequency and volume of API calls. -If you continue to experience throttling, please reach out to Sumo Logic Support for assistance. - -## Best practices for Azure Metrics Source - -The Sumo Logic Azure Metrics Source uses the Azure Monitor API to retrieve metrics from your Azure environment. Following the best practices below will help reduce the number of API requests, avoid hitting Microsoft’s API throttling limits, and ensure efficient and reliable metric collection. - -### Limit one source per subscription - -Microsoft enforces API throttling for each subscription. Since each Sumo Logic Azure Metrics Source sends independent requests to the Azure Monitor API, Sumo Logic strongly recommends you to use only one Azure Metrics Source per Azure subscription. - -note: A single Sumo Logic Source can collect metrics from multiple Azure subscriptions without issue. However, avoid assigning more than one Source to collect from the same subscription, as this may lead to throttling. - -### Increase the scan interval to reduce API load - -The scan interval determines how often the Azure Metrics Source queries the Azure Monitor API. Adjusting this interval can significantly impact API usage: -- Shorter scan intervals (e.g., 1 minute) result in more frequent API calls. -- Longer scan intervals reduce the request rate, helping to avoid throttling—especially in environments with a high number of resources. - -### Recommended scan interval guidelines - -| Scan Interval | Maximum Resources per Subscription | Maximum VMs per Subscription for Virtual Machine Guest metrics | -|:--|:--|:--| -| 1 minute | 20,000 (3,000 for users on Azure Sovereign Cloud) | 600 (80 for users on Azure Sovereign Cloud) | -| 5 minutes | 100,000 (15,000 for users on Azure Sovereign Cloud)| 3,000 (400 for users on Azure Sovereign Cloud) | - -For a larger number of resources, increase the scan interval further using the Sumo Logic Source Management API. - -note: Increasing the scan interval does not reduce metric granularity. The frequency of data collection changes, but the resolution of data points remains unaffected. - -### Estimate API request rate per subscription - -The API request rate for the Azure Metrics Source depends on the scan interval and the number of resources in a subscription. Since Microsoft enforces API throttling per subscription, you can estimate the rate of requests made per subscription using the following formula: - -`(CEILING((T / 50) / N) * N * (180 / S)) + (V * (144 / S))` - -Where, -T = Total number of non-VM resources -V = Total number of VMs (only for users collecting Virtual Machine Guest metrics) -N = Number of distinct namespaces with active resources -S = Scan Interval (in minutes) - -Understanding this rate helps you proactively configure your Sources to stay within Microsoft’s service limits and avoid interruptions due to throttling. - ## Common errors For common error messages, refer [Event Hub export error messages](/docs/send-data/collect-from-other-data-sources/azure-monitoring/arm-integration-faq#event-hub-export-error-messages) section. diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index 441aa38585..efc8b33d02 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -67,7 +67,7 @@ To configure the Azure Metrics Source: 1. **Processing Rules for Metrics (Optional)**. Configure any desired filters, such as allowlist and denylist, as described in [Metrics Include and Exclude Rules](/docs/send-data/collection/processing-rules/metrics-include-and-exclude-rules). ![filtersprocessingrules.png](/img/send-data/filtersprocessingrules.png) -## JSON configuration +## JSON schema ### Configuration Object @@ -91,3 +91,78 @@ To configure the Azure Metrics Source: ```json reference https://github.com/SumoLogic/sumologic-documentation/blob/main/static/files/c2c/azure-metrics/example.json ``` + +## Troubleshooting + +### Unable to authenticate to Azure + +During Source creation, if you encounter errors such as `Unable to get subscriptions. Please check credentials.` or `Unable to authenticate to Azure`, please verify that your credentials are valid in the Azure portal. + +Follow the steps below to solve this issue: +1. Log in to the Azure Portal. +1. Navigate to App registrations and locate the App that was created during the **Deploy to Azure** process. +1. Go to **Certificates & Secrets**. +1. Ensure that a valid **Client Secret** exists. If no secret is present or the existing one has expired, create a new Client Secret. +1. Retry the Source creation process using the updated credentials. + +### Subscriptions not present in the View Subscriptions list + +If the **View Subscriptions** list does not include expected Azure subscriptions, you can verify that the credentials have sufficient permission to read from the expected subscription. Another possible cause could be a propagation delay. After creating a new app or client secret, Azure may take up to 10 minutes to reflect the changes across its services. Please wait a few minutes and refresh the list. + +Follow the steps below to verify and assign proper permissions: +1. In the Azure portal, navigate to **Subscriptions**. +1. Select the target subscription. +1. Go to **Access Control (IAM)** > **Role assignments**. +1. Confirm that the App created during the **Deploy to Azure** step is listed. +1. Ensure it is assigned the **Monitoring Reader** role. + +### Missing metrics in Sumo Logic + +Azure Monitor displays all metrics, even those without data, but Sumo Logic only collects metrics with actual datapoints. +If you know that certain metrics in Azure contain actual data (non-empty values) and you expected those metrics to appear in Sumo Logic, but they are missing, it’s recommended to reach out to Sumo Logic Support to resolve the issue. + +### API throttling by Microsoft + +If API requests to Azure are being throttled, resulting in failed or delayed metric ingestion, please review and follow the guidance in the [Best Practices](#best-practices) section for reducing the frequency and volume of API calls. +If you continue to experience throttling, please reach out to Sumo Logic Support for assistance. + +## Best practices + +The Sumo Logic Azure Metrics Source uses the Azure Monitor API to retrieve metrics from your Azure environment. Following the best practices below will help reduce the number of API requests, avoid hitting Microsoft’s API throttling limits, and ensure efficient and reliable metric collection. + +### Limit one source per subscription + +Microsoft enforces API throttling for each subscription. Since each Sumo Logic Azure Metrics Source sends independent requests to the Azure Monitor API, Sumo Logic strongly recommends you to use only one Azure Metrics Source per Azure subscription. + +note: A single Sumo Logic Source can collect metrics from multiple Azure subscriptions without issue. However, avoid assigning more than one Source to collect from the same subscription, as this may lead to throttling. + +### Increase the scan interval to reduce API load + +The scan interval determines how often the Azure Metrics Source queries the Azure Monitor API. Adjusting this interval can significantly impact API usage: +- Shorter scan intervals (e.g., 1 minute) result in more frequent API calls. +- Longer scan intervals reduce the request rate, helping to avoid throttling—especially in environments with a high number of resources. + +### Recommended scan interval guidelines + +| Scan Interval | Maximum Resources per Subscription | Maximum VMs per Subscription for Virtual Machine Guest metrics | +|:--|:--|:--| +| 1 minute | 20,000 (3,000 for users on Azure Sovereign Cloud) | 600 (80 for users on Azure Sovereign Cloud) | +| 5 minutes | 100,000 (15,000 for users on Azure Sovereign Cloud)| 3,000 (400 for users on Azure Sovereign Cloud) | + +For a larger number of resources, increase the scan interval further using the Sumo Logic Source Management API. + +note: Increasing the scan interval does not reduce metric granularity. The frequency of data collection changes, but the resolution of data points remains unaffected. + +### Estimate API request rate per subscription + +The API request rate for the Azure Metrics Source depends on the scan interval and the number of resources in a subscription. Since Microsoft enforces API throttling per subscription, you can estimate the rate of requests made per subscription using the following formula: + +`(CEILING((T / 50) / N) * N * (180 / S)) + (V * (144 / S))` + +Where, +T = Total number of non-VM resources +V = Total number of VMs (only for users collecting Virtual Machine Guest metrics) +N = Number of distinct namespaces with active resources +S = Scan Interval (in minutes) + +Understanding this rate helps you proactively configure your Sources to stay within Microsoft’s service limits and avoid interruptions due to throttling. \ No newline at end of file From f75c2aec0dd649af5b0d46bf7389ef113d3e628e Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Wed, 17 Sep 2025 21:50:02 +0530 Subject: [PATCH 08/24] Updated the troubleshooting section --- docs/integrations/microsoft-azure/azure-app-service-plan.md | 6 ++++++ .../microsoft-azure/azure-application-gateway.md | 2 +- docs/integrations/microsoft-azure/azure-cache-for-redis.md | 2 +- .../microsoft-azure/azure-container-instances.md | 2 +- .../microsoft-azure/azure-cosmos-db-for-postgresql.md | 3 +-- docs/integrations/microsoft-azure/azure-cosmos-db.md | 2 +- .../microsoft-azure/azure-database-for-mysql.md | 2 +- .../microsoft-azure/azure-database-for-postgresql.md | 2 +- docs/integrations/microsoft-azure/azure-event-grid.md | 2 +- docs/integrations/microsoft-azure/azure-event-hubs.md | 2 +- docs/integrations/microsoft-azure/azure-functions.md | 6 ++++++ docs/integrations/microsoft-azure/azure-key-vault.md | 2 +- docs/integrations/microsoft-azure/azure-load-balancer.md | 3 +-- docs/integrations/microsoft-azure/azure-machine-learning.md | 2 +- docs/integrations/microsoft-azure/azure-service-bus.md | 2 +- docs/integrations/microsoft-azure/azure-storage.md | 2 +- docs/integrations/microsoft-azure/azure-virtual-machine.md | 4 ++++ docs/integrations/microsoft-azure/azure-virtual-network.md | 2 +- docs/integrations/microsoft-azure/kubernetes.md | 2 +- docs/integrations/microsoft-azure/sql.md | 6 ++++++ docs/integrations/microsoft-azure/web-apps.md | 6 ++++++ docs/send-data/hosted-collectors/microsoft-source/index.md | 4 +--- sidebars.ts | 1 + 23 files changed, 46 insertions(+), 21 deletions(-) diff --git a/docs/integrations/microsoft-azure/azure-app-service-plan.md b/docs/integrations/microsoft-azure/azure-app-service-plan.md index 65c34abea9..b486860d7c 100644 --- a/docs/integrations/microsoft-azure/azure-app-service-plan.md +++ b/docs/integrations/microsoft-azure/azure-app-service-plan.md @@ -152,3 +152,9 @@ import AppUpdate from '../../reuse/apps/app-update.md'; import AppUninstall from '../../reuse/apps/app-uninstall.md'; + +## Troubleshooting + +### HTTP Logs and Metrics Source used by Azure Functions + +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-application-gateway.md b/docs/integrations/microsoft-azure/azure-application-gateway.md index a23b589faf..2843945d24 100644 --- a/docs/integrations/microsoft-azure/azure-application-gateway.md +++ b/docs/integrations/microsoft-azure/azure-application-gateway.md @@ -194,4 +194,4 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-cache-for-redis.md b/docs/integrations/microsoft-azure/azure-cache-for-redis.md index 5f4652a745..f4da3ea174 100644 --- a/docs/integrations/microsoft-azure/azure-cache-for-redis.md +++ b/docs/integrations/microsoft-azure/azure-cache-for-redis.md @@ -201,7 +201,7 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-container-instances.md b/docs/integrations/microsoft-azure/azure-container-instances.md index 1acbe1d8ad..1aed9049a7 100644 --- a/docs/integrations/microsoft-azure/azure-container-instances.md +++ b/docs/integrations/microsoft-azure/azure-container-instances.md @@ -176,7 +176,7 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection) in *Collect Metrics from Azure Monitor*. +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md b/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md index 44b4f10aa5..4c0888894c 100644 --- a/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md +++ b/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md @@ -225,9 +225,8 @@ These alerts are metrics-based and will work for all Cosmos DB PostgreSQL instan | `Azure Cosmos DB for PostgreSQL - Memory Percentage` | This alert is triggered when average Memory utilization spikes above 80% are detected for any Azure Cosmos DB for PostgreSQL instance. | Count > 80 | Count =< 70 | | `Azure Cosmos DB for PostgreSQL - Storage Percentage` | This alert is triggered when storage percentage goes above 70% for any Azure Cosmos DB for PostgreSQL instance. | Count > 80 | Count =< 70 | - ## Troubleshooting ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-cosmos-db.md b/docs/integrations/microsoft-azure/azure-cosmos-db.md index 219d305c2b..6e1427c05a 100644 --- a/docs/integrations/microsoft-azure/azure-cosmos-db.md +++ b/docs/integrations/microsoft-azure/azure-cosmos-db.md @@ -253,4 +253,4 @@ These alerts are metrics-based and will work for all Cosmos DB's. ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-database-for-mysql.md b/docs/integrations/microsoft-azure/azure-database-for-mysql.md index c0caf993ac..e3f3d8d190 100644 --- a/docs/integrations/microsoft-azure/azure-database-for-mysql.md +++ b/docs/integrations/microsoft-azure/azure-database-for-mysql.md @@ -224,7 +224,7 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in *Collect Metrics from Azure Monitor* for [Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-database-for-postgresql.md b/docs/integrations/microsoft-azure/azure-database-for-postgresql.md index ab109556e4..552f0961e4 100644 --- a/docs/integrations/microsoft-azure/azure-database-for-postgresql.md +++ b/docs/integrations/microsoft-azure/azure-database-for-postgresql.md @@ -214,7 +214,7 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-event-grid.md b/docs/integrations/microsoft-azure/azure-event-grid.md index 1ebcc9b21e..e0b500d8be 100644 --- a/docs/integrations/microsoft-azure/azure-event-grid.md +++ b/docs/integrations/microsoft-azure/azure-event-grid.md @@ -212,7 +212,7 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-event-hubs.md b/docs/integrations/microsoft-azure/azure-event-hubs.md index b99de90d34..09b4ff4ee4 100644 --- a/docs/integrations/microsoft-azure/azure-event-hubs.md +++ b/docs/integrations/microsoft-azure/azure-event-hubs.md @@ -185,4 +185,4 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-functions.md b/docs/integrations/microsoft-azure/azure-functions.md index d2bf37a119..9bb0dd47b3 100644 --- a/docs/integrations/microsoft-azure/azure-functions.md +++ b/docs/integrations/microsoft-azure/azure-functions.md @@ -278,6 +278,12 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; +## Troubleshooting + +### HTTP Logs and Metrics Source used by Azure Functions + +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). + ## Additional resources - Blog: [Azure monitoring and troubleshooting](https://www.sumologic.com/blog/azure-services-monitoring) diff --git a/docs/integrations/microsoft-azure/azure-key-vault.md b/docs/integrations/microsoft-azure/azure-key-vault.md index 4ddaa62828..703f039eac 100644 --- a/docs/integrations/microsoft-azure/azure-key-vault.md +++ b/docs/integrations/microsoft-azure/azure-key-vault.md @@ -159,4 +159,4 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-load-balancer.md b/docs/integrations/microsoft-azure/azure-load-balancer.md index 80d7e2543d..d1523cc59a 100644 --- a/docs/integrations/microsoft-azure/azure-load-balancer.md +++ b/docs/integrations/microsoft-azure/azure-load-balancer.md @@ -179,8 +179,7 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). - +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-machine-learning.md b/docs/integrations/microsoft-azure/azure-machine-learning.md index 18d7a59213..2e21774d4f 100644 --- a/docs/integrations/microsoft-azure/azure-machine-learning.md +++ b/docs/integrations/microsoft-azure/azure-machine-learning.md @@ -173,4 +173,4 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-service-bus.md b/docs/integrations/microsoft-azure/azure-service-bus.md index bd894699e4..86ac6ab662 100644 --- a/docs/integrations/microsoft-azure/azure-service-bus.md +++ b/docs/integrations/microsoft-azure/azure-service-bus.md @@ -190,7 +190,7 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-storage.md b/docs/integrations/microsoft-azure/azure-storage.md index 7828bc4e7a..5118f7b42a 100644 --- a/docs/integrations/microsoft-azure/azure-storage.md +++ b/docs/integrations/microsoft-azure/azure-storage.md @@ -374,4 +374,4 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-virtual-machine.md b/docs/integrations/microsoft-azure/azure-virtual-machine.md index 0197b054bb..c98d902baf 100644 --- a/docs/integrations/microsoft-azure/azure-virtual-machine.md +++ b/docs/integrations/microsoft-azure/azure-virtual-machine.md @@ -183,6 +183,10 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting +### HTTP Logs and Metrics Source used by Azure Functions + +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). + ### App installation failed - Content install error - Rule with name AzureObservabilityMetadataExtractionVMName already exists. This error occurs if the app being installed attempts to create a Metric Rule by a name (AzureObservabilityMetadataExtractionVMName) which already exists in the org. This Metric Rule could have been created manually and is creating conflict with current app installation flow. diff --git a/docs/integrations/microsoft-azure/azure-virtual-network.md b/docs/integrations/microsoft-azure/azure-virtual-network.md index 38ec825235..181dfe5bcf 100644 --- a/docs/integrations/microsoft-azure/azure-virtual-network.md +++ b/docs/integrations/microsoft-azure/azure-virtual-network.md @@ -308,4 +308,4 @@ To resolve the issue, rename or delete the existing FER (AzureVirtualNetworkTarg ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/kubernetes.md b/docs/integrations/microsoft-azure/kubernetes.md index 2e7269daa5..641ef40e8e 100644 --- a/docs/integrations/microsoft-azure/kubernetes.md +++ b/docs/integrations/microsoft-azure/kubernetes.md @@ -402,7 +402,7 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ### HTTP Logs and Metrics Source used by Azure Functions -To troubleshoot metrics collection, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/sql.md b/docs/integrations/microsoft-azure/sql.md index 5857de63c3..14b7d9e3b4 100644 --- a/docs/integrations/microsoft-azure/sql.md +++ b/docs/integrations/microsoft-azure/sql.md @@ -521,3 +521,9 @@ These alerts are metrics-based and will work for Azure SQL. | `Azure SQL - DTU Percentage` | This monitor triggers alerts when High average DTU consumption percentage is detected in Azure SQL. | Count > 80 | Count =< 80 | | `Azure SQL - Tempdb Percent Log Used` | This monitor triggers alerts when High Tempdb Percent Log Usage is detected in Azure SQL. | Count > 60 | Count =< 60 | | `Azure SQL - High Worker Usage` | This monitor triggers alerts when High Worker Usage is detected in Azure SQL. | Count > 60 | Count =< 60 | + +## Troubleshooting + +### HTTP Logs and Metrics Source used by Azure Functions + +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/web-apps.md b/docs/integrations/microsoft-azure/web-apps.md index 87d761742c..f8d21378cb 100644 --- a/docs/integrations/microsoft-azure/web-apps.md +++ b/docs/integrations/microsoft-azure/web-apps.md @@ -327,3 +327,9 @@ import AppUpdate from '../../reuse/apps/app-update.md'; import AppUninstall from '../../reuse/apps/app-uninstall.md'; + +## Troubleshooting + +### HTTP Logs and Metrics Source used by Azure Functions + +To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/send-data/hosted-collectors/microsoft-source/index.md b/docs/send-data/hosted-collectors/microsoft-source/index.md index 552f4e5d6c..37f32a548d 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/index.md +++ b/docs/send-data/hosted-collectors/microsoft-source/index.md @@ -6,9 +6,7 @@ description: Sumo Logic offers Sources to collect from many Microsoft products. import useBaseUrl from '@docusaurus/useBaseUrl'; -Content to be added here.... - -Sumo Logic offers hosted Sources to collect from many Microsoft products. +Sumo Logic offers hosted Sources to collect data from Microsoft products. ## Guide contents diff --git a/sidebars.ts b/sidebars.ts index f60463cdd1..a660107420 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -547,6 +547,7 @@ module.exports = { label: 'Microsoft Sources', collapsible: true, collapsed: true, + link: {type: 'doc', id: 'send-data/hosted-collectors/microsoft-source/index'}, items: [ 'send-data/hosted-collectors/microsoft-source/azure-metrics-source', 'send-data/hosted-collectors/microsoft-source/ms-office-audit-source', From 07201aeca9b387ae6021fedeb5aca2038b50ac68 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Wed, 17 Sep 2025 21:53:23 +0530 Subject: [PATCH 09/24] Update azure-metrics-source.md --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index efc8b33d02..b167fcea52 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -142,7 +142,7 @@ The scan interval determines how often the Azure Metrics Source queries the Azur - Shorter scan intervals (e.g., 1 minute) result in more frequent API calls. - Longer scan intervals reduce the request rate, helping to avoid throttling—especially in environments with a high number of resources. -### Recommended scan interval guidelines +#### Recommended scan interval guidelines | Scan Interval | Maximum Resources per Subscription | Maximum VMs per Subscription for Virtual Machine Guest metrics | |:--|:--|:--| From 0c3cab4c6d33e1fdde10afb2838113da877c8e5c Mon Sep 17 00:00:00 2001 From: John Pipkin Date: Thu, 18 Sep 2025 14:04:47 -0500 Subject: [PATCH 10/24] Fix build break --- cid-redirects.json | 1 - 1 file changed, 1 deletion(-) diff --git a/cid-redirects.json b/cid-redirects.json index 1db58216c5..9eb36965df 100644 --- a/cid-redirects.json +++ b/cid-redirects.json @@ -4218,7 +4218,6 @@ "/Send-Data/Sources/02Sources-for-Hosted-Collectors/HTTP-Source/Upload-Data-to-an-HTTP-Source": "/docs/send-data/hosted-collectors/http-source", "/Send-Data/Sources/02Sources-for-Hosted-Collectors/HTTP-Source/zGenerate-a-new-URL-for-an-HTTP-Source": "/docs/send-data/hosted-collectors/http-source", "/Send-Data/Sources/02Sources-for-Hosted-Collectors/Microsoft-Office-365-Audit-Source": "/docs/send-data/hosted-collectors/microsoft-source/ms-office-audit-source", - "/docs/send-data/hosted-collectors/microsoft-source": "/docs/send-data/hosted-collectors/microsoft-source/ms-office-audit-source", "/docs/send-data/hosted-collectors/ms-office-audit-source": "/docs/send-data/hosted-collectors/microsoft-source/ms-office-audit-source", "/docs/send-data/hosted-collectors/webhook-sources": "/docs/send-data/hosted-collectors/webhook-sources/zoom", "/Send-Data/Sources/04Reference-Information-for-Sources": "/docs/send-data/reference-information/time-reference", From eb45930cbc35df9f326a6a04fb6d8e9a85878f4b Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 12:04:36 +0530 Subject: [PATCH 11/24] update troubleshooting section --- docs/integrations/microsoft-azure/azure-api-management.md | 4 ++-- .../microsoft-azure/azure-app-service-plan.md | 4 ++-- .../microsoft-azure/azure-application-gateway.md | 4 ++-- .../integrations/microsoft-azure/azure-cache-for-redis.md | 4 ++-- .../microsoft-azure/azure-container-instances.md | 4 ++-- .../microsoft-azure/azure-cosmos-db-for-postgresql.md | 4 ++-- docs/integrations/microsoft-azure/azure-cosmos-db.md | 4 ++-- .../microsoft-azure/azure-database-for-mysql.md | 4 ++-- .../microsoft-azure/azure-database-for-postgresql.md | 4 ++-- docs/integrations/microsoft-azure/azure-event-grid.md | 4 ++-- docs/integrations/microsoft-azure/azure-event-hubs.md | 4 ++-- docs/integrations/microsoft-azure/azure-functions.md | 4 ++-- docs/integrations/microsoft-azure/azure-key-vault.md | 4 ++-- docs/integrations/microsoft-azure/azure-load-balancer.md | 4 ++-- .../microsoft-azure/azure-machine-learning.md | 4 ++-- docs/integrations/microsoft-azure/azure-service-bus.md | 4 ++-- docs/integrations/microsoft-azure/azure-storage.md | 4 ++-- .../integrations/microsoft-azure/azure-virtual-machine.md | 4 ++-- .../integrations/microsoft-azure/azure-virtual-network.md | 8 ++++++-- docs/integrations/microsoft-azure/kubernetes.md | 8 ++++++-- docs/integrations/microsoft-azure/sql.md | 4 ++-- docs/integrations/microsoft-azure/web-apps.md | 4 ++-- 22 files changed, 52 insertions(+), 44 deletions(-) diff --git a/docs/integrations/microsoft-azure/azure-api-management.md b/docs/integrations/microsoft-azure/azure-api-management.md index b24810207f..4358d25fe6 100644 --- a/docs/integrations/microsoft-azure/azure-api-management.md +++ b/docs/integrations/microsoft-azure/azure-api-management.md @@ -173,6 +173,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-app-service-plan.md b/docs/integrations/microsoft-azure/azure-app-service-plan.md index b486860d7c..e8c8988e22 100644 --- a/docs/integrations/microsoft-azure/azure-app-service-plan.md +++ b/docs/integrations/microsoft-azure/azure-app-service-plan.md @@ -155,6 +155,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-application-gateway.md b/docs/integrations/microsoft-azure/azure-application-gateway.md index 2843945d24..ed3d659201 100644 --- a/docs/integrations/microsoft-azure/azure-application-gateway.md +++ b/docs/integrations/microsoft-azure/azure-application-gateway.md @@ -192,6 +192,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-cache-for-redis.md b/docs/integrations/microsoft-azure/azure-cache-for-redis.md index f4da3ea174..b0fdecbe69 100644 --- a/docs/integrations/microsoft-azure/azure-cache-for-redis.md +++ b/docs/integrations/microsoft-azure/azure-cache-for-redis.md @@ -199,9 +199,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-container-instances.md b/docs/integrations/microsoft-azure/azure-container-instances.md index 1aed9049a7..5c1f504c9f 100644 --- a/docs/integrations/microsoft-azure/azure-container-instances.md +++ b/docs/integrations/microsoft-azure/azure-container-instances.md @@ -174,9 +174,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md b/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md index 4c0888894c..fcc9a51b7d 100644 --- a/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md +++ b/docs/integrations/microsoft-azure/azure-cosmos-db-for-postgresql.md @@ -227,6 +227,6 @@ These alerts are metrics-based and will work for all Cosmos DB PostgreSQL instan ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-cosmos-db.md b/docs/integrations/microsoft-azure/azure-cosmos-db.md index 6e1427c05a..1edb14ac87 100644 --- a/docs/integrations/microsoft-azure/azure-cosmos-db.md +++ b/docs/integrations/microsoft-azure/azure-cosmos-db.md @@ -251,6 +251,6 @@ These alerts are metrics-based and will work for all Cosmos DB's. ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-database-for-mysql.md b/docs/integrations/microsoft-azure/azure-database-for-mysql.md index e3f3d8d190..673adf0a15 100644 --- a/docs/integrations/microsoft-azure/azure-database-for-mysql.md +++ b/docs/integrations/microsoft-azure/azure-database-for-mysql.md @@ -222,9 +222,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-database-for-postgresql.md b/docs/integrations/microsoft-azure/azure-database-for-postgresql.md index 552f0961e4..ce98bf677b 100644 --- a/docs/integrations/microsoft-azure/azure-database-for-postgresql.md +++ b/docs/integrations/microsoft-azure/azure-database-for-postgresql.md @@ -212,9 +212,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-event-grid.md b/docs/integrations/microsoft-azure/azure-event-grid.md index e0b500d8be..bf7685ce67 100644 --- a/docs/integrations/microsoft-azure/azure-event-grid.md +++ b/docs/integrations/microsoft-azure/azure-event-grid.md @@ -210,9 +210,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-event-hubs.md b/docs/integrations/microsoft-azure/azure-event-hubs.md index 09b4ff4ee4..c10c57b8c9 100644 --- a/docs/integrations/microsoft-azure/azure-event-hubs.md +++ b/docs/integrations/microsoft-azure/azure-event-hubs.md @@ -183,6 +183,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-functions.md b/docs/integrations/microsoft-azure/azure-functions.md index 9bb0dd47b3..3383bc9cc8 100644 --- a/docs/integrations/microsoft-azure/azure-functions.md +++ b/docs/integrations/microsoft-azure/azure-functions.md @@ -280,9 +280,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-key-vault.md b/docs/integrations/microsoft-azure/azure-key-vault.md index 703f039eac..6ab64df817 100644 --- a/docs/integrations/microsoft-azure/azure-key-vault.md +++ b/docs/integrations/microsoft-azure/azure-key-vault.md @@ -157,6 +157,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-load-balancer.md b/docs/integrations/microsoft-azure/azure-load-balancer.md index d1523cc59a..b548b3b077 100644 --- a/docs/integrations/microsoft-azure/azure-load-balancer.md +++ b/docs/integrations/microsoft-azure/azure-load-balancer.md @@ -177,9 +177,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-machine-learning.md b/docs/integrations/microsoft-azure/azure-machine-learning.md index 2e21774d4f..032d6d9f0e 100644 --- a/docs/integrations/microsoft-azure/azure-machine-learning.md +++ b/docs/integrations/microsoft-azure/azure-machine-learning.md @@ -171,6 +171,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-service-bus.md b/docs/integrations/microsoft-azure/azure-service-bus.md index 86ac6ab662..479b689e69 100644 --- a/docs/integrations/microsoft-azure/azure-service-bus.md +++ b/docs/integrations/microsoft-azure/azure-service-bus.md @@ -188,9 +188,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/azure-storage.md b/docs/integrations/microsoft-azure/azure-storage.md index 5118f7b42a..b9012ab3ee 100644 --- a/docs/integrations/microsoft-azure/azure-storage.md +++ b/docs/integrations/microsoft-azure/azure-storage.md @@ -372,6 +372,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/azure-virtual-machine.md b/docs/integrations/microsoft-azure/azure-virtual-machine.md index c98d902baf..232d69d85c 100644 --- a/docs/integrations/microsoft-azure/azure-virtual-machine.md +++ b/docs/integrations/microsoft-azure/azure-virtual-machine.md @@ -183,9 +183,9 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ### App installation failed - Content install error - Rule with name AzureObservabilityMetadataExtractionVMName already exists. diff --git a/docs/integrations/microsoft-azure/azure-virtual-network.md b/docs/integrations/microsoft-azure/azure-virtual-network.md index 181dfe5bcf..2f7c53ab18 100644 --- a/docs/integrations/microsoft-azure/azure-virtual-network.md +++ b/docs/integrations/microsoft-azure/azure-virtual-network.md @@ -306,6 +306,10 @@ This error occurs if the app being installed attempts to create an FER by a name To resolve the issue, rename or delete the existing FER (AzureVirtualNetworkTargetResourceIdExtractionFER) and reinstall the app. -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via the ARM template -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via the ARM template, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). + +### Metrics collection via Azure Metrics Source + +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/kubernetes.md b/docs/integrations/microsoft-azure/kubernetes.md index 641ef40e8e..b56b030d79 100644 --- a/docs/integrations/microsoft-azure/kubernetes.md +++ b/docs/integrations/microsoft-azure/kubernetes.md @@ -400,9 +400,13 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via the ARM template -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). +To troubleshoot metrics collection via the ARM template, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). + +### Metrics collection via Azure Metrics Source + +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources diff --git a/docs/integrations/microsoft-azure/sql.md b/docs/integrations/microsoft-azure/sql.md index 14b7d9e3b4..e89d92d6ec 100644 --- a/docs/integrations/microsoft-azure/sql.md +++ b/docs/integrations/microsoft-azure/sql.md @@ -524,6 +524,6 @@ These alerts are metrics-based and will work for Azure SQL. ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/web-apps.md b/docs/integrations/microsoft-azure/web-apps.md index f8d21378cb..f5857b5dd6 100644 --- a/docs/integrations/microsoft-azure/web-apps.md +++ b/docs/integrations/microsoft-azure/web-apps.md @@ -330,6 +330,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### HTTP Logs and Metrics Source used by Azure Functions +### Metrics collection via Azure Metrics Source -To troubleshoot metrics collection, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file From 00e7023b619f0f7c6e79451d7f5df0a0ad906ea8 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 12:49:43 +0530 Subject: [PATCH 12/24] new update --- .../microsoft-azure/azure-virtual-network.md | 17 ++++++----------- docs/integrations/microsoft-azure/kubernetes.md | 4 ---- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/docs/integrations/microsoft-azure/azure-virtual-network.md b/docs/integrations/microsoft-azure/azure-virtual-network.md index 2f7c53ab18..d8e3aa098a 100644 --- a/docs/integrations/microsoft-azure/azure-virtual-network.md +++ b/docs/integrations/microsoft-azure/azure-virtual-network.md @@ -88,8 +88,7 @@ Azure service sends monitoring data to Azure Monitor, which can then [stream dat * Virtual Network Flow Logs collection from Storage Account using our [Collect Logs from Azure Blob Storage](/docs/send-data/collect-from-other-data-sources/azure-blob-storage/block-blob/collect-logs) integration. * Activity Logs collection from [Azure Monitor](https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-get-started) using our [Azure Event Hubs source](/docs/send-data/collect-from-other-data-sources/azure-monitoring/ms-azure-event-hubs-source/). It is recommended to create a separate source for activity logs. If you are already collecting these logs, you can skip this step. -* Metrics collection using our [HTTP Logs and Metrics source](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/) via Azure Functions deployed using the ARM template. - +* Metrics collection using [Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source). You must explicitly enable diagnostic settings and network flow logs for each Virtual Network you want to monitor. You can forward metrics to the same event hub provided they satisfy the limitations and permissions as described [here](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings?tabs=portal#destination-limitations). @@ -300,16 +299,12 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### App installation failed - Content Error - Invalid Field Extraction Rule - -This error occurs if the app being installed attempts to create an FER by a name (AzureVirtualNetworkTargetResourceIdExtractionFER) which already exists in the org. This FER could have been created manually and is creating conflict with current app installation flow. - -To resolve the issue, rename or delete the existing FER (AzureVirtualNetworkTargetResourceIdExtractionFER) and reinstall the app. +### Metrics collection via Azure Metrics Source -### Metrics collection via the ARM template +To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). -To troubleshoot metrics collection via the ARM template, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). +### App installation failed - Content Error - Invalid Field Extraction Rule -### Metrics collection via Azure Metrics Source +This error occurs if the app being installed attempts to create an FER by a name (AzureVirtualNetworkTargetResourceIdExtractionFER) which already exists in the org. This FER could have been created manually and is creating conflict with current app installation flow. -To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). \ No newline at end of file +To resolve the issue, rename or delete the existing FER (AzureVirtualNetworkTargetResourceIdExtractionFER) and reinstall the app. \ No newline at end of file diff --git a/docs/integrations/microsoft-azure/kubernetes.md b/docs/integrations/microsoft-azure/kubernetes.md index b56b030d79..cf6e12d87a 100644 --- a/docs/integrations/microsoft-azure/kubernetes.md +++ b/docs/integrations/microsoft-azure/kubernetes.md @@ -400,10 +400,6 @@ import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting -### Metrics collection via the ARM template - -To troubleshoot metrics collection via the ARM template, follow the instructions in [Collect Metrics from Azure Monitor > Troubleshooting metrics collection](/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-metrics-azure-monitor/#troubleshooting-metrics-collection). - ### Metrics collection via Azure Metrics Source To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). From 843fb764495aa090547fb059fd6a5865c4d9f17e Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:27:06 +0530 Subject: [PATCH 13/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index b167fcea52..ce9a224050 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -124,7 +124,7 @@ If you know that certain metrics in Azure contain actual data (non-empty values) ### API throttling by Microsoft If API requests to Azure are being throttled, resulting in failed or delayed metric ingestion, please review and follow the guidance in the [Best Practices](#best-practices) section for reducing the frequency and volume of API calls. -If you continue to experience throttling, please reach out to Sumo Logic Support for assistance. +If you continue to experience throttling, reach out to Sumo Logic Support for assistance. ## Best practices From acb1c84c9b1856c8932883152efb68a415ea782a Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:27:16 +0530 Subject: [PATCH 14/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index ce9a224050..a239af6620 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -123,7 +123,7 @@ If you know that certain metrics in Azure contain actual data (non-empty values) ### API throttling by Microsoft -If API requests to Azure are being throttled, resulting in failed or delayed metric ingestion, please review and follow the guidance in the [Best Practices](#best-practices) section for reducing the frequency and volume of API calls. +If API requests to Azure are being throttled, resulting in failed or delayed metric ingestion, review and follow the guidance in the [Best Practices](#best-practices) section for reducing the frequency and volume of API calls. If you continue to experience throttling, reach out to Sumo Logic Support for assistance. ## Best practices From 62aac0808c327e5e93da1420a93fc5e1e06380bf Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:27:25 +0530 Subject: [PATCH 15/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index a239af6620..a83da92a80 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -107,7 +107,7 @@ Follow the steps below to solve this issue: ### Subscriptions not present in the View Subscriptions list -If the **View Subscriptions** list does not include expected Azure subscriptions, you can verify that the credentials have sufficient permission to read from the expected subscription. Another possible cause could be a propagation delay. After creating a new app or client secret, Azure may take up to 10 minutes to reflect the changes across its services. Please wait a few minutes and refresh the list. +If the **View Subscriptions** list does not include expected Azure subscriptions, you can verify that the credentials have sufficient permission to read from the expected subscription. Another possible cause could be a propagation delay. After creating a new app or client secret, Azure may take up to 10 minutes to reflect the changes across its services. Wait a few minutes and refresh the list. Follow the steps below to verify and assign proper permissions: 1. In the Azure portal, navigate to **Subscriptions**. From 0a1b3de2b1d670a1360736aec0eba40eabf71456 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:27:40 +0530 Subject: [PATCH 16/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index a83da92a80..2d09580b64 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -100,7 +100,7 @@ During Source creation, if you encounter errors such as `Unable to get subscript Follow the steps below to solve this issue: 1. Log in to the Azure Portal. -1. Navigate to App registrations and locate the App that was created during the **Deploy to Azure** process. +1. Navigate to app registrations and locate the app that was created during the **Deploy to Azure** process. 1. Go to **Certificates & Secrets**. 1. Ensure that a valid **Client Secret** exists. If no secret is present or the existing one has expired, create a new Client Secret. 1. Retry the Source creation process using the updated credentials. From 9a8368a92efc942d8b28ec2f9f33d409a6d7e0b3 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:27:55 +0530 Subject: [PATCH 17/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index 2d09580b64..8a4b5bfd84 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -98,7 +98,6 @@ https://github.com/SumoLogic/sumologic-documentation/blob/main/static/files/c2c/ During Source creation, if you encounter errors such as `Unable to get subscriptions. Please check credentials.` or `Unable to authenticate to Azure`, please verify that your credentials are valid in the Azure portal. -Follow the steps below to solve this issue: 1. Log in to the Azure Portal. 1. Navigate to app registrations and locate the app that was created during the **Deploy to Azure** process. 1. Go to **Certificates & Secrets**. From d5b28ed1a1521d2c3320c81c8fb5518919e62c56 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:28:08 +0530 Subject: [PATCH 18/24] Update docs/send-data/hosted-collectors/index.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- docs/send-data/hosted-collectors/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/index.md b/docs/send-data/hosted-collectors/index.md index 2c02456549..5c0d608fd3 100644 --- a/docs/send-data/hosted-collectors/index.md +++ b/docs/send-data/hosted-collectors/index.md @@ -75,7 +75,7 @@ The maximum number of Collectors allowed per organization is 10,000.

Thumbnail icon

Microsoft Sources

-

Collect data from your Microsoft Platform and other products.

+

Collect data from your Microsoft platform and other products.

From 54ee7d7ddc8c16bfd1ef28801447cfc9cbf28b19 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:28:21 +0530 Subject: [PATCH 19/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../microsoft-source/azure-metrics-source.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index 8a4b5bfd84..0dbddd5a0b 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -96,7 +96,9 @@ https://github.com/SumoLogic/sumologic-documentation/blob/main/static/files/c2c/ ### Unable to authenticate to Azure -During Source creation, if you encounter errors such as `Unable to get subscriptions. Please check credentials.` or `Unable to authenticate to Azure`, please verify that your credentials are valid in the Azure portal. +During Source creation, if you encounter errors such as `Unable to get subscriptions. Please check credentials.` or `Unable to authenticate to Azure`. + +To rectify this ensure you verify your credentials are valid in the Azure portal by following the below steps: 1. Log in to the Azure Portal. 1. Navigate to app registrations and locate the app that was created during the **Deploy to Azure** process. From 0ae90908a40527127a69d00610c6faebc35002c3 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:28:31 +0530 Subject: [PATCH 20/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index 0dbddd5a0b..be4dad0b37 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -100,7 +100,7 @@ During Source creation, if you encounter errors such as `Unable to get subscript To rectify this ensure you verify your credentials are valid in the Azure portal by following the below steps: -1. Log in to the Azure Portal. +1. Sign in to the Azure portal. 1. Navigate to app registrations and locate the app that was created during the **Deploy to Azure** process. 1. Go to **Certificates & Secrets**. 1. Ensure that a valid **Client Secret** exists. If no secret is present or the existing one has expired, create a new Client Secret. From 61f17c615956c18d8f4a6bda0c0b44ae8d48119e Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:29:25 +0530 Subject: [PATCH 21/24] Update azure-metrics-source.md --- .../microsoft-source/azure-metrics-source.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index b167fcea52..3a694de771 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -63,7 +63,7 @@ To configure the Azure Metrics Source: 1. **Azure Regions**. Select **All Regions**, if you want to collect metrics from all regions. Or, click **Select Regions** to select the region of your choice from the dropdown to collect metrics. 1. **Azure Namespaces**. Select **All Namespaces**, if you want to collect metrics with all namespaces. Or, click **Select Namespaces** to select the namespaces of your choice from the dropdown to collect metrics. 1. **Tags Filter**. Select any tag filter from the dropdown to enforce it with the each namespace. This helps you to further fine-tune from which resources you would like to collect metrics. It only supports resource tags which are custom user-configured key-value pairs on the azure resource. This approach allows for dynamic discovery, so for example if the resources are ephemeral or if any new resources are created in the same namespace, region and namespace are tagged with same key-value pairs as configured in the source, so their metrics can be collected automatically. -1. **Scan Interval**. This option sets how often the source is scanned. Setting a shorter frequency increases message volume, and can cause your deployment to incur additional charges. The minimum acceptable scan interval is 1 minute. +1. **Scan Interval**. This option sets how often the source is scanned. By default, the scan interval is set to 1 minute. Setting a shorter frequency increases message volume, and can cause your deployment to incur additional charges. The minimum acceptable scan interval is 1 minute. 1. **Processing Rules for Metrics (Optional)**. Configure any desired filters, such as allowlist and denylist, as described in [Metrics Include and Exclude Rules](/docs/send-data/collection/processing-rules/metrics-include-and-exclude-rules). ![filtersprocessingrules.png](/img/send-data/filtersprocessingrules.png) @@ -134,7 +134,9 @@ The Sumo Logic Azure Metrics Source uses the Azure Monitor API to retrieve metri Microsoft enforces API throttling for each subscription. Since each Sumo Logic Azure Metrics Source sends independent requests to the Azure Monitor API, Sumo Logic strongly recommends you to use only one Azure Metrics Source per Azure subscription. -note: A single Sumo Logic Source can collect metrics from multiple Azure subscriptions without issue. However, avoid assigning more than one Source to collect from the same subscription, as this may lead to throttling. +:::note + A single Sumo Logic Source can collect metrics from multiple Azure subscriptions without issue. However, avoid assigning more than one Source to collect from the same subscription, as this may lead to throttling. +::: ### Increase the scan interval to reduce API load @@ -149,9 +151,11 @@ The scan interval determines how often the Azure Metrics Source queries the Azur | 1 minute | 20,000 (3,000 for users on Azure Sovereign Cloud) | 600 (80 for users on Azure Sovereign Cloud) | | 5 minutes | 100,000 (15,000 for users on Azure Sovereign Cloud)| 3,000 (400 for users on Azure Sovereign Cloud) | -For a larger number of resources, increase the scan interval further using the Sumo Logic Source Management API. +By default, the scan interval is set to 1 minute. For a larger number of resources, increase the scan interval further using the Sumo Logic Source Management API. -note: Increasing the scan interval does not reduce metric granularity. The frequency of data collection changes, but the resolution of data points remains unaffected. +:::note + Increasing the scan interval does not reduce metric granularity. The frequency of data collection changes, but the resolution of data points remains unaffected. +::: ### Estimate API request rate per subscription From c765de78c06069bde0b9a89d3d35b6c9ce1c71a6 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:35:00 +0530 Subject: [PATCH 22/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index 7ea7ff9d75..92072a9453 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -142,7 +142,7 @@ Microsoft enforces API throttling for each subscription. Since each Sumo Logic A ### Increase the scan interval to reduce API load The scan interval determines how often the Azure Metrics Source queries the Azure Monitor API. Adjusting this interval can significantly impact API usage: -- Shorter scan intervals (e.g., 1 minute) result in more frequent API calls. +- Shorter scan intervals (for example, 1 minute) result in more frequent API calls. - Longer scan intervals reduce the request rate, helping to avoid throttling—especially in environments with a high number of resources. #### Recommended scan interval guidelines From a7865c2205c7017d1f248b733ac10dc39d9d89a4 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:37:57 +0530 Subject: [PATCH 23/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index 92072a9453..d744588667 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -136,7 +136,7 @@ The Sumo Logic Azure Metrics Source uses the Azure Monitor API to retrieve metri Microsoft enforces API throttling for each subscription. Since each Sumo Logic Azure Metrics Source sends independent requests to the Azure Monitor API, Sumo Logic strongly recommends you to use only one Azure Metrics Source per Azure subscription. :::note - A single Sumo Logic Source can collect metrics from multiple Azure subscriptions without issue. However, avoid assigning more than one Source to collect from the same subscription, as this may lead to throttling. +A single Sumo Logic Source can collect metrics from multiple Azure subscriptions without issue. However, avoid assigning more than one Source to collect from the same subscription, as this may lead to throttling. ::: ### Increase the scan interval to reduce API load From 36554b2c626ff0a2f3df369aa551459ded1506b2 Mon Sep 17 00:00:00 2001 From: Amee Lepcha Date: Fri, 19 Sep 2025 15:38:06 +0530 Subject: [PATCH 24/24] Update docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md Co-authored-by: Jagadisha V <129049263+JV0812@users.noreply.github.com> --- .../hosted-collectors/microsoft-source/azure-metrics-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md index d744588667..55044b4e89 100644 --- a/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md +++ b/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source.md @@ -155,7 +155,7 @@ The scan interval determines how often the Azure Metrics Source queries the Azur By default, the scan interval is set to 1 minute. For a larger number of resources, increase the scan interval further using the Sumo Logic Source Management API. :::note - Increasing the scan interval does not reduce metric granularity. The frequency of data collection changes, but the resolution of data points remains unaffected. +Increasing the scan interval does not reduce metric granularity. The frequency of data collection changes, but the resolution of data points remains unaffected. ::: ### Estimate API request rate per subscription