如何查询Azure Hosted Agents的周/月使用时长(小时)?
查询Azure Hosted Agents使用时长的方案
一、通过REST API实现统计
你可以借助Azure DevOps的分布式任务REST API来获取托管代理的使用数据,具体步骤如下:
获取托管代理池ID
发送GET请求获取所有自动化类型的代理池(即托管池):GET https://dev.azure.com/{organization}/_apis/distributedtask/pools?poolType=automation&api-version=7.1-preview.1从返回结果中找到目标托管池的
id字段(比如"Hosted Ubuntu 20.04"对应的池ID)。获取池内代理列表
用第一步拿到的池ID,获取该池下所有托管代理:GET https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/agents?api-version=7.1-preview.1记录每个代理的
id字段。查询指定时间段的代理使用数据
针对每个代理,发送请求获取指定时间范围的使用记录:GET https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/agents/{agentId}/usage?startTime={startISO}&endTime={endISO}&api-version=7.1-preview.1替换参数说明:
{startISO}/{endISO}:ISO 8601格式的起止时间(例如2024-05-01T00:00:00Z表示一周/一月的开始,2024-05-07T23:59:59Z表示结束){organization}:你的Azure DevOps组织名称
返回结果中每个条目包含
durationInSeconds字段,将所有代理的该字段值累加后除以3600,即可得到总使用小时数。
二、实用扩展推荐
如果不想自行开发API调用逻辑,可以直接使用Azure DevOps Marketplace中的以下扩展:
- Agent Usage Report:一键生成托管代理的周/月度使用时长报表,支持CSV导出和可视化展示,无需代码操作。
- Pipeline Analytics:除了代理使用时长统计,还能分析流水线整体运行效率,支持自定义时间范围查询,适合综合运维场景。
- Agent Capacity Tracker:专注代理资源监控,自动汇总周/月度使用时长,可设置使用阈值告警,实时掌握资源占用情况。
内容的提问来源于stack exchange,提问作者mr_bean
相关产品推荐
相关产品推荐

