51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

promtheus 监控 java 容器(kubesphere)

jmx_export 监控 java 进程(jar ) : 连接

参考: 实战Prometheus监控jmx_export 堆栈内存-阿里云开发者社区 (aliyun.com)

https://gitee.com/wang-huamao/jmx-exporter-demo

用java agent 方式 部署

参考 Dockerfile

FROM openjdk:8-jre-slim
MAINTAINER lhz

ENV PARAMS=""

ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD jmx1.yaml /jmx.yaml
ADD springboot-demo.jar /app.jar
ADD jmx_prometheus_javaagent-0.20.0.jar  /jmx.jar
EXPOSE 7070
EXPOSE 8080
ENTRYPOINT ["sh","-c","java -jar  -javaagent:/jmx.jar=7070:/jmx.yaml   $JAVA_OPTS /app.jar $PARAMS"]

制作镜像

docker build -t registry.cn-hangzhou.aliyuncs.com/baimeidashu-k8s/springboot-jar-jvm-javaagent:v4 --no-cache .

为了省去 每次都要复制jmx_prometheus_javaagent-0.20.0.jar 这里白眉大叔,单独做了一个镜像:

FROM registry.cn-hangzhou.aliyuncs.com/baimeidashu-k8s/centos79-jdk17:v3

ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar  -javaagent:/jmx.jar=7070:/jmx.yaml app.jar ${PARAMS}"]

测试7070

2- kubespher 上 配置 promethues

创建应用

prometheus.yml

  - job_name: "spring-boot-jar-jmx"
    static_configs:
      - targets: ["springboot-jvm-test.kattgatt-monitor:7070"] 

这里的targets 可以添加多个。

3- grafana 添加

3066

其他的不行,就这个一个好用

2-

一些案例 config

https://github.com/prometheus/jmx_exporter/tree/main/example_configs

赞(5)
未经允许不得转载:工具盒子 » promtheus 监控 java 容器(kubesphere)