Skip to content

Commit

Permalink
Starter scraper config for Azure resources (#1312)
Browse files Browse the repository at this point in the history
- Cosmos DB usage, RUs consumption, latency and availability metrics
 - Key Vault latency, saturation and availability metrics
 - Blob Storage API requests, data, latency and availability metrics
 - Virtual Machine Scale Set (VMSS) CPU, disk and network usage metrics

Co-authored-by: Janne Kataja <janne.kataja@tomtom.com>
  • Loading branch information
jkataja and JanneKataja-TomTom authored Jan 25, 2021
1 parent bf6f1b0 commit 5a361d4
Show file tree
Hide file tree
Showing 5 changed files with 243 additions and 0 deletions.
11 changes: 11 additions & 0 deletions config/promitor/scraper/contrib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
### Scraping agent starter configurations

This directory contains starter configuration file snippets for Promitor scraping agent to scrape metrics from the following Azure services.

| Azure service | File | Documentation |
|----------------------------------|-----------------------|---------------|
| Cosmos DB | `cosmosdb.yaml` | [Microsoft.DocumentDB/databaseAccounts](https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftdocumentdbdatabaseaccounts) |
| Key Vault | `keyvault.yaml` | [Microsoft.KeyVault/vaults](https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftkeyvaultvaults) |
| Blob Storage | `storage-blob.yaml` | [Microsoft.Storage/storageAccounts/blobServices](https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftstoragestorageaccountsblobservices) |
| Virtual Machine Scale Set (VMSS) | `vmss.yaml` | [Microsoft.Compute/virtualMachineScaleSets](https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftcomputevirtualmachinescalesets) |

71 changes: 71 additions & 0 deletions config/promitor/scraper/contrib/cosmosdb.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Cosmos DB usage, RUs consumption, latency and availability metrics
#
# Add items to 'metrics' in your Promitor scraping agent configuration,
# first replacing DATABASE_NAME with your Cosmos DB account name.
#
# See documentation for additional supported metrics and dimensions:
# https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftdocumentdbdatabaseaccounts
metrics:
- name: azure_cosmos_db_data_usage
description: "Total data usage reported at 5 minutes granularity"
resourceType: CosmosDb
azureMetricConfiguration:
metricName: DataUsage
aggregation:
type: Total
resources:
- dbName: DATABASE_NAME
- name: azure_cosmos_db_index_usage
description: "Total index usage reported at 5 minutes granularity"
resourceType: CosmosDb
azureMetricConfiguration:
metricName: IndexUsage
aggregation:
type: Total
resources:
- dbName: DATABASE_NAME
- name: azure_cosmos_db_normalized_ru_consumption
description: "Maximum RU consumption percentage per minute"
resourceType: CosmosDb
azureMetricConfiguration:
metricName: NormalizedRUConsumption
aggregation:
type: Maximum
resources:
- dbName: DATABASE_NAME
- name: azure_cosmos_db_server_side_latency
description: "Average server latency of API requests"
resourceType: CosmosDb
azureMetricConfiguration:
metricName: ServerSideLatency
aggregation:
type: Average
resources:
- dbName: DATABASE_NAME
- name: azure_cosmos_db_service_availability
description: "Account requests availability"
resourceType: CosmosDb
azureMetricConfiguration:
metricName: ServiceAvailability
aggregation:
type: Average
resources:
- dbName: DATABASE_NAME
- name: azure_cosmos_db_total_request_units
description: "Request Units consumed"
resourceType: CosmosDb
azureMetricConfiguration:
metricName: TotalRequestUnits
aggregation:
type: Total
resources:
- dbName: DATABASE_NAME
- name: azure_cosmos_db_total_requests
description: "Number of requests made"
resourceType: CosmosDb
azureMetricConfiguration:
metricName: TotalRequests
aggregation:
type: Count
resources:
- dbName: DATABASE_NAME
35 changes: 35 additions & 0 deletions config/promitor/scraper/contrib/keyvault.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Key Vault latency, saturation and availability metrics
#
# Add items to 'metrics' in your Promitor scraping agent configuration,
# first replacing VAULT_NAME with your Key Vault name.
#
# See documentation for additional supported metrics and dimensions:
# https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftkeyvaultvaults
metrics:
- name: azure_keyvault_service_api_latency
description: "Average server latency of all requests"
resourceType: KeyVault
azureMetricConfiguration:
metricName: ServiceApiLatency
aggregation:
type: Average
resources:
- vaultName: VAULT_NAME
- name: azure_keyvault_saturation_shoebox
description: "Vault capacity used"
resourceType: KeyVault
azureMetricConfiguration:
metricName: SaturationShoebox
aggregation:
type: Average
resources:
- vaultName: VAULT_NAME
- name: azure_keyvault_availability
description: "Vault requests availability"
resourceType: KeyVault
azureMetricConfiguration:
metricName: Availability
aggregation:
type: Average
resources:
- vaultName: VAULT_NAME
55 changes: 55 additions & 0 deletions config/promitor/scraper/contrib/storage-blob.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Blob Storage API requests, data, latency and availability metrics
#
# Add items to 'metrics' in your Promitor scraping agent configuration,
# first replacing ACCOUNT_NAME with your Storage Account name.
#
# See documentation for additional supported metrics and dimensions:
# https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftstoragestorageaccountsblobservices
metrics:
- name: azure_storage_blob_transactions
description: "Total API requests"
resourceType: BlobStorage
azureMetricConfiguration:
metricName: Transactions
dimension:
name: ResponseType
aggregation:
type: Total
resources:
- accountName: ACCOUNT_NAME
- name: azure_storage_blob_ingress
description: "Incoming data in bytes"
resourceType: BlobStorage
azureMetricConfiguration:
metricName: Ingress
aggregation:
type: Total
resources:
- accountName: ACCOUNT_NAME
- name: azure_storage_blob_egress
description: "Outgoing data in bytes"
resourceType: BlobStorage
azureMetricConfiguration:
metricName: Egress
aggregation:
type: Total
resources:
- accountName: ACCOUNT_NAME
- name: azure_storage_blob_success_server_latency
description: "Average server latency of successful requests"
resourceType: BlobStorage
azureMetricConfiguration:
metricName: SuccessServerLatency
aggregation:
type: Average
resources:
- accountName: ACCOUNT_NAME
- name: azure_storage_blob_availability
description: "Storage service availability"
resourceType: BlobStorage
azureMetricConfiguration:
metricName: Availability
aggregation:
type: Average
resources:
- accountName: ACCOUNT_NAME
71 changes: 71 additions & 0 deletions config/promitor/scraper/contrib/vmss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Virtual Machine Scale Set (VMSS) CPU, disk and network usage metrics
#
# Add items to 'metrics' in your Promitor scraping agent configuration,
# first replacing SCALESET_NAME with your VMSS name.
#
# See documentation for additional supported metrics and dimensions:
# https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftcomputevirtualmachinescalesets
metrics:
- name: azure_vmss_percentage_cpu_average
description: "CPU usage percentage (Avg)"
resourceType: VirtualMachineScaleSet
azureMetricConfiguration:
metricName: Percentage CPU
aggregation:
type: Average
resources:
- scaleSetName: SCALESET_NAME
- name: azure_vmss_disk_read_bytes
description: "Bytes read from disk (Total)"
resourceType: VirtualMachineScaleSet
azureMetricConfiguration:
metricName: Disk Read Bytes
aggregation:
type: Total
resources:
- scaleSetName: SCALESET_NAME
- name: azure_vmss_disk_write_bytes
description: "Bytes written to disk (Total)"
resourceType: VirtualMachineScaleSet
azureMetricConfiguration:
metricName: Disk Write Bytes
aggregation:
type: Total
resources:
- scaleSetName: SCALESET_NAME
- name: azure_vmss_inbound_flows
description: "Current inbound network flows (Sum)"
resourceType: VirtualMachineScaleSet
azureMetricConfiguration:
metricName: Inbound Flows
aggregation:
type: Sum
resources:
- scaleSetName: SCALESET_NAME
- name: azure_vmss_outbound_flows
description: "Current outbound network flows (Sum)"
resourceType: VirtualMachineScaleSet
azureMetricConfiguration:
metricName: Outbound Flows
aggregation:
type: Sum
resources:
- scaleSetName: SCALESET_NAME
- name: azure_vmss_network_in_total
description: "Bytes received (Sum)"
resourceType: VirtualMachineScaleSet
azureMetricConfiguration:
metricName: Network In Total
aggregation:
type: Sum
resources:
- scaleSetName: SCALESET_NAME
- name: azure_vmss_network_out_total
description: "Bytes transmitted (Sum)"
resourceType: VirtualMachineScaleSet
azureMetricConfiguration:
metricName: Network Out Total
aggregation:
type: Sum
resources:
- scaleSetName: SCALESET_NAME

0 comments on commit 5a361d4

Please sign in to comment.