利用Rancher中的Prometheus采集JVM数据

Rancher中可以很方便的开启监控功能,其使用的是Prometheus Operator + Grafana,那么我们也可以利用它来采集JVM数据

开启监控

首先,开启集群的监控:

利用Rancher中的Prometheus采集JVM数据

然后,开启项目的监控:

利用Rancher中的Prometheus采集JVM数据

应用配置JMX Exporter

你的Java应用的镜像得配置JMX Exporter,配置方法见 使用Prometheus+Grafana监控JVM ,我在这里选择将JMX Exporter端口设置为6060。

然后在你的Deployment/StatefulSets 中配置这个端口:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ...
  namespace: ...
spec:
  selector:
    matchLabels:
      app: ...
  replicas: 1
  template:
    metadata:
      labels:
        app: ...
    spec:
      containers:
      - name: ...
        image: ...
        ports:
        - containerPort: 6060
          name: http-metrics
        - ...

Service 也一样:

apiVersion: v1
kind: Service
metadata:
  namespace: ...
  name: ...
  labels:
    app: ...
    needMonitor: 'true'
spec:
  ports:
  - port: 6060
    targetPort: http-metrics
    protocol: TCP
    name: http-metrics
  - ...
  selector:
    app: ...

可以看到,我把端口取了个名字叫做http-metrics,同时Service添加了Label needMonitor: 'true'

添加ServiceMonitor

ServiceMonitor是Prometheus Operator定义的CRD:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: ...
  namespace: ...
spec:
  selector:
    matchLabels:
      needMonitor: 'true'
  endpoints:
  - port: http-metrics
    path: /metrics

这样Prometheus就能把同namespace下的所有 needMonitor: 'true' 的Service的JMX Exporter都采集到。

给Grafana添加JVM Dashboard

你需要给Grafana添加JVM Dashboard,在这之前你需要设置Grafana的admin密码,进入项目找到Grafana,进入其Shell:

利用Rancher中的Prometheus采集JVM数据

执行:

grafana-cli admin reset-admin-password <新密码>

然后随便进入一个Deployment/StatefulSets,进入Grafana:

利用Rancher中的Prometheus采集JVM数据

用admin账号和你刚才设置的密码登录进去,进入管理页面导入Dashboard:

利用Rancher中的Prometheus采集JVM数据

https://grafana.com/orgs/chanjarster/dashboards 找到 JVM dashboard (for Prometheus Operator) ,看到它的编号是8878。把这个编号填到导入页面:

利用Rancher中的Prometheus采集JVM数据

然后大功告成:

利用Rancher中的Prometheus采集JVM数据

原文 

https://chanjarster.github.io/post/k8s/rancher-p8s-jvm/

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 利用Rancher中的Prometheus采集JVM数据

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址