如何监控 kubernetes 集群的流量或服务请求

How can I monitoring the Traffic or the requests of the services of my kubernetes cluster

我正在寻找一种方法,通过获取来自用户访问应用程序的传入流量来监控我的 k8s 集群。

我的目标是获取有关在一天中的什么时间请求更多服务的信息,以制定更好地为应用程序服务的策略。

有没有办法用 Grafana 和 Promql 进行这种监控?或者我需要在我的集群上使用其他工具 运行 来存储和分析数据?

有没有办法用 Grafana 和 PromQL 进行这种监控?

有没有 native 方法来用 k8s 做到这一点?

在 kubernetes 集群内对如何收集应用程序的指标没有影响(当然,prom 和 k8s 之间有一些集成,例如简化它的服务发现)。

您需要做的是只是公开您的应用程序指标。因此,例如,如果您的应用程序是在 Java 中使用 Spring 开发的,那么您需要添加 Spring actuator 以公开一些基本指标(这只是一个示例,有很多公开指标的解决方案)。
现在您的应用程序公开了一些指标,您需要将它们作为目标添加到您的 prometheus 配置中。

有一些用于 kubernetes 的 prometheus 导出器,例如 kube-state-metrics 允许您为您的集群收集指标,但它们不收集指标,例如对一项服务的请求数量(或者我是不知道这样的出口商的存在)。