我正在使用基于 HTTP 的应用程序开发生产 K8s 集群,我想设置 HTTP 错误的监控和警报。很清楚如何检查服务的正常运行时间(使用监控,例如 stackdriver),但绝对不涉及 HTTP 故障率。
我有一个 nginx-ingress-controller
作为端点(带有外部负载均衡器)。
如何从此负载均衡器收集和查看延迟、HTTP 故障等指标?
现在,当 HTTP 响应失败率超过某个百分比时,我尤其需要这样做。
最佳答案
例如,如果您正在监视 HTTP 4XX 和 5XX 错误,我认为最好的方法是在某些日志记录工具中聚合负载均衡器和 nginx 入口 Controller 日志。如果您正在寻找开源解决方案,您可以使用类似 Elasticsearch 的内容。与 Kibana可视化一段时间内的错误。要发送日志,您可以使用类似 fluent-bit 的转发器或Fluentd .
如果您有付费工具的预算,您可以使用商用解决方案,例如:
然后您可以使用这些工具中的任何一个来设置警报。对于 Elasticsearch,您可以使用类似 elastalert 的内容。
如果您使用 GCP,您还可以使用他们的 Logging tool ,创建自定义指标,并针对该指标发出警报。
另一种选择,但可能没有您正在寻找的指标,是使用 Prometheus与 Nginx ingress Prometheus exporter监控 nginx 指标(这取决于您想要监控哪些指标)
关于kubernetes - 如何监控gcloud k8s HTTP失败率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62397731/