Prometheus exporter for Azure ResourceGraph queries with configurable fields and transformations.
Usage:
azure-resourcegraph-exporter [OPTIONS]
Application Options:
--log.debug debug mode [$LOG_DEBUG]
--log.devel development mode [$LOG_DEVEL]
--log.json Switch log output to json format [$LOG_JSON]
--azure-environment= Azure environment name (default: AZUREPUBLICCLOUD) [$AZURE_ENVIRONMENT]
--azure-subscription= Azure subscription ID [$AZURE_SUBSCRIPTION_ID]
-c, --config= Config path [$CONFIG]
--server.bind= Server address (default: :8080) [$SERVER_BIND]
--server.timeout.read= Server read timeout (default: 5s) [$SERVER_TIMEOUT_READ]
--server.timeout.write= Server write timeout (default: 10s) [$SERVER_TIMEOUT_WRITE]
Help Options:
-h, --help Show this help message
for Azure API authentication (using ENV vars) see following documentations:
- https://github.com/webdevops/go-common/blob/main/azuresdk/README.md
- https://docs.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication
- see example.yaml
- see example.azure.yaml
Endpoint | Description |
---|---|
/metrics |
Default prometheus golang metrics |
/probe |
Execute resourcegraph queries without set module name |
/probe?module=xzy |
Execute resourcegraph queries for module xzy |
/probe?module=xzy&cache=2m |
Execute resourcegraph queries for module xzy and enable caching for 2 minutes |
Metric | Description |
---|---|
azure_resourcegraph_query_time |
Summary metric about query execution time (incl. all subqueries) |
azure_resourcegraph_query_results |
Number of results from query |
azure_resourcegraph_query_requests |
Count of requests (eg paged subqueries) per query |
see armclient tracing documentation
Config file:
queries:
- metric: azure_resourcestype_count
query: |-
Resources
| summarize count() by type
fields:
- name: count_
type: value
Metrics:
# HELP azure_resourcestype_count azure_resourcestype_count
# TYPE azure_resourcestype_count gauge
azure_resourcestype_count{type="microsoft.compute/virtualmachinescalesets"} 2
azure_resourcestype_count{type="microsoft.containerservice/managedclusters"} 1
azure_resourcestype_count{type="microsoft.keyvault/vaults"} 2
azure_resourcestype_count{type="microsoft.managedidentity/userassignedidentities"} 2
azure_resourcestype_count{type="microsoft.network/networksecuritygroups"} 1
azure_resourcestype_count{type="microsoft.network/networkwatchers"} 2
azure_resourcestype_count{type="microsoft.network/routetables"} 3
azure_resourcestype_count{type="microsoft.network/virtualnetworks"} 2
azure_resourcestype_count{type="microsoft.storage/storageaccounts"} 1