3.3. 将应用程序配置为使用 Cryostat 代理和 JMX 连接
您可以配置在 Java 虚拟机(JVM)上运行的目标应用程序,以使用 Cryostat 代理和 Java 管理扩展(JMX)连接的组合来检测和与这些目标应用程序通信。
在这种情况下,您可以使用 Cryostat 代理来检测和与目标应用程序通信,并使用 JMX 公开 Java Flight Recorder (JFR)数据。
Cryostat 代理必须配置为与关于其自身的 Cryostat 通信,并且表示可以通过 JMX 而不是通过 HTTP 访问代理。
注意
无论 Cryostat Operator 会自动配置代理还是手动配置代理,都支持这种类型的混合配置。如果 Cryostat 代理检测到也会在应用程序上配置 JMX,代理会将自身发布到带有代理 HTTP API 定义和 JMX URL 定义的 Cryostat 服务器。
先决条件
- 登录到您的 Cryostat web 控制台。
- 在项目中创建一个 Cryostat 实例。
流程
-
要允许 Cryostat Operator 自动配置和注入代理,请确保将
cryostat.io/name和cryostat.io/namespace标签添加到应用程序部署中,如 Cryostat Operator 启用代理配置 中所述。 -
另外,请确保使用环境变量或
argLine参数手动将CRYOSTAT_AGENT_REGISTRATION_PREFER_JMXand-Dcom.sun.management.jmxremote.port设置添加到应用程序部署中。 要启用 Cryostat 来检测目标应用程序并连接到 Cryostat 代理,请配置
应用程序服务:Example
apiVersion: v1 kind: Service ... spec: ports: - name: "jfr-jmx" port: 9091 targetPort: 9091 - name: "cryostat-agent" port: 9977 targetPort: 9977 ...