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

如何防止Azure DevOps机器代理停止服务及解决离线问题

Azure Pipelines 部署组代理运行数小时自动停止、重启后仍离线排查方案

代理运行数小时后自动停止状态
手动重启服务后代理仍显示离线状态

第一步:定位根因(先查日志,不要盲目改配置)

所有代理运行、连接相关的报错都会存在本地日志中,路径为代理安装目录下的_diag文件夹,默认安装路径是C:\azagent\A1\_diag,自定义安装路径找对应目录即可。
打开最新生成的.log文件,重点检索以下关键词匹配报错:SSL error、token expired、connection reset、out of memory、service crashed。
运行数小时自动停止的高频原因:

  • 注册时使用的PAT令牌有效期过短:如果注册时生成的PAT只设置了几小时有效期,过期后代理会直接断连,服务自动退出
  • 本地策略/安全软件拦截:部分企业内网Windows Server配置了空闲服务自动回收策略,EDR、杀软会拦截代理和Azure DevOps的长连接,直接终止代理进程
  • 代理版本过旧:Azure DevOps平台侧更新后,旧版本代理的长连接保活逻辑失效,断连后无法自动重连,最终进程退出
  • 网络层拦截:服务器到Azure DevOps的443长连接被防火墙、上网行为管理设备掐断,代理连续重连失败后退出

第二步:解决重启服务后仍离线的问题

手动重启服务后平台仍显示离线,按以下顺序排查,覆盖90%以上场景:

  • 校验服务运行账号:打开服务管理器,找到对应Azure Pipelines代理服务,切换到「登录」标签页,不要使用默认本地系统账号运行,给服务配置拥有本地管理员权限的本地账号/域账号,保存配置后重启服务
  • 删除残留锁文件:服务异常崩溃退出时,会在代理根目录残留.agent_lock锁文件,新启动的进程拿到锁后会进入假运行状态,不会和平台建立连接。先停止代理服务,删除根目录下的.agent_lock文件,再启动服务
  • 校验代理配置有效性:在代理根目录打开管理员权限PowerShell,执行.\config.cmd查看是否能正常读取当前注册配置,如果提示配置损坏,直接执行.\config.cmd remove卸载现有配置,重新生成有效期最长(1年)的PAT令牌完成注册,注册时勾选「配置服务为开机自启、异常自动重启」选项
  • 配置服务故障恢复策略:打开代理服务的「恢复」标签页,将第一次失败、第二次失败、后续失败的响应动作都设为「重新启动服务」,重启间隔设为1分钟,避免服务崩溃后长时间无人拉起

第三步:长效防断连配置

  • 配置出站白名单:将所属Azure DevOps组织域名、对应代理服务域名加到服务器防火墙、内网网关的白名单,允许443端口长连接,连接超时阈值设为8小时以上
  • 安全软件加白:如果服务器安装了EDR、杀软类软件,把整个代理安装目录加入进程、文件扫描白名单,避免进程被误杀
  • 开启代理自动更新:在部署组设置中打开代理自动更新开关,平台版本迭代后代理会自动同步更新,避免版本兼容问题导致断连

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 04:01:13