本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Azure DevOps Exporter是一个Prometheus exporter,用于从Azure DevOps (VSTS)收集指标,包括项目、构建、构建时间(耗时和队列等待时间)、代理池利用率及活动拉取请求等数据,帮助监控Azure DevOps环境的性能和活动状态。
| 选项 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--debug | DEBUG | - | 启用调试模式 |
-v, --verbose | VERBOSE | - | 启用详细日志模式 |
--log.json | LOG_JSON | - | 切换日志输出为JSON格式 |
--scrape.time | SCRAPE_TIME | 30m | 默认抓取时间(duration格式) |
--scrape.time.projects | SCRAPE_TIME_PROJECTS | - | 项目指标抓取时间 |
--scrape.time.repository | SCRAPE_TIME_REPOSITORY | - | 仓库指标抓取时间 |
--scrape.time.build | SCRAPE_TIME_BUILD | - | 构建指标抓取时间 |
--scrape.time.release | SCRAPE_TIME_RELEASE | - | 发布指标抓取时间 |
--scrape.time.deployment | SCRAPE_TIME_DEPLOYMENT | - | 部署指标抓取时间 |
--scrape.time.pullrequest | SCRAPE_TIME_PULLREQUEST | - | 拉取请求指标抓取时间 |
--scrape.time.stats | SCRAPE_TIME_STATS | - | 统计指标抓取时间 |
--scrape.time.resourceusage | SCRAPE_TIME_RESOURCEUSAGE | - | 资源使用指标抓取时间 |
--scrape.time.query | SCRAPE_TIME_QUERY | - | 查询结果抓取时间 |
--scrape.time.live | SCRAPE_TIME_LIVE | 30s | 实时指标抓取时间 |
--stats.summary.maxage | STATS_SUMMARY_MAX_AGE | - | 统计摘要指标最大保留时间 |
--azuredevops.url | AZURE_DEVOPS_URL | - | Azure DevOps URL(微软托管版留空) |
--azuredevops.access-token | AZURE_DEVOPS_ACCESS_TOKEN | - | Azure DevOps访问令牌 |
--azuredevops.organisation | AZURE_DEVOPS_ORGANISATION | - | Azure DevOps组织名称 |
--azuredevops.apiversion | AZURE_DEVOPS_APIVERSION | 5.1 | Azure DevOps API版本 |
--whitelist.project | AZURE_DEVOPS_FILTER_PROJECT | - | 项目白名单(UUIDs) |
--blacklist.project | AZURE_DEVOPS_BLACKLIST_PROJECT | - | 项目黑名单(UUIDs) |
--whitelist.agentpool | AZURE_DEVOPS_FILTER_AGENTPOOL | - | 代理池白名单(IDs) |
--list.query | AZURE_DEVOPS_QUERIES | - | 查询与项目UUID对,格式:<queryId>@<projectId> |
--request.concurrency | REQUEST_CONCURRENCY | 10 | 并发请求数 |
--request.retries | REQUEST_RETRIES | 3 | 请求重试次数 |
--limit.project | LIMIT_PROJECT | 100 | 项目数量限制 |
--limit.builds-per-project | LIMIT_BUILDS_PER_PROJECT | 100 | 每个项目的构建数量限制 |
--limit.builds-per-definition | LIMIT_BUILDS_PER_DEFINITION | 10 | 每个构建定义的构建数量限制 |
--limit.releases-per-project | LIMIT_RELEASES_PER_PROJECT | 100 | 每个项目的发布数量限制 |
--limit.releases-per-definition | LIMIT_RELEASES_PER_DEFINITION | 100 | 每个发布定义的发布数量限制 |
--limit.deployments-per-definition | LIMIT_DEPLOYMENTS_PER_DEFINITION | 100 | 每个定义的部署数量限制 |
--limit.releasedefinitions-per-project | LIMIT_RELEASEDEFINITION_PER_PROJECT | 100 | 每个项目的发布定义数量限制 |
--limit.build-history-duration | LIMIT_BUILD_HISTORY_DURATION | 48h | 构建历史查询时间范围 |
--limit.release-history-duration | LIMIT_RELEASE_HISTORY_DURATION | 48h | 发布历史查询时间范围 |
--bind | SERVER_BIND | :8080 | 服务绑定地址 |
| 指标名称 | 抓取器 | 描述 |
|---|---|---|
azure_devops_stats | live | 通用抓取器统计信息 |
azure_devops_agentpool_info | live | 代理池基本信息 |
azure_devops_agentpool_size | live | 每个代理池的代理数量 |
azure_devops_agentpool_queue_length | live | 每个代理池的队列长度 |
azure_devops_agentpool_agent_info | live | 每个代理池的代理详细信息 |
azure_devops_agentpool_agent_status | live | 代理状态信息(如创建时间) |
azure_devops_agentpool_agent_job | live | 每个代理上当前运行的任务 |
azure_devops_project_info | live/projects | 项目基本信息 |
azure_devops_build_latest_info | live | 最新构建信息 |
azure_devops_build_latest_status | live | 最新构建状态信息 |
azure_devops_pullrequest_info | pullrequest | 活跃拉取请求信息 |
azure_devops_pullrequest_status | pullrequest | 活跃拉取请求状态信息(如创建时间) |
azure_devops_pullrequest_label | pullrequest | 活跃拉取请求的标签 |
azure_devops_build_info | build | 构建详细信息 |
azure_devops_build_status | build | 构建状态信息(排队、开始、完成时间) |
azure_devops_build_definition_info | build | 构建定义信息 |
azure_devops_release_info | release | 发布详细信息 |
azure_devops_release_artifact | release | 发布工件信息 |
azure_devops_release_environment | release | 发布环境列表 |
azure_devops_release_environment_status | release | 发布环境状态信息 |
azure_devops_release_approval | release | 发布环境审批列表 |
azure_devops_release_definition_info | release | 发布定义信息 |
azure_devops_release_definition_environment | release | 发布定义环境列表 |
azure_devops_repository_info | repository | 仓库基本信息 |
azure_devops_repository_stats | repository | 仓库统计信息 |
azure_devops_repository_commits | repository | 仓库提交计数器 |
azure_devops_repository_pushes | repository | 仓库推送计数器 |
azure_devops_query_result | live | 指定查询的最新结果 |
azure_devops_deployment_info | deployment | 发布部署详细信息 |
azure_devops_deployment_status | deployment | 发布部署状态信息 |
azure_devops_stats_agentpool_builds | stats | 按代理池、项目和结果统计的构建数量(计数器) |
azure_devops_stats_agentpool_builds_wait | stats | 按代理池、项目和结果统计的构建等待时间(摘要) |
azure_devops_stats_agentpool_builds_duration | stats | 按代理池、项目和结果统计的构建持续时间(摘要) |
azure_devops_stats_project_builds | stats | 按项目、定义和结果统计的构建数量(计数器) |
azure_devops_stats_project_builds_wait | stats | 按项目、定义和结果统计的构建等待时间(摘要) |
azure_devops_stats_project_builds_success | stats | 按项目和定义统计的构建成功率(摘要) |
azure_devops_stats_project_builds_duration | stats | 按项目、定义和结果统计的构建持续时间(摘要) |
azure_devops_stats_project_release_duration | stats | 按项目、定义、环境和结果统计的发布环境持续时间(摘要) |
azure_devops_stats_project_release_success | stats | 按项目、定义和环境统计的发布环境成功率(摘要) |
azure_devops_resourceusage_build | resourceusage | Azure DevOps构建资源使用情况(付费/受限资源) |
azure_devops_resourceusage_license | resourceusage | Azure DevOps许可证资源使用情况(付费/受限资源) |
docker run -d \ --name azure-devops-exporter \ -p 8080:8080 \ -e AZURE_DEVOPS_ACCESS_TOKEN="your-access-token" \ -e AZURE_DEVOPS_ORGANISATION="your-organisation" \ -e SCRAPE_TIME_LIVE="30s" \ -e LIMIT_BUILD_HISTORY_DURATION="72h" \ webdevops/azure-devops-exporter
version: '3' services: azure-devops-exporter: image: webdevops/azure-devops-exporter ports: - "8080:8080" environment: - AZURE_DEVOPS_ACCESS_TOKEN=your-access-token - AZURE_DEVOPS_ORGANISATION=your-organisation - SCRAPE_TIME=30m - SCRAPE_TIME_LIVE=30s - LIMIT_BUILD_HISTORY_DURATION=72h - WHITELIST_PROJECT=project-uuid-1,project-uuid-2 restart: always
topk by(projectID,releaseDefinitionName,path) (3, azure_devops_release_environment{projectID="XXXXXXXXXXXXXXXX", status!="succeeded", status!="inProgress"} * on (projectID,releaseID,environmentID) group_left() (azure_devops_release_environment_status{type="created"}) * on (projectID,releaseID) group_left(releaseName, releaseDefinitionID) (azure_devops_release_info) * on (projectID,releaseDefinitionID) group_left(path, releaseDefinitionName) (azure_devops_release_definition_info) )
count by(agentPoolID) ( azure_devops_agentpool_agent_job{planType!="PoolMaintenance"} * on(agentPoolAgentID) group_left(agentPoolID) (azure_devops_agentpool_agent_info) ) / on (agentPoolID) group_left() (azure_devops_agentpool_size) * on (agentPoolID) group_left(agentPoolName) (azure_devops_agentpool_info)
label_replace( azure_devops_agentpool_agent_job{planType!="PoolMaintenance"} * on (agentPoolAgentID) group_left(agentPoolID,agentPoolAgentName) azure_devops_agentpool_agent_info * on (agentPoolID) group_left(agentPoolName) (azure_devops_agentpool_info) , "projectID", "$1", "scopeID", "^(.+)$" ) * on (projectID) group_left(projectName) (azure_devops_project_info)
azure_devops_agentpool_info * on (agentPoolID) group_left() (azure_devops_agentpool_size)
azure_devops_agentpool_info * on (agentPoolID) group_left() ( count by(agentPoolID) (azure_devops_agentpool_agent_info{status="online",enabled="true"}) )
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429