You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure警报配置:为VMSS扩容的单个管道代理设置运行超1小时警报

针对VMSS单个管道代理运行超1小时的Azure警报配置方案

方法1:Azure Monitor日志查询+自定义警报规则

  • 先搞定日志收集:确保VMSS扩容出的管道代理(比如Azure DevOps自托管代理)的运行日志能被Azure Monitor日志工作区采集。如果是自托管代理,可安装Azure Monitor代理配置日志采集,或者让代理把运行状态日志输出到指定路径后通过诊断设置同步到日志工作区。
  • 编写Kusto查询定位目标代理:
    // 替换成实际的日志表名,比如自定义的AgentRunLogs
    AgentRunLogs
    | where AgentOrigin == "VMSSScaleOut" // 筛选VMSS扩容生成的代理
    | extend RunDuration = now() - StartTime // 计算当前运行时长
    | where RunDuration > 1h // 过滤运行超1小时的代理
    | project AgentName, VMInstanceId, RunDuration, StartTime
    
  • 创建自定义日志警报规则:
    1. 进入Azure Monitor → 警报 → 创建 → 警报规则
    2. 选择你的日志工作区作为目标资源
    3. 把上面的Kusto查询作为信号逻辑
    4. 设置阈值为“返回行数>0”,即查到符合条件的代理就触发警报
    5. 配置通知组和动作组(比如发邮件、触发自动化脚本)

方法2:VMSS实例级自定义指标+指标警报

  • 给每个VMSS实例上报自定义指标:代理启动时,用Azure CLI或PowerShell向对应VMSS实例的自定义指标里上报运行时长数据:
    az monitor metrics create --resource-id <VMSS实例的资源ID> --namespace "CustomAgentMetrics" --name "AgentRunningDuration" --value <运行时长(秒)> --time-grain 1m
    
  • 创建实例级指标警报:
    1. 进入Azure Monitor → 警报 → 创建 → 警报规则
    2. 选择你的VMSS作为资源,信号类型选“自定义指标”
    3. 选中刚才创建的AgentRunningDuration指标,设置阈值为3600秒(1小时)
    4. 开启维度筛选,选择VMInstanceId作为维度,就能针对单个实例触发警报

方法3:Azure Automation Runbook定期巡检

  • 编写巡检Runbook:用PowerShell或Python脚本遍历VMSS所有实例,查询每个实例上代理的运行时长:
    $vmssInstances = Get-AzVmssVM -ResourceGroupName "你的资源组名" -VMScaleSetName "你的VMSS名"
    foreach ($instance in $vmssInstances) {
        # 替换成实际查询代理运行时长的逻辑,比如远程执行命令或查本地日志
        $agentRunTime = Get-LocalAgentRunTime -InstanceId $instance.InstanceId
        if ($agentRunTime -gt 3600) {
            # 替换成实际的通知逻辑,比如调用动作组发告警
            Send-AgentOverRuntimeAlert -AgentName $agentName -InstanceId $instance.InstanceId -RunTime $agentRunTime
        }
    }
    
  • 配置定时触发:设置Runbook每30分钟运行一次,一旦检测到超时长的代理,就触发通知。

内容的提问来源于stack exchange,提问作者mr_bean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 14:45:02