{"id":37222434,"url":"https://github.com/percona/azure_metrics_exporter","last_synced_at":"2026-01-15T01:31:01.329Z","repository":{"id":41966176,"uuid":"346722513","full_name":"percona/azure_metrics_exporter","owner":"percona","description":"Azure metrics exporter for Prometheus","archived":false,"fork":true,"pushed_at":"2026-01-12T13:44:25.000Z","size":4046,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-12T20:11:17.690Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"RobustPerception/azure_metrics_exporter","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/percona.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-11T14:05:47.000Z","updated_at":"2026-01-12T13:44:18.000Z","dependencies_parsed_at":"2023-02-12T05:17:06.675Z","dependency_job_id":null,"html_url":"https://github.com/percona/azure_metrics_exporter","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/percona/azure_metrics_exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/percona%2Fazure_metrics_exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/percona%2Fazure_metrics_exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/percona%2Fazure_metrics_exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/percona%2Fazure_metrics_exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/percona","download_url":"https://codeload.github.com/percona/azure_metrics_exporter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/percona%2Fazure_metrics_exporter/sbom","scorecard":{"id":727683,"data":{"date":"2025-08-11","repo":{"name":"github.com/percona/azure_metrics_exporter","commit":"bad75cd6885a1d9bd323683d02b4dda3d6882aca"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":4,"reason":"Found 10/24 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: Dockerfile:6","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T13:21:45.789Z","repository_id":41966176,"created_at":"2025-08-22T13:21:45.789Z","updated_at":"2025-08-22T13:21:45.789Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28441031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"ssl_error","status_checked_at":"2026-01-15T00:55:20.945Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-15T01:31:00.611Z","updated_at":"2026-01-15T01:31:01.312Z","avatar_url":"https://github.com/percona.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure-metrics-exporter\n\nAzure metrics exporter for [Prometheus.](https://prometheus.io)\n\nAllows for the exporting of metrics from Azure applications using the [Azure monitor API.](https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-rest-api-walkthrough)\n\n## Install\n\n```bash\ngo get -u github.com/percona/azure_metrics_exporter\n```\n\n## Usage\n```bash\n./azure_metrics_exporter --help\n```\n\n## Rate limits\n\nNote that Azure imposes an [API read limit of 15,000 requests per hour](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limits) so the number of metrics you're querying for should be proportional to your scrape interval.\n\n## Exporter configuration\n\nThis exporter requires a configuration file. By default, it will look for the azure.yml file in the CWD.\n\n### Azure account requirements\n\nThis exporter reads metrics from an existing Azure subscription with these requirements:\n\n* If not using managed identities:\n  * An application must be registered (e.g., Azure Active Directory -\u003e App registrations -\u003e New application registration)\n  * The registered application must have reading permission to Azure Monitor (e.g., Subscriptions -\u003e your_subscription -\u003e Access control (IAM) -\u003e Role assignments -\u003e Add -\u003e Add role assignment -\u003e Role : \"Monitoring Reader\", Select:  your_app)\n\n* If using managed identities:\n  * The VM running the azure-metrics-exporter must have reading permission to Azure Monitor (e.g., Subscriptions -\u003e your_subscription -\u003e Access control (IAM) -\u003e Role assignments -\u003e Add -\u003e Add role assignment -\u003e Role : \"Monitoring Reader\", Select:  your_vm)\n  * Only `subscription_id` will be needed in your credentials configuration.\n\n### Example azure-metrics-exporter config\n\n`azure_resource_id` and `subscription_id` can be found under properties in the Azure portal for your application/service.\n\n`azure_resource_id`  should start with `/resourceGroups...` (`/subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxx` must be removed from the begining of `azure_resource_id` property value)\n\n`tenant_id` is found under `Azure Active Directory \u003e Properties` and is listed as `Directory ID`.\n\nThe `client_id` and `client_secret` are obtained by registering an application under 'Azure Active Directory'.\n\n`client_id` is the `application_id` of your application and the `client_secret` is generated by selecting your application/service under Azure Active Directory, selecting 'keys', and generating a new key.\n\nIf you want to scrape metrics from Azure national clouds (e.g. AzureChinaCloud, AzureGermanCloud), you should provide `active_directory_authority_url` and `resource_manager_url` parameters. `active_directory_authority_url` is AzureAD url for getting access token. `resource_manager_url` is Azure API management url.\nIf you won't provide `active_directory_authority_url` and `resource_manager_url` parameters, azure-metrics-exporter scrapes metrics from global cloud.\nYou can find endpoints for national clouds [here](http://www.azurespeed.com/Information/AzureEnvironments)\n\n```\nactive_directory_authority_url: \"https://login.microsoftonline.com/\"\nresource_manager_url: \"https://management.azure.com/\"\ncredentials:\n  subscription_id: \u003csecret\u003e\n  client_id: \u003csecret\u003e\n  client_secret: \u003csecret\u003e\n  tenant_id: \u003csecret\u003e\n\ntargets:\n  - resource: \"azure_resource_id\"\n    metrics:\n    - name: \"BytesReceived\"\n    - name: \"BytesSent\"\n  - resource: \"azure_resource_id\"\n    aggregations:\n    - Minimum\n    - Maximum\n    - Average\n    metrics:\n    - name: \"Http2xx\"\n    - name: \"Http5xx\"\n  - resource: \"azure_resource_id\"\n    metric_namespace: \"Azure.VM.Windows.GuestMetrics\"\n    metrics:\n    - name: 'Process\\Thread Count'\n\nresource_groups:\n  - resource_group: \"webapps\"\n    resource_types:\n    - \"Microsoft.Compute/virtualMachines\"\n    resource_name_include_re:\n    - \"testvm.*\"\n    resource_name_exclude_re:\n    - \"testvm12\"\n    metrics:\n    - name: \"CPU Credits Consumed\"\n\nresource_tags:\n  - resource_tag_name: \"group\"\n    resource_tag_value: \"tomonitor\"\n    resource_types:\n      - \"Microsoft.Compute/virtualMachines\"\n    metrics:\n      - name: \"CPU Credits Consumed\"\n\n```\n\nBy default, all aggregations are returned (`Total`, `Maximum`, `Average`, `Minimum`). It can be overridden per resource.\n\nThe `metric_namespace` property is optional for all filtering types.\nWhen the metric namespace is specified, it will be added as a prefix of the metric name.\nIt can be used to target [custom metrics](https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-custom-overview), such as [guest OS performance counters](https://docs.microsoft.com/en-us/azure/azure-monitor/platform/collect-custom-metrics-guestos-vm-classic).\nIf not specified, the default metric namespace of the resource will apply.\n\n### Resource group filtering\n\nResources in a resource group can be filtered using the the following keys:\n\n`resource_types`:\nList of resource types to include (corresponds to the `Resource type` column in the Azure portal).\n\n`resource_name_include_re`:\nList of regexps that is matched against the resource name.\nMetrics of all matched resources are exported (defaults to include all)\n\n`resource_name_exclude_re`:\nList of regexps that is matched against the resource name.\nMetrics of all matched resources are ignored (defaults to exclude none)\nExcludes take precedence over the include filter.\n\n### Resource tag filtering\n\nResources having a specific tag name and tag value can be filtered:\n\n`resource_tag_name`:\nName of the tag to be filtered against.\n\n`resource_tag_value`:\nValue of the tag to be filtered against.\n\n`resource_types`: optional list of types kept in the list of resources gathered by tag. If none are specified, then all the resources are kept. All defined metrics must exist for each processed resource.\n\n### Retrieving Metric definitions\n\nIn order to get all the metric definitions for the resources specified in your configuration file, run the following:\n\n```bash\n./azure_metrics_exporter --list.definitions\n```\n\nThis will print your resource id's application/service name along with a list of each of the available metric definitions that you can query for for that resource.\n\n### Retrieving Metric namespaces\n\nIn order to get all the metric namespaces for the resources specified in your configuration file, run the following:\n\n```bash\n./azure_metrics_exporter --list.namespaces\n```\n\nThis will print your resource id's application/service name along with a list of each of the available metric namespaces that you can query for for that resource.\n\n## Prometheus configuration\n\n### Example config\n```\nglobal:\n  scrape_interval:     60s # Set a high scrape_interval either globally or per-job to avoid hitting Azure Monitor API limits.\n\nscrape_configs:\n  - job_name: azure\n    static_configs:\n      - targets: ['localhost:9276']\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpercona%2Fazure_metrics_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpercona%2Fazure_metrics_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpercona%2Fazure_metrics_exporter/lists"}