Azure Cosmos DB for PostgreSQL
Azure Cosmos DB for PostgreSQL is a managed service for PostgreSQL powered by the Citus open source extension which enables you to build highly scalable relational apps. This integration helps in identifying configurations errors, analyzing executed statements, and monitoring resource usage of individual nodes in a cluster.
Log and metric types​
For Azure Cosmos DB for PostgreSQL, you can collect the following logs and metrics:
- PostgreSQL Server Logs. These logs are available for every node of a cluster and can be used to identify, troubleshoot, and repair configuration errors and suboptimal performance.
- Audit Logs. Audit logging of database activities is available through pgAudit extension. By default, pgAudit log statements are emitted along with your regular log statements by using Postgres's standard logging facility. To learn more about the audit log format, refer to the pgAudit documentation.
- Metrics. These metrics are available for every node of a cluster, and in aggregate across the nodes. For more information on supported metrics, 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 for PostgreSQL cluster 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/CosmosDBforPostgreSQL/Logs
, Azure/CosmosDBforPostgreSQL/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 for PostgreSQL cluster 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 enable audit logs perform below steps:
- To set up the Azure Event Hubs source in Sumo Logic, refer to Azure Event Hubs Source for Logs.
- To create the Diagnostic settings in Azure portal, refer to the Azure documentation. Perform below steps for each Azure Cosmos DB for PostgreSQL cluster that you want to monitor.
- Choose
Stream to an event hub
as the destination. - Select
allLogs
. - 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.