Azure Cosmos DB
Azure Cosmos DB is a fully managed NoSQL and relational database for modern app development offering single-digit millisecond response times, automatic and instant scalability, along with guaranteed speed at any scale. This integration helps in monitoring the overall performance, failures, capacity, and operational health of all your Azure Cosmos DB resources.
The below instructions applies to the following database APIs:
- NoSQL
- MongoDB
- Cassandra
- Gremlin
- Table
Log and metric types​
For Azure Cosmos DB, you can collect the following logs and metrics:
- Resource logs. To learn more about the different resource log category types and schemas collected for Azure Cosmos DB, refer to the Azure documentation.
- Platform Metrics for Azure Cosmos DB. All metrics for Azure Cosmos DB are in the namespace
Azure Cosmos DB standard metrics
. For more information on supported metrics and dimensions, refer to the Azure documentation.
Setup​
Azure service sends monitoring data to Azure Monitor, which can then stream data to Eventhub. Sumo Logic supports:
- Logs collection from Azure Monitor using our Azure Event Hubs source.
- Metrics collection using our HTTP Logs and Metrics source via Azure Functions deployed using the ARM template.
You must explicitly enable diagnostic settings for each Azure Cosmos DB namespace you want to monitor. You can forward logs to the same event hub provided they satisfy the limitations and permissions as described here.
When you configure the event hubs source or HTTP source, plan your source category to ease the querying process. A hierarchical approach allows you to make use of wildcards. For example: Azure/CosmosDB/Logs
, Azure/CosmosDB/Metrics
.
Configure metrics collection​
In this section, you will configure a pipeline for shipping metrics from Azure Monitor to an Event Hub, on to an Azure Function, and finally to an HTTP Source on a hosted collector in Sumo Logic.
- Configure an HTTP Source.
- Configure and deploy the ARM Template.
- Export metrics to Event Hub. Perform below steps for each Azure Cosmos DB namespace that you want to monitor.
- Choose
Stream to an event hub
as destination. - Select
AllMetrics
. - Use the Event hub namespace created by the ARM template in Step 2 above. You can create a new Event hub or use the one created by ARM template. You can use the default policy
RootManageSharedAccessKey
as the policy name.
- Choose
Configure logs collection​
In this section, you will configure a pipeline for shipping diagnostic logs from Azure Monitor to an Event Hub.
- To set up the Azure Event Hubs source in Sumo Logic, refer to Azure Event Hubs Source for Logs.
- If you want to audit Azure Cosmos DB control plane operations, disable the key based metadata write access.
- To create the Diagnostic settings in Azure portal, refer to the Azure documentation. Perform below steps for each Azure Cosmos DB namespace that you want to monitor.
- Choose
Stream to an event hub
as the destination. - Select your preferred log categories depending upon your database API.
- Use the Event hub namespace and Event hub name configured in previous step in destination details section. You can use the default policy
RootManageSharedAccessKey
as the policy name.
- Choose
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.