如何在 AKS 上监视来自 nginx ingress 的 HTTP 状态代码?
How to monitor HTTP status codes from nginx ingress on AKS?
我正在尝试根据 python Web 服务器 (fastapi) 中的 http 状态代码设置警报,该服务器在 nginx 入口控制器后面的 Azure Kubernetes 服务 (AKS) 上运行。 AKS 已启用与 azure 日志工作区的集成,我可以在那里看到日志,但我找不到任何示例查询,甚至找不到任何可用的状态代码指标示例。查看文档后,在我看来,我必须使用应用程序洞察力 (c.f.tracing) 对其进行检测以获取状态代码。在我看来,这有点过分(当然有用)。
在其他云提供商中,我总是能够在负载均衡器上找到 http 状态代码指标,并在错误率开始增长时使用它们发出警报。但我找不到任何直接对 AKS 做同样事情的方法。欢迎任何想法。我更愿意使用 Azure 本身提供的工具,例如不是其他供应商。
我认为您不会在 Azure Monitor for Container 创建的表中的某处找到 HTTP 状态。我认为你最好的选择是 enable the HTTP & HTTPS traffic logs on the Nginx Ingress if it is not already done. I think that the HTTP code will be there by default, but if you want something easier to query in Log Analytics
, you could for example change the Nginx log format 到
status=$status request=$request ...
然后使用一个简单的查询来提醒您:
ContainerLog
| where LogEntry contains "status=500"
我正在尝试根据 python Web 服务器 (fastapi) 中的 http 状态代码设置警报,该服务器在 nginx 入口控制器后面的 Azure Kubernetes 服务 (AKS) 上运行。 AKS 已启用与 azure 日志工作区的集成,我可以在那里看到日志,但我找不到任何示例查询,甚至找不到任何可用的状态代码指标示例。查看文档后,在我看来,我必须使用应用程序洞察力 (c.f.tracing) 对其进行检测以获取状态代码。在我看来,这有点过分(当然有用)。
在其他云提供商中,我总是能够在负载均衡器上找到 http 状态代码指标,并在错误率开始增长时使用它们发出警报。但我找不到任何直接对 AKS 做同样事情的方法。欢迎任何想法。我更愿意使用 Azure 本身提供的工具,例如不是其他供应商。
我认为您不会在 Azure Monitor for Container 创建的表中的某处找到 HTTP 状态。我认为你最好的选择是 enable the HTTP & HTTPS traffic logs on the Nginx Ingress if it is not already done. I think that the HTTP code will be there by default, but if you want something easier to query in Log Analytics
, you could for example change the Nginx log format 到
status=$status request=$request ...
然后使用一个简单的查询来提醒您:
ContainerLog
| where LogEntry contains "status=500"