kubernetes - 如何监控gcloud k8s HTTP失败率?

标签 kubernetes gcloud stackdriver nginx-ingress

我正在使用基于 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 ,创建自定义指标,并针对该指标发出警报。

Logging

另一种选择,但可能没有您正在寻找的指标,是使用 PrometheusNginx ingress Prometheus exporter监控 nginx 指标(这取决于您想要监控哪些指标)

关于kubernetes - 如何监控gcloud k8s HTTP失败率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62397731/

相关文章:

spring - 带有内部消息队列的前端 REST API?

google-cloud-platform - 如何通过 gcloud 命令行为 serviceAccounts 授权以访问 Kubernetes API?

node.js - Firebase Functions 记录对象占用大量空间

kubernetes - 使用 Kubernetes 有没有办法在更新之前等待 Pod 完成其正在进行的任务?

kubernetes - 无法连接到从稳定/postgresql Helm chart 安装的postgres statefulset数据库

kubernetes - Kubectl更改记录的默认行为

node.js - 如何使用 Google PubSub (@google-cloud/pubsub) 进行 ACK

google-app-engine - 今天的 App Engine 部署异常缓慢?

google-app-engine - 在 Stackdriver 中绘制用户定义指标标签的值

logging - .NetCore 日志在 GCP Stackdriver 中输出错误的严重性