gpt4 book ai didi

java - 在 Kubernetes 中分析 Java 应用程序

转载 作者:IT老高 更新时间:2023-10-28 21:26:49 26 4
gpt4 key购买 nike

我想在我的 Kubernetes 集群上分析我的 play 应用程序。

我正在使用VisualVM,我采取的步骤如下:

  1. 图片基于最新的 ubuntu 构建
  2. 使用以下参数运行我的 play 应用程序:

    "-Dcom.sun.management.jmxremote",
    "-Dcom.sun.management.jmxremote.ssl=false",
    "-Dcom.sun.management.jmxremote.authenticate=false",
    "-Dcom.sun.management.jmxremote.port=1098"
  3. 我的图片有 apt-get install -y visualvm

  4. 我愿意 kubectl port-forward <Container> 1098
  5. 打开 VisualVM,我没有看到进程。

我不确定我在这里做错了什么。在 localhost 上运行应用程序时(不是通过 IDE,直接从启动脚本),一切正常。

更新 1、部署和服务

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myApp
labels:
name: myApp
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
template:
metadata:
name: myApp
labels:
name: myApp
spec:
containers:
- name: myApp
image: ...
args: ["-Dcom.sun.management.jmxremote", "-Dcom.sun.management.jmxremote.ssl=false", "-Dcom.sun.management.jmxremote.authenticate=false", "-Dcom.sun.management.jmxremote.port=1098"]
ports:
- containerPort: 9000
env:
...
apiVersion: v1
kind: Service
metadata:
name: myApp
labels:
name: myApp
spec:
selector:
name: myApp
ports:
- port: 80
targetPort: 9000

更新 2 @marcospereira

文件->添加JMX连接-> localhost:1098

无法使用服务 jmx:rmi 连接到 localhost:1098...

最佳答案

可以和下面的QA一样执行。

multiple app nodes how to expose jmx in kubernetes?

请设置java.rmi.server.hostname系统属性。

"-Dcom.sun.management.jmxremote",
"-Dcom.sun.management.jmxremote.ssl=false",
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.port=1098"
"-Djava.rmi.server.hostname=127.0.0.1" #add

Jmx 连接到 localhost:1098 .

我确认可以连接。

关于java - 在 Kubernetes 中分析 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41720185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com