如何使用Prometheus,Grafana和Elasticsearch监控Kubernetes集群中的微服务性能?

ddhy6vgd  于 2023-03-29  发布在  Kubernetes
关注(0)|答案(1)|浏览(182)

我们目前有几个微服务在内部运行,我们使用shell脚本来监控它们的性能,包括JVM、堆大小和运行线程的数量。但是,我们计划使用Kubernetes迁移到云中。我们希望监控云中的服务级别统计信息,如打开的线程数量、JVM、堆大小等。我们计划使用Prometheus、Grafana、Elasticsearch就是为了这个目的。
有人能建议一种使用Prometheus,Grafana和Elasticsearch在Kubernetes集群中监控微服务性能的方法吗?
我们相信这可以使用Sping Boot Actuator来完成,但不清楚它如何在Kubernetes上为多个服务工作。

jdzmm42g

jdzmm42g1#

你的问题需要一系列你没有做的思考。例如,你要去哪个云提供商?为什么你想创建一个监控(Prometheus/Alertmanager/Grafana)和一个日志堆栈(Elasticsearch/fluentd)?有什么特别的原因让你想保持与提供商的产品“不绑定”?在大多数云服务提供商上,你已经拥有这些工具作为服务。
无论如何,对于“监视”堆栈,您可以使用Prometheus操作符;这在一个解决方案中提供了您需要的所有工具。
https://prometheus-operator.dev/docs/prologue/introduction/
在你的应用程序端,你必须导出你想要监控的指标,并将各种“scrape-jobs”添加到你的Prometheus中。之后,你可以创建各种各样的 Jmeter 板(你会在网上找到很多文档)。
对于日志堆栈,你需要一个像fluentd这样的工具来从Kubernetes集群中“获取”和收集日志,以及一个允许你智能地查看和处理这些信息的工具,比如Elasticsearch。
这些工具并不像监控工具那样密切相关,所以由你来决定如何安装它们。当然,我会为日志创建一个单独的名称空间,并考虑使用供应商提供的Helm Charts。

相关问题