V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
304464743
V2EX  ›  Docker

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

  •  
  •   304464743 · 2019-03-10 22:46:34 +08:00 · 4702 次点击
    这是一个创建于 2104 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2019-04-01 19:20:25 +08:00
    binux
        1
    binux  
       2019-03-10 23:07:04 +08:00 via Android
    装 agent 采集
    hilbertz
        2
    hilbertz  
       2019-03-10 23:37:11 +08:00
    大多数组件都有对应的 exporter 来推送监控数据,有的甚至是内建的,nginx 的 exporter 通常放在另外一个容器,读取 nginx 的 stub_status 页面,并转换成 prometheus 的格式推送给 prometheus
    kingfsen
        3
    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
        4
    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
        5
    YzSama  
       2019-04-01 19:20:25 +08:00 via iPad
    有 prometheus 与 Java 应用集成的案例。提供 endpoint,使用 label 过滤出来,进行监控。 大概思路…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1619 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:40 · PVG 00:40 · LAX 08:40 · JFK 11:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.