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

如何使用PHP向Azure自定义日志插入数据

Azure自定义日志(基于Azure Monitor Agent)采集排查指南

以下是配置完自定义日志路径C:\Logs\*.txt后数据不上报的逐点排查步骤,按顺序走即可定位问题:

1. 基础组件状态校验

  • 确认目标Windows设备已安装Azure Monitor Agent(AMA),当前版本自定义日志能力仅依赖AMA,旧版MMA代理配置逻辑不通用。
  • 打开本地服务管理器,确认AzureMonitorAgent服务状态为「正在运行」,启动类型设置为自动。
  • 确认创建自定义日志时绑定的数据收集规则(DCR),已经将当前目标设备添加到规则关联的资源列表中,漏绑设备是最高发的配置错误。

2. 采集规则配置校验

  • 检查DCR中填写的日志路径严格为C:\Logs\*.txt,不要额外加空格、不要漏写Logs和*.txt之间的反斜杠,路径不支持环境变量、网络映射盘符,仅支持本地固定盘符路径。
  • 注意AMA默认仅采集DCR配置生效后新写入/修改的txt文件,配置生效前已经存在的历史日志文件不会被主动扫描采集,测试时必须新建txt文件或在旧文件中追加新内容,不要用未修改的历史文件测试。
  • 自定义日志表在Log Analytics工作区中默认带_CL后缀,查询时必须带后缀,例如你创建的自定义日志名为AppLog,查询时要写AppLog_CL | take 10,漏写后缀会查不到数据误以为上报失败。
  • 检查DCR中配置的日志解析规则:如果设置了自定义行分隔符、时间戳提取规则,必须和你本地txt文件的实际格式匹配,规则不匹配时代理会直接丢弃读取到的内容,不会上报到工作区。

3. 本地权限与代理日志排查

  • 给NT SERVICE\AzureMonitorAgent系统账号分配C:\Logs目录的读取、遍历子文件权限:AMA默认用该系统账号运行,目录权限不足时完全无法读取日志文件,是第二高发的故障原因。
  • 打开AMA本地日志目录C:\Program Files\Azure Monitor Agent\Logs,查看最新的AMA-*.log日志文件,搜索CustomLog关键词,可以直接看到路径不存在、权限不足、格式解析失败等具体报错信息。
  • 确认C:\Logs下的txt文件没有被其他进程独占加锁、没有设置只读属性,AMA无法读取被锁定的文件。

最小验证流程

按以下步骤操作可以排除绝大多数缓存、配置延迟问题:

  1. 临时给C:\Logs目录分配Everyone可读权限,排除权限干扰
  2. 重启AzureMonitorAgent服务,强制代理拉取最新的DCR配置
  3. 在C:\Logs目录下新建test.txt,写入一行纯文本test custom log content后保存
  4. 等待10-15分钟后,到对应Log Analytics工作区执行带_CL后缀的表查询即可看到上报数据

注意:自定义日志采集端到端默认存在5-15分钟的延迟,刚配置完不要频繁刷新查询,也不要短时间内反复修改DCR配置,会导致代理端配置缓存混乱,拉长生效时间。单个体积超过1GB的日志文件会被代理自动跳过,不要生成超大小的单日志文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 03:54:33