Red Hat build of Cryostat 2.3 发行注记

Red Hat build of Cryostat 2

Red Hat Customer Content Services

摘要

Red Hat build of Cryostat 2.3 文档的发行注记 概述了 Cryostat 2.3 中的新功能以及潜在的已知问题列表以及可能的临时解决方案。

前言

Red Hat build of Cryostat 是 JDK Flight Recorder (JFR)的容器原生虚拟化实现,可用于安全地监控在 OpenShift Container Platform 集群上运行的工作负载的 Java 虚拟机(JVM)性能。您可以使用 Cryostat 2.3 使用 Web 控制台或 HTTP API 在容器化应用程序内启动、停止、检索、归档、导入和导出 JFR 数据。

根据您的用例,您可以使用 Cryostat 提供的内置工具直接在 Red Hat OpenShift 集群上存储和分析记录,或者您可以将记录导出到外部监控应用程序,以对记录的数据进行更深入的分析。

重要

Red Hat build of Cryostat 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

我们感谢您对我们文档的反馈。要提供反馈,您可以突出显示文档中的文本并添加注释。按照以下步骤了解提交红帽文档的反馈。

先决条件

  • 登录红帽客户门户。
  • 在红帽客户门户中,以多页 HTML 格式查看文档。

流程

  1. 反馈 按钮查看现有的读语注释。

    注意

    反馈功能仅在多页 HTML 格式中启用。

  2. 高亮标记您要提供反馈的文档中的部分。
  3. 在您选择的文本旁打开的提示菜单中,单击 Add Feedback

    文本框将在页面右侧的"反馈"部分中打开。

  4. 在文本框中输入您的反馈,然后点 Submit

    您已创建了文档问题。

  5. 要查看问题,请单击反馈视图中的问题跟踪器链接。

第 1 章 Cryostat 的支持策略

红帽支持至少 6 个月的 Cryostat 主版本。红帽根据在红帽客户门户网站上发布产品的时间构建此图表。

您可以在 Red Hat OpenShift Container Platform 4.10 或 x86_64 架构上运行的更新的版本上安装和部署 Cryostat。

其他资源

  • 有关 Cryostat 生命周期政策的更多信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策网页中的 Red Hat build of Cryostat

第 2 章 新功能

Cryostat 2.3 引入了增强您的 Cryostat 产品使用的新功能。

连接到 GraalVM 原生镜像

从 Cryostat 2.3.1 开始,Cryostat 可以通过 Java 管理扩展(JMX)连接到 GraalVM 原生镜像。这个功能要求目标应用程序使用 GraalVM 或 Mandrel 23.0 或更高版本构建。您还必须确保目标应用程序正确配置以支持通过 JMX 到 Cryostat 的连接。

跨命名空间目标应用程序发现

在 Cryostat 2.3 中,您可以部署一个 Cryostat 实例,为多个 Red Hat OpenShift 命名空间提供服务。Red Hat build of Cryostat Operator 引入了 Cluster Cryostat API,您可以使用它来创建多个命名空间中的 Cryostat 实例。

可以访问多命名空间 Cryostat 实例的用户可以访问对该 Cryostat 实例可见的任何命名空间中的所有目标应用程序。因此,当部署多命名空间 Cryostat 实例时,您必须考虑要选择要监控的命名空间、要安装 Cryostat 的命名空间以及您要授予访问权限的用户。

拓扑视图

在 Cryostat 2.3 中,引入了一个新的视图,以帮助您查看和对目标 Java 虚拟机(JVM)执行操作。Topology 视图提供目标 JVM 的可视化表示,以及与这些 JVM 关联的所有资源。您可以在 Cryostat 上查看您的部署场景,并验证您的部署是否如预期一样。

您可以根据要求自定义 Topology 视图。例如,您可以从图形显示切换到列表显示,并使用过滤器指定您要显示的信息。

您还可以使用 Topology 视图同时对一个或多个目标应用程序执行操作。您可以选择 pod 或部署,并点击 Actions 菜单,您可以在选择的所有目标应用程序上运行各种操作,如启动或停止记录。

Quickstart 指南和教程

在 Cryostat 2.3 中,提供了快速入门指南和交互式指导教程,以帮助您开始使用 Cryostat 并了解更多有关其特性和功能的信息。

快速入门指南提供了有关如何执行任务的步骤说明,如启动记录、使用 Cryostat 仪表板或使用自动规则开始。

Cryostat 2.3 还提供了一个交互式指导教程,以帮助您浏览 Cryostat 用户界面(UI)并了解如何执行特定的任务。教程指导您完成 Cryostat UI、导航菜单和可用功能。首次启动 Cryostat 2.3 时,教程会自动打开,但您可以随时跳过或重启导览。

您可以通过点击 "?" 图标访问 Cryostat UI 右上角的快速入门指南和教程。

Cryostat 代理

Cryostat 2.3 引入了一个新的 Java 检测代理,以帮助您检测和监控目标 JVM 应用程序。Cryostat 代理是一个 HTTP API,充当在 JVM 上运行的应用程序的插件,并从应用程序检索大量信息,供 Cryostat 分析。

在以前的版本中,Cryostat 需要目标应用程序来公开 Java 管理扩展(JMX)端口。然后 Cryostat 通过此 JMX 端口与应用程序 JVM 通信,以启动和停止 Java Flight Recorder (JFR)记录,并通过网络拉取 JFR 数据。

新的 Cryostat 代理从 JVM 检索 JFR 数据,并通过 HTTP 将其重新发送到 Cryostat。代理只公开一个小的、只读 HTTP API,从而比 JMX 端口更容易审核和安全。

Cryostat 仪表板上的可自定义功能

Cryostat 2.3 引入了几个新功能,用于增强 Cryostat 仪表板,以帮助用户查看有关目标 JVM 的重要信息。提供了以下新功能:

  • 仪表板卡,以图表格式显示连接的 JVM 的信息和指标。您可以在不同的卡配置间切换,允许您快速访问和分析最重要的数据。
  • 布局模板,以帮助您根据您的要求自定义仪表板布局。您可以创建自定义视图来突出显示您要关注的特定指标或信息。您还可以在不同的视图间切换,不需要在每次想查看不同信息时修改仪表板。
  • 查看有关连接 JVM 的静态和动态信息
  • 新的仪表板卡视图,用于显示 和访问自动化分析 报告。

通过这些新功能,您可以更好地自定义仪表板以满足您的要求,并具有更大的灵活性以监控和分析 Java 应用程序。

表示 beta 功能的标签

在 Cryostat 2.3 中,可以使用一个新标签来突出显示 beta 功能。如果要了解并预览任何 beta 功能,您可以使用该标签。Beta 功能可能尚未完成,并可供在生产环境中使用。

为了预览 beta 功能,您可以从 Settings 视图中设置此标志。在 Settings 视图中 Feature level 菜单中选择 Beta

第 3 章 功能增强

Cryostat 2.3 包括基于 Cryostat 2.2 产品构建的功能增强。

执行后端检查时禁用对节点组的用户操作

从 Cryostat 2.3.1 开始,Cryostat web 控制台的 Topology 视图会在后端检查进行时自动禁用目标 JVM 组的用户操作。这样可确保用户无法在 Cryostat web 控制台中执行操作,例如,网络延迟可能会延迟后端检查的完成。

设置视图

在 Cryostat 2.3 中,Settings 视图被更新,对显示视图的各种改进,并提供您可以配置的额外设置。更新包括以下改进:

  • 为您的控制台设置 dark 和 light 显示它们的选项
  • 设置选项分组到类别中,如 General 或 Advanced
  • 配置语言设置和日期和时间格式的选项

自动分析报告

在 Cryostat 2.3 中,自动分析 报告已被改进。功能增强包括以下更新:

  • 新的用户界面,以仪表板上的卡的形式显示 自动分析 报告。您可以根据要求查看和过滤信息。
  • 扩展对 JFR 记录执行的分析,以纳入数据中的其他错误类别。
  • 提供其他错误描述和指导以帮助您进行故障排除。

使用 Cryostat 2.3,您可以在浏览器中创建书签到 Cryostat 实例的不同部分和视图的直接 URL。

多个文件上传

使用 Cryostat 2.3,您可以在 Cryostat 用户界面中使用 File upload 操作同时上传多个文件。要上传所选文件,请单击 Upload。上传完成后,单击 Submit

更多通知目标应用程序连接 URL

在 Cryostat 2.3 中,目标应用程序的 Connection URL 格式已被改进,以提供有关您的 Cryostat 实例所连接的应用程序的更多详情。

在以前的版本中,如果您在 Red Hat OpenShift 上运行 Cryostat,这个连接 URL 仅显示 IP 地址和端口号。在这个版本中,URL 格式显示 IP 地址、应用程序所在的命名空间以及端口号。

第 4 章 不支持和已弃用的功能

Cryostat 2.3 由于其较高的维护成本、社区兴趣低和更好的替代解决方案而消除了一些功能。

删除了基于静态 Kubernetes 环境变量的目标发现

在 Cryostat 2.3 中,io.cryostat.platform.internal.KubeEnvPlatformStrategy 值作为 CRYOSTAT_PLATFORM 环境变量的选项被删除。

第 5 章 修复的问题

Cryostat 发行版本可能包括对在早期版本的 Cryostat 中发现的问题的修复。查看每个修复的问题备注,以了解此问题的说明和后续修复。

Cryostat 2.3.1 中的问题

Cryostat 2.3.1 发行版本中解决了以下问题:

存储的凭证错误地与需要 JMX 身份验证的目标应用程序匹配,并集成 Cryostat 代理

通常,Cryostat 代理配置为公开 Cryostat 与之交互的只读 HTTP API。Cryostat 代理将这个 HTTP API URL 作为发现插件实现提供 Cryostat。如果目标应用程序有一个嵌入式 Cryostat Agent 和 Cryostat,则尝试通过 Java 管理扩展(JMX)而不是 HTTP 连接到目标,则可能会出现冲突。在这种情况下,代理的存储凭证可能会与目标应用程序 JMX 身份验证所需的任何存储凭证重叠和冲突。

在 Cryostat 2.3.1 之前,这个冲突会导致为 JMX 身份验证显示错误的凭证,而 Cryostat 操作(如列出记录或激活自动规则)可能会失败。当集成代理配置了 cryostat.agent.registration.prefer-jmx 且目标应用程序启用了 JMX 时,可能会出现这个问题。当集成代理配置为使用 HTTP URL (这是默认行为)注册自身时,也会发生此问题,但目标应用程序实例也可以被 Kubernetes API 发现等其他机制发现。

从 Cryostat 2.3.1 开始,Cryostat 代理使用更具体且唯一的选择器来标识其凭证。在这个版本中,Cryostat 可以区分代理的凭证和 JMX 身份验证所需的任何凭证。

CRYOSTAT_DISABLE_BU instructorIN_DISCOVERY 环境变量禁用自定义目标

在 Cryostat 2.3.1 之前,当您将 CRYOSTAT_DISABLE_BUroomIN_DISCOVERY 环境变量设置为 True 时,这个操作还禁用了除其他内置发现机制以外的自定义目标功能。预期的行为是,CRYOSTAT_DISABLE_BU QPCIN_DISCOVERY 环境变量禁用除 Custom Targets 以外的所有内置发现机制。

这个问题已在 Cryostat 2.3.1 版本中解决,这样可确保自定义目标功能始终可用,即使您将 CRYOSTAT_DISABLE_BU skillsIN_DISCOVERY 环境变量设置为 True

无法在 OpenShift Container Platform 4.12 及更高版本中注销 Cryostat web 应用程序

在 Cryostat 2.3.1 之前,当点 Logout 注销 Cryostat web 应用程序时,在 OpenShift Container Platform 4.12 及更新的版本中部署的 Cryostat 实例会失败。预期的行为是 logout 操作会将您重定向到集群 OAuth 登录。相反,注销尝试失败,并显示以下出错信息:

跨Origin Request Blocked: Same Origin 策略不允许读取位于 https://oauth-openshift.apps-crc.testing/logout 的远程资源。(reason: CORS 标头 'Access-Control-Allow-Origin' 缺少)。状态代码:200

通过 HTTP API 创建自动化规则对于 多部分/格式数据 提交失败

在 Cryostat 2.3.1 之前,当您试图使用 HTTP API 提交的数据作为 多部分数据 介质类型创建自动规则时,会出现 "HTTP 415" 错误。发生此错误的原因是 Cryostat 不支持 multipart/form-data 介质类型。

从 Cryostat 2.3.1 开始,Cryostat 可以为通过以下介质类型提交的数据创建自动规则:

  • multipart/form-data
  • application/x-www-form-urlencoded
  • application/json

删除包含 Cryostat 安装的命名空间可能会冻结

在 Cryostat 2.3.1 之前,当您试图删除仍然安装了 Cryostat 实例的命名空间时,删除操作可能会冻结。如果在对 Cryostat 或 Cluster Cryostat 自定义资源(CR)完成最终清理操作前删除 锁定 ConfigMap 对象,会出现这种情况。预期的行为是,删除操作会成功,并清理为 Cryostat 安装创建的任何资源的操作。

在所有情况下,Cryostat 2.3.1 发行版本中会解决这个问题,但 Cryostat Operator 是已删除命名空间的一部分。在这种情况下,请考虑使用默认安装模式 All namespaces on the cluster (默认) 重新安装 Cryostat Operator。然后,重新安装的 Operator 可以清理任何 leftover 状态,并允许删除命名空间。

JMC 探测模板验证错误

在 Cryostat 2.3.1 之前,当您试图通过 Cryostat web 控制台中的 Events 视图上传探测模板时,上传可能会失败,并显示验证错误。这个验证错误会导致在解析在探测模板中定义的方法参数内容类型时出现问题。

失败后无法上传 JMC 探测模板

在 Cryostat 2.3.1 之前,如果在上传探测模板时失败,任何进一步尝试上传此模板也会失败,并显示 HTTP 500 错误。如果您上传了一个失败的验证检查的无效模板,并随后尝试上传同一模板的有效版本,则会出现此问题。在这种情况下,Cryostat 没有提醒您已存在具有相同名称的模板。

从 Cryostat 2.3.1 开始,如果您试图上传带有重复文件名的探测模板,Cryostat 会显示错误消息。

发布 JMX URL 时代理配置中的端口号

在 Cryostat 2.3.1 之前,如果您将 Cryostat 代理配置为通过 JMX 而不是 HTTP 注册自己,则代理配置中的发布 URL 不包含正确的 JMX 端口号。

禁用规则的警告模式中的错误文本

在 Cryostat 2.3.1 之前,当您在 Cryostat web 控制台中禁用自动规则时,警告模态会显示以下不正确的文本:

如果单击 Delete,则禁用该规则。

从 Cryostat 2.3.1 开始,警告模式显示以下文本:

如果点 Disable,则规则将被禁用。

拓扑视图以错误的顺序显示切换图标

在 Cryostat 2.3.1 之前,在图形模式和列表模式间切换时,Cryostat web 控制台的 Topology 视图不会显示切换图标。

从 Cryostat 2.3.1 开始,图形模式可以正确地显示列表模式图标,列表模式可以正确地显示图形模式图标。

第 6 章 已知问题

有时,Cryostat 版本可能会包含红帽确认的问题或问题,并在产品开发期间在以后的阶段解决。查看其描述及其解决方案的每个已知问题。

Cryostat 代理报告"Boot 类路径机制不受支持"警告消息

描述

Cryostat 代理在错误日志中报告 "Boot class path mechanism is unsupported" 警告信息。

当 Cryostat 代理试图收集有关主机 Java 虚拟机(JVM)的信息,并遇到 JVM 不支持的"boot 类路径机制"属性时,将显示此消息。

OpenJDK 版本 9 及更早版本只支持此属性,但 OpenJDK 版本 11 支持 Cryostat 代理。因此,由于此属性附加到不支持的 JVM,所以会标记异常并在错误日志中显示为警告。

临时解决方案
不需要操作。

第 7 章 与本发行版本相关的公告

以下公告已被发布来记录 Cryostat 2.3 发行版本中包含的程序错误修复和 CVE 修复:

更新于 2023-09-19

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.