第 2 章 在 Cryostat web 控制台中创建 JFR 记录
您可以创建一个 JFR 记录,以监控容器化应用程序中的 JVM 性能。创建 JFR 记录后,您可以启动 JFR 来捕获 JVM 的实时数据,如堆和非堆内存使用量。
先决条件
- 使用 OperatorHub 选项,在 Red Hat OpenShift 上安装 Cryostat 3.0。
- 在 Red Hat OpenShift 项目中创建一个 Cryostat 实例。
登录到您的 Cryostat web 控制台。
- 您可以使用 Red Hat OpenShift Web 控制台检索 Cryostat 应用程序的 URL。
流程
在 Cryostat web 控制台的 Dashboard 面板中,从 Target 列表中选择目标 JVM。
注意根据您配置目标应用程序的方式,您的目标 JVM 可能会使用 JMX 连接或代理 HTTP 连接。有关配置目标应用程序的更多信息,请参阅配置 Java 应用程序。
重要如果您的目标 JVM 使用代理 HTTP 连接,请确保将目标应用程序配置为加载 Cryostat 代理时将
cryostat.agent.api.writes-enabled
属性设置为true
。否则,Cryostat 代理无法接受启动和停止 JFR 记录的请求。图 2.1. 为 Cryostat 实例选择 Target JVM 的示例
可选: 在 Dashboard 面板中,您可以创建一个目标 JVM。从 Target 列表中,单击 Create Target。此时会打开 Create Custom Target 窗口。
- 在 Connection URL 字段中,输入 JVM 的 Java 管理扩展(JMX)端点的 URL。
- 可选: 要测试您指定的 连接 URL 是否有效,请点击 Click to test sample node image。如果 Connection URL 存在问题,则会显示一条错误消息,其中提供了问题的描述以及要排除故障的指导。
- 可选: 在 Alias 字段中,为您的 JMX Service URL 输入别名。
点 Create。
图 2.2. 创建自定义目标窗口
- 在 Cryostat web 控制台的导航菜单中点 Recordings。
可选: 根据您如何配置目标 JVM,在 web 控制台中可能会打开 Authentication Required 对话框。在 Authentication Required 对话框中,输入您的 Username 和 Password。若要向目标 JVM 提供您的凭据,请单击 Save。
图 2.3. Cryostat 身份验证所需的窗口示例
注意如果所选目标 JMX 为 JMX 连接启用了安全套接字层(SSL)认证,则必须在提示时添加其证书。
Cryostat 在 Red Hat OpenShift 上的持久性卷声明(PVC)上加密并存储目标 JVM 应用程序的凭证。请参阅 Storing 和管理凭证 (使用 Cryostat 管理 JFR 记录)。
在 Active Recordings 选项卡中,点 Create。
图 2.4. 创建活跃记录的示例
在 Custom Flight Recording 选项卡中:
- 在 Name 字段中输入您要创建的记录的名称。如果您以无效格式输入名称,Web 控制台会显示错误消息。
如果您希望 Cryostat 自动重启现有记录,如果记录已存在,请选择 Restart。
注意如果您输入已存在名称,但没有选择 Restart (如果记录已存在), Cryostat 会在点 Create 按钮时拒绝创建自定义记录。
- 在 Duration 字段中,选择是否希望此记录在指定的持续时间后停止,或者在没有停止的情况下持续运行。如果您希望 Cryostat 在记录停止后自动归档您的新 JFR 记录,请点击 Archive on Stop。
- 在 Template 字段中,选择要用于记录的模板。
以下示例显示了持续 JVM 监控,您可以通过从 Duration 字段上方选择 continuous 来启用这些监控。此设置意味着记录将继续,直到您手动停止记录。示例还显示 Template 字段中的 Profiling 模板选择。这为 JFR 记录提供了额外的 JVM 信息,以进行故障排除。
图 2.5. 创建自定义动态记录示例
要访问更多选项,请点以下可扩展超链接:
- 显示高级选项,您可以在其中选择额外选项来自定义 JFR 记录。
- 显示元数据选项,您可以在其中在 JFR 记录中添加自定义标签和元数据。
要创建您的 JFR 记录,请点击 Create。Active Recordings 选项卡会打开并列出您的 JFR 记录。
您的活跃 JFR 记录开始收集容器化应用内目标 JVM 位置的数据。如果您为 JFR 记录指定了固定持续时间,则目标 JVM 会在达到固定持续时间设置时停止记录。否则,您必须手动停止记录。
可选: 在 Active Recording 选项卡中,您还可以停止记录。
- 选中 JFR 记录名称旁边的复选框。在 Active Recordings 选项卡中的工具栏中,Cryostat web 控制台会激活 Stop 按钮。
点 Stop。JFR 采用
STOPPED
状态,因此它停止监控目标 JVM。JFR 仍然显示在 Active Recording 选项卡下。图 2.6. 停止活跃记录的示例
重要在以下情况下可能会丢失 JFR 记录数据:
- 目标 JVM 失败
- 目标 JVM 重启
- 目标 JVM Red Hat OpenShift Deployment 已缩减
归档您的 JFR 记录,以确保您不会丢失 JFR 记录的数据。