关于 k8s 中的应用,如何监控

2019-03-10 22:46:34 +08:00
 304464743

最近看了 prometheus 的视频之类的(都是关于监控 node,pod 或其他一些资源),我自己也在网上搜索过,也没找到。 看过 prometheus 都有插件( php,nginx 等等),但是那些插件都是基于非容器的,一般都是要启用一个插件,绑定一个端口给 prometheus 上送数据,我就想问下,k8s 的 pod 里的一些应用如何监控,比如 nginx 连接数,php 进程数等等?

4630 次点击
所在节点    Docker
5 条回复
binux
2019-03-10 23:07:04 +08:00
装 agent 采集
hilbertz
2019-03-10 23:37:11 +08:00
大多数组件都有对应的 exporter 来推送监控数据,有的甚至是内建的,nginx 的 exporter 通常放在另外一个容器,读取 nginx 的 stub_status 页面,并转换成 prometheus 的格式推送给 prometheus
kingfsen
2019-03-30 10:46:05 +08:00
这个很简单吧,如果你不想使用第三方对应的一些 exporter,那你可以自行实现。
比如我在 k8s 中部署了一个用 java springboot 部署的应该,在这个 springboot 应用中我们可以自己暴露一个 endpoint,在这个 endpoint 的时候暴露一些应用数据或者 Jvm 的数据,或者通过 java api 采集 tomcat 的数据。exporter、以及探针 black-exporter,都可以 DaemonSet 方式部署在 k8s 中的每个节点中,探测监控很多指标。其他的没有的指标,只能自行实现,然后让 prometheus 去采集对应的 endpoint 了。
kingfsen
2019-03-30 10:51:25 +08:00
监控 k8s 中应用,就是监控 endpoint 或者 service 即可。不知道对你是否有帮助 https://youendless.com/post/prometheus_monitor_k8s2/#%E7%9B%91%E6%8E%A7java%E5%BA%94%E7%94%A8%E6%8C%87%E6%A0%87
YzSama
2019-04-01 19:20:25 +08:00
有 prometheus 与 Java 应用集成的案例。提供 endpoint,使用 label 过滤出来,进行监控。 大概思路…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/543121

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX