标签:opera chmod script -o nbsp error snapshot 参考资料 pre
jmx 是java 自带的,如果需要使用我们只需要添加对应的配置即可,以下演示docker 集成jmx
使用kompose 生成k8s 的部署文件,使用port-forward 进行连接,所以java.rmi.server.hostname=localhost
参考github 项目 https://github.com/rongfengliang/openjdk-docker-jmx
version: "3"
services:
app:
build: ./
image: dalongrong/java-jmx-openjdk
ports:
- "8080:8080"
- "30384:30384"
FROM openjdk:8u222-jdk
LABEL AUTHOR="dalongrong"
LABEL EMAIL="1141591465@qq.com"
WORKDIR /
COPY webapi-0.0.1-SNAPSHOT.jar /webapi-0.0.1-SNAPSHOT.jar
COPY docker-entrypiont.sh /docker-entrypiont.sh
RUN chmod +x /docker-entrypiont.sh
EXPOSE 30384 8080
ENTRYPOINT [ "/docker-entrypiont.sh" ]
主要是进行java 启动参数的配置,com.sun.management.jmxremote.local.only=false 参数比较重要
#!/bin/sh
java \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=30384 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.rmi.port=30384 \
-Dcom.sun.management.jmxremote.local.only=false \
-Djava.rmi.server.hostname=localhost \
-jar /webapi-0.0.1-SNAPSHOT.jar
kompose -f docker-compose.yaml -o k8s
kubectl apply -f ./k8s
kubectl port-forward pod/jmx-demo-142211177-xz2rt 30384:30384
以上是一个简单的jmx k8s 运行,实际上我们也可以通过prometheus 的jmx expoter 进行监控也是不错的
https://www.jankacik.com/Blog/monitoring-java-application-on-docker-with-jmx/
https://github.com/rongfengliang/openjdk-docker-jmx
https://www.jamasoftware.com/blog/monitoring-java-applications/
openjdk k8s port-forward 连接容器jmx服务
标签:opera chmod script -o nbsp error snapshot 参考资料 pre
原文地址:https://www.cnblogs.com/rongfengliang/p/11216216.html