Azure云经典服务应用日志配置后无法获取的问题求助
Azure经典服务应用日志获取排查指南
1. 核对诊断扩展的配置完整性
- 检查云服务的
.csdef和.cscfg配置文件,确认DiagnosticMonitorConfiguration节点已正确配置应用日志收集:- 需包含
Logs子节点,设置合理的BufferQuotaInMB(本地缓存上限)和ScheduledTransferPeriod(存储同步间隔,例如PT1M表示1分钟) - 确保未禁用日志收集的相关开关项
- 需包含
- 再次验证
Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString的值,确认存储账户名称、密钥、端点格式均正确,无拼写错误
2. 验证存储账户访问权限
- 确认云服务角色的运行身份(默认Network Service)对目标存储账户拥有写入权限
- 若存储账户启用了防火墙/虚拟网络限制,需将云服务的出站IP地址或所在虚拟网络添加到存储账户的允许访问列表中
3. 检查日志收集范围与过滤规则
- 确认诊断配置中指定了正确的日志来源:
- 若收集Windows事件日志的应用程序日志,需在配置中添加
WindowsEventLog节点并指定Application!*等筛选规则 - 若收集自定义Trace日志,确保代码中使用
Trace.WriteLine等方法输出日志,且配置中启用了TraceListener
- 若收集Windows事件日志的应用程序日志,需在配置中添加
- 检查日志级别过滤规则,避免因仅收集Error及以上级别,导致Info、Debug级别的日志未被同步
4. 检查实例本地日志缓存与诊断状态
- 远程登录云服务实例,查看本地缓存目录(默认路径:
C:\Resources\<部署ID>\<角色名>\DiagnosticStore\Logs),确认日志是否已生成并缓存到本地 - 打开实例的事件查看器,查看Windows Azure Diagnostics日志通道,排查是否存在日志传输失败的错误记录(如连接超时、权限不足)
5. 手动触发日志同步
- 远程登录实例后,运行以下命令手动触发日志同步:
AzureDiagnostics.exe -start - 等待配置中设置的同步周期后,再次检查存储账户
6. 确认存储账户的日志存储位置
- 应用日志默认存储在存储账户的
wadlogsTable表中,而非wad-crashdumps或wad-iis-logfiles容器。优先检查该表是否存在日志条目
内容的提问来源于stack exchange,提问作者Pramod Shivaprasad
相关产品推荐
相关产品推荐

