304464743
V2EX  ›  Docker

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

  •  
  •   304464743 · Mar 10, 2019 · 5360 views
    This topic created in 2630 days ago, the information mentioned may be changed or developed.

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

    5 replies    2019-04-01 19:20:25 +08:00
    binux
        1
    binux  
       Mar 10, 2019 via Android
    装 agent 采集
    hilbertz
        2
    hilbertz  
       Mar 10, 2019
    大多数组件都有对应的 exporter 来推送监控数据,有的甚至是内建的,nginx 的 exporter 通常放在另外一个容器,读取 nginx 的 stub_status 页面,并转换成 prometheus 的格式推送给 prometheus
    kingfsen
        3
    kingfsen  
       Mar 30, 2019
    这个很简单吧,如果你不想使用第三方对应的一些 exporter,那你可以自行实现。
    比如我在 k8s 中部署了一个用 java springboot 部署的应该,在这个 springboot 应用中我们可以自己暴露一个 endpoint,在这个 endpoint 的时候暴露一些应用数据或者 Jvm 的数据,或者通过 java api 采集 tomcat 的数据。exporter、以及探针 black-exporter,都可以 DaemonSet 方式部署在 k8s 中的每个节点中,探测监控很多指标。其他的没有的指标,只能自行实现,然后让 prometheus 去采集对应的 endpoint 了。
    kingfsen
        4
    kingfsen  
       Mar 30, 2019
    监控 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  
       Apr 1, 2019 via iPad
    有 prometheus 与 Java 应用集成的案例。提供 endpoint,使用 label 过滤出来,进行监控。 大概思路…
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2766 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 209ms · UTC 10:19 · PVG 18:19 · LAX 03:19 · JFK 06:19
    ♥ Do have faith in what you're doing.