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

嵌套边缘场景下启动Azure设备更新代理时DO连接字符串设置失败

解决Azure Device Update Agent启动失败:Failed to set DO connection string错误

问题背景

在Ubuntu 18.04环境中完成以下操作后,启动Azure Device Update Agent失败:

  • 安装Azure Identity Service,在config.toml中配置主连接字符串
  • 通过克隆仓库编译安装Azure Device Update Agent,将du-config.json中的连接类型设为AIS并清空连接字符串字段

启动时出现以下错误日志:

[E] Failed to set DO connection string in Nested Edge scenario, result: 0x00000000 [StartupAgent]
[I] Agent exited with code 1 [main]
[I] Agent is shutting down with signal 0. [ShutdownAgent]
[I] De-initializing command listener thread [UninitializeCommandListenerThread]
[I] ADUC agent stopping [AzureDeviceUpdateCoreInterface_Destroy]
[I] Calling ADUC_Unregister [ADUC_MethodCall_Unregister]

服务状态显示:

deviceupdate-agent.service: Main process exited, code=exited, status=1/FAILURE

已尝试手动创建缺失的/etc/deliveryoptimization-agent目录并配置权限,但问题未解决:

sudo mkdir /etc/deliveryoptimization-agent
sudo chgrp -R do /etc/deliveryoptimization-agent
sudo chown do:do /etc/deliveryoptimization-agent
sudo chmod 0750 /etc/deliveryoptimization-agent

排查与解决方案

1. 检查Delivery Optimization (DO) 服务状态与配置

ADU Agent依赖DO服务完成内容分发,需确保DO服务正常运行且配置正确:

  • 查看DO服务状态:
    sudo systemctl status deliveryoptimization-agent
    
  • 若服务未启动,尝试启动并设置开机自启:
    sudo systemctl start deliveryoptimization-agent
    sudo systemctl enable deliveryoptimization-agent
    
  • 检查DO配置文件是否存在,若缺失需创建基础配置:
    sudo tee /etc/deliveryoptimization-agent/deliveryoptimization-agent.conf <<EOF
    [DeliveryOptimization]
    CacheDirectory=/var/cache/deliveryoptimization
    LogLevel=Information
    EOF
    
  • 确保DO配置文件权限正确:
    sudo chown do:do /etc/deliveryoptimization-agent/deliveryoptimization-agent.conf
    sudo chmod 0640 /etc/deliveryoptimization-agent/deliveryoptimization-agent.conf
    

2. 验证Azure Identity Service (AIS) 配置完整性

ADU Agent使用AIS进行身份验证,需确认AIS配置无误:

  • 检查config.toml中的主连接字符串格式是否正确,确保无拼写错误或多余字符
  • 验证AIS服务状态:
    sudo systemctl status azure-identity-service
    
  • 重启AIS服务以加载最新配置:
    sudo systemctl restart azure-identity-service
    

3. 检查ADU Agent配置文件权限

确保du-config.json的权限允许ADU Agent进程读取:

sudo chown adu:adu /etc/adu/du-config.json
sudo chmod 0640 /etc/adu/du-config.json

4. 查看详细日志定位问题

启用ADU Agent的详细日志输出,获取更多错误细节:

  • 修改ADU Agent服务配置文件(通常位于/lib/systemd/system/deviceupdate-agent.service),在ExecStart行添加日志参数:
    ExecStart=/usr/bin/AducIotAgent --log-level trace
    
  • 重新加载服务配置并重启ADU Agent:
    sudo systemctl daemon-reload
    sudo systemctl restart deviceupdate-agent
    
  • 查看详细日志:
    journalctl -u deviceupdate-agent -f
    

5. 重新构建并安装ADU Agent

若上述步骤无效,尝试重新构建ADU Agent以确保依赖集成正确:

# 进入ADU Agent仓库目录
cd /path/to/iot-hub-device-update
# 清理旧构建文件
make clean
# 重新构建并安装
make && sudo make install

内容的提问来源于stack exchange,提问作者Gustavo Nóbrega

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:02:02