I'm trying to fetch Cosmos DB metrics from azure using metricbeat's azure module. An example:
- module: azure
metricsets:
- monitor
enabled: true
period: 30s
client_id: '<client_id>'
client_secret: '<client_secret>'
tenant_id: '<tenant_id>>'
subscription_id: '<subscription_id>'
# refresh_list_interval: 60s
resources:
- resource_id: '/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.DocumentDB/databaseAccounts/<DB_instance_name>'
metrics:
- name: ['TotalRequests']
namespace: 'Microsoft.DocumentDB/databaseAccounts'
dimensions:
- name: "StatusCode"
value: "*"
At the time of request, the above metricbeat config seems to fetch the TotalRequests of a randomly selected StatusCode ONLY, whilst I'm looking to fetch the count of the TotalRequests for all StatusCodes.
An example of the documents in the index would look something like the below (irrelevant data is removed from the below):
"@timestamp" : "2021-08-02T07:31:00.000Z"
"azure": {
"dimensions" : {
"status_code" : "449"
},
"metrics" : {
"total_requests" : {
"count" : 294
}
}
}
"@timestamp" : "2021-08-02T07:32:00.000Z"
"azure": {
"dimensions" : {
"status_code" : "201"
},
"metrics" : {
"total_requests" : {
"count" : 1497
}
}
}
"@timestamp" : "2021-08-02T07:33:00.000Z"
"azure": {
"dimensions" : {
"status_code" : "200"
},
"metrics" : {
"total_requests" : {
"count" : 16734
}
}
}
Whilst I'm looking to achieve something on the following lines:
"@timestamp" : "2021-08-02T07:33:00.000Z"
"azure": {
status_code" : [
{
"name": "449",
"total_requests": {
"count": 294
}
},
{
"name": "201",
"total_requests": {
"count": 1794
}
},
{
"name": "200",
"total_requests": {
"count": 16734
}
}
]
}
Can anyone shed some light on fetching all azure metric dimensions simultaneously?
Thanks in advance