使用Azure Logs Ingestion API向自定义表发日志时遇403 Forbidden问题
我在Azure上部署了基于Linux系统、C# .NET开发的容器化Web App,想要把应用日志发送到Azure Log Analytics的自定义表中。
我按照官方教程配置了Azure环境(包含数据收集规则DCR、数据收集终结点DCE、创建新表、应用注册),并编写.NET代码尝试向自定义表发送数据,但多次尝试后始终收到**403(Forbidden)**错误码。哪怕等待了超过30分钟(参考故障排查文档的建议),问题还是没解决。
Azure日志流里的错误信息如下:
Upload failed with Exception The authentication token provided does not have access to ingest data for the data collection rule with immutable Id 'dcr-'.
Status: 403 (Forbidden)
ErrorCode: OperationFailed
Content:
{"error":{"code":"OperationFailed","message":"The authentication token provided does not have access to ingest data for the data collection rule with immutable Id 'dcr-'."}}
希望有过类似问题经验的人能给点建议!
我已经成功向Log Analytics的自定义表发送日志了!原因是发现自己漏配了环境变量,配置好之后日志就能正常发送了。:)

Web APP的403问题已经修复,但现在AKS里出现了同样的问题。我想让AKS中的容器向Web APP用的同一个自定义表发送日志,但报错信息和之前一样。

之前真是太疏忽了……我创建了通用密钥,修改deployment.yaml分配变量后问题就解决了。总结下来,所有问题都是因为环境变量配置不正确导致的。
内容的提问来源于stack exchange,提问作者Vamos

