1.4. 自定义自动化规则


您可以在一个 Cryostat 实例的自定义资源(CR)中配置 automatedRules 属性,使其包含多个自定义自动化规则。自动化规则定义可以包含许多选项,供 Cryostat 用来将规则应用到与 matchExpression 字符串表达式中定义的正则表达式匹配的任何目标 JVM。您可以使用自动化规则使 JFR 持续监控正在运行的目标应用程序,而无需重启或重新部署应用程序。

默认情况下,Cryostat 提供预先配置的 continuous_analysishibernatequarkus 自动化规则。这些预配置的规则可能不满足您的需要,因此您可以创建自定义规则并在 ConfigMap 中存储这些规则以更轻松地检索。

ConfigMap 中存储自定义自动化规则后,您可以使用 Cryostat Operator 将 Cryostat 实例配置为在指定的 ConfigMap 中使用此自动化规则。然后,您可以使用带有 JFR 的自定义自动化规则来持续监控 Java 应用程序以满足您的需求。

先决条件

  • 使用 Red Hat OpenShift Web 控制台登录到 OpenShift Container Platform。
  • 登录到您的 Cryostat web 控制台。

流程

  1. 要下载默认的自动化规则,请导航到 Cryostat web 控制台,然后选择 Flight Recorder > Capture > Automated Rules。然后单击您要下载的规则旁边的溢出图标,然后单击 Download

    注意

    自动化规则采用 JSON 格式,文件名称扩展名为 .json

  2. 要创建自定义自动化规则,请使用文本编辑器编辑下载的自动化规则文件,以配置规则定义以满足您的需求。

    例如,默认的 continuous_analysis.json 自动化规则文件包括以下详情:

    {"name":"continuous_analysis","description":"","matchExpression":"true","eventSpecifier":"template=Continuous,type=TARGET","archivalPeriodSeconds":300,"initialDelaySeconds":0,"preservedArchives":1,"maxAgeSeconds":600,"maxSizeBytes":0,"metadata":{"labels":[{"key":"origin","value":"automated-analysis"},{"key":"autoanalyze","value":"true"}]},"enabled":false}
  3. 通过在 CLI 中输入 oc login 命令登录到您的 Red Hat OpenShift Web 控制台。
  4. 通过在 CLI 中输入以下命令,从自动化规则创建 ConfigMap 资源。您必须在要部署 Cryostat 应用程序的路径中发出该命令。您可以使用此资源存储运行 Cryostat 实例的集群中的自动规则文件。

    使用 CLI 为自动化规则创建 ConfigMap 资源示例

    $ oc create configmap <automated_rule_name> --from-file=<path_to_custom_automated_rule>

  5. 如果要开始创建 Cryostat 实例,请执行以下步骤:

    1. 在 Red Hat OpenShift web 控制台中,点 Operators > Installed Operators
    2. 从可用 Operator 列表中,选择 Red Hat build of Cryostat。
    3. Operator 详情页中,点 Details 选项卡。
    4. Provided APIs 部分中,选择 Cryostat,然后单击 Create instance
  6. 在 Create Cryostat 面板中,要将 JSON 格式的自动规则上传到资源中,请选择以下选项之一:

    1. 如果要使用 Form 视图:

      1. Form view 单选按钮。
      2. 导航到 Cryostat 实例的 Automated Rules 部分。
      3. Automated Rules 菜单,单击 Add Automated Rules。在 Red Hat OpenShift 控制台中打开 Automated Rules 部分。
      4. Config Map Name 下拉列表中,选择包含自动化规则的 ConfigMap 资源。

        图 1.5. Cryostat 实例的自动规则选项

        Cryostat 实例的自动规则选项
      5. Filename 字段中,输入 ConfigMap 中包含的 .json 文件的名称。
    2. 如果要使用 YAML 视图:

      1. YAML 视图 单选按钮。
      2. automatedRules 属性指定任何自定义自动化规则。此属性将 Cryostat Operator 指向 ConfigMap,以便 Operator 能够读取自动化规则。

        automatedRules 属性指定自定义自动化规则的示例

        --
        apiVersion: operator.cryostat.io/v1beta2
        kind: Cryostat
        metadata:
          name: cryostat-sample
        spec:
          ...
          automatedRules:
          - configMapName: custom-rule1
            filename: my-rule1.json
          - configMapName: custom-rule2
            filename: my-rule2.json
        --

        重要

        您必须从 configMapName 下拉列表中选择与 Cryostat 或 Cluster Cryostat 实例关联的 ConfigMap 名称。另外,您必须在 filename 字段中指定与 ConfigMap 关联的密钥。

  7. 如果要为这个 Cryostat 实例配置自定义资源(CR)中的其他属性,请参阅本文档的其它部分来了解有关这些属性的更多信息。
  8. 如果要完成创建此 Cryostat 实例,请点击 Create

当您点 Create 时,Operator 详情页中的 Cryostat 选项卡下提供了此 Cryostat 实例。然后,您可以通过点 Operator 详情页面上的实例名称来编辑 Cryostat 实例的 CR 属性,然后从 Actions 下拉菜单中选择 Edit Cryostat

Cryostat Operator 现在可将自定义自动规则作为 JSON 文件提供给 Cryostat 应用程序。您的自定义自动化规则会在 Cryostat web 控制台中打开默认自动化规则。

验证

  1. 在 Cryostat web 控制台中,从导航菜单中选择 Flight Recorder > Capture > Automated Rules
  2. 在 Automated Rules 面板中,检查您的自定义自动化规则是否显示在可用的自动化规则列表中。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部