【发布时间】:2019-03-10 23:30:46
【问题描述】:
Java gRPC 服务器在 kubernetes 中作为容器运行,我无法弄清楚如何检查该服务器的 gRPC 请求命中总数。它不等于成功点击次数,可能服务器已关闭,无法处理请求,但点击次数无论如何都会增加。
任何帮助将不胜感激。
【问题讨论】:
标签: networking kubernetes grpc grpc-java
Java gRPC 服务器在 kubernetes 中作为容器运行,我无法弄清楚如何检查该服务器的 gRPC 请求命中总数。它不等于成功点击次数,可能服务器已关闭,无法处理请求,但点击次数无论如何都会增加。
任何帮助将不胜感激。
【问题讨论】:
标签: networking kubernetes grpc grpc-java
您可以使用logging via interceptors 在您的服务器中构建日志记录。 这允许在您的服务器运行时收集数据,但显然在不运行时不会。
如果您为您的服务实现TCP liveness probe,Kubernetes 可以自动处理一些停机时间来源,例如您的服务需要重新启动或移动到另一个节点。
这可能会减少您实际需要计算失败请求的情况。
您可以使用位于您的服务器和集群/外部世界之间的 gRPC 感知代理,例如nginx.
这将允许您计算所有请求,无论成功或失败(假设集群一直在运行)。
【讨论】:
您可以使用 prometheus 和 Grafana 设置 kubernetes ingres 监控和指标。您的 k8s 集群可能已经设置好了,请咨询您的运维人员
这里有更多
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/monitoring.md
一旦您的指标在 prometheus 中,您就可以使用 Grafana 设置自定义指标并根据该数据发出警报
【讨论】: