如何做到自动发现K8S内部署的mysql、redis等应用的监控呢?

Viewed 112

我的需求是这样的,我需要在k8s上部署mysql集群,我可以通过在categraf的mysql插件里面配置集群在k8s上暴露的端口来监控整个集群,但是我也需要监控集群中每个节点的状态,集群会随时扩容,我如何才能做到当扩容时自动监控这些节点的mysql应用信息。
我看了课程的17-20章,但是仍然没有解决方案。

1 Answers

有两个方案:
1,可以把mysql和categraf做成一个pod,sidecar模式,这样一来,categraf只采集本pod内的mysql,其他各种input plugin全部删除,只留input.mysql
2,使用mysqld_exporter和mysql实例组成一个pod,也是sidecar模式,只不过mysqld_exporter没法推指标,需要走Kubernetes服务发现,使用 prometheus agent mode 来自动发现

可以的,等我们完全搭建起来之后,会输出一下,希望能帮助到社区里面有类似需求的人

谢谢你的方案,我们部署mysql和redis采用的是operator组件,都提供在pod里面开启exporter的方案,可以很方便地与你提供的第二个方案结合,目前进展很顺利,非常感谢你的方案!!!

能否详细写个博客分享一下你们的实践呀?社区期待有来有回的交流分享 :)