【问题标题】:How to monitor HTTP status codes from nginx ingress on AKS?如何从 AKS 上的 nginx 入口监控 HTTP 状态代码?
【发布时间】:2020-12-16 12:37:49
【问题描述】:

我正在尝试基于在 nginx 入口控制器后面的 Azure Kubernetes 服务 (AKS) 上运行的 Python Web 服务器 (fastapi) 中的 http 状态代码设置警报。 AKS 已启用与 azure 日志工作区的集成,我可以在那里看到日志,但我找不到任何示例查询,甚至找不到任何可用的状态代码指标示例。查看文档后,在我看来,我必须使用应用程序洞察力(参见跟踪)来获取状态代码。在我看来,这有点过分(当然,虽然有用)。

在其他云提供商中,我总是能够在负载平衡器上找到 http 状态代码指标,并使用它们在错误比率开始增加时发出警报。但我找不到任何直接对 AKS 做同样的事情。欢迎任何想法。我更喜欢使用 Azure 本身提供的工具,例如不是其他供应商。

【问题讨论】:

    标签: azure-aks azure-monitoring


    【解决方案1】:

    我认为您不会在 Azure Monitor for Container 创建的表中的某处找到 HTTP 状态。我认为你最好的选择是在 Nginx Ingress 上的enable the HTTP & HTTPS traffic logs,如果它还没有完成的话。我认为默认情况下 HTTP 代码会在那里,但如果您想要更容易在 Log Analytics 中查询的内容,您可以使用例如 change the Nginx log format 之类的内容

    status=$status request=$request ...
    

    然后为您的警报使用一个简单的查询:

    ContainerLog 
     | where LogEntry contains "status=500"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      相关资源
      最近更新 更多