×

Insights Operator 定期收集配置和组件故障状态,默认情况下,每两小时向 Red Hat 报告一次这些数据。此信息使 Red Hat 能够评估配置和比遥测报告更深入的故障数据。OpenShift Container Platform 的用户可以在 Red Hat Hybrid Cloud Console 上的 Insights Advisor 服务中显示报告。

其他资源

配置 Insights Operator

Insights Operator 配置是默认 Operator 配置和存储在 openshift-insights 命名空间中的 insights-config ConfigMap 对象中或 openshift-config 命名空间中的支持密钥中的配置的组合。

当存在 ConfigMap 对象或支持密钥时,包含的属性值将覆盖默认的 Operator 配置值。如果同时存在 ConfigMap 对象支持密钥,则 Operator 将读取 ConfigMap 对象。

默认情况下不存在 ConfigMap 对象,因此 OpenShift Container Platform 集群管理员必须创建它。

ConfigMap 对象配置结构

insights-config ConfigMap 对象 (config.yaml 配置) 示例显示了使用标准 YAML 格式的配置选项。

Example of Insights Operator ConfigMap object
可配置属性和默认值

下表描述了可用的配置属性

insights-config ConfigMap 对象遵循标准 YAML 格式,其中子值位于父属性下方并缩进两个空格。对于 **Obfuscation** 属性,请以父属性的项目符号子项形式输入值。

表 1. Insights Operator 可配置属性
属性名称 描述 值类型 默认值

Obfuscation: - networking

启用 IP 地址和集群域名全局模糊处理。

布尔值

false

Obfuscation: - workload_names

如果安装了部署验证操作符,则模糊处理来自该操作符的数据。

布尔值

false

sca: interval

指定简单内容访问权限下载的频率。

时间间隔

8小时

sca: disabled

禁用简单内容访问权限下载。

布尔值

false

alerting: disabled

禁用 Insights Operator 向集群 Prometheus 实例发送警报。

布尔值

false

httpProxy, httpsProxy, noProxy

为 Insights Operator 设置自定义代理

URL

无默认值

创建 insights-config ConfigMap 对象

此过程描述如何为 Insights Operator 创建 **insights-config** `ConfigMap` 对象以设置自定义配置。

Red Hat 建议您在更改默认 Insights Operator 配置之前咨询 Red Hat 支持。

先决条件
  • 远程健康报告已启用,这是默认设置。

  • 您已以具有 `cluster-admin` 角色的用户身份登录到 OpenShift Container Platform Web 控制台。

步骤
  1. 转到 **工作负载** → **ConfigMap** 并选择 **项目:openshift-insights**。

  2. 单击 **创建 ConfigMap**。

  3. 选择 **通过以下方式配置:YAML 视图** 并输入您的配置首选项,例如

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: insights-config
      namespace: openshift-insights
    data:
      config.yaml: |
        dataReporting:
          obfuscation:
            - networking
            - workload_names
        sca:
          disable: false
          interval: 2h
        alerting:
           disabled: false
    binaryData: {}
    immutable: false
  4. 可选:选择 **表单视图** 并通过这种方式输入必要的信息。

  5. 在 **ConfigMap 名称** 字段中,输入 **insights-config**。

  6. 在 **键** 字段中,输入 **config.yaml**。

  7. 对于 **值** 字段,您可以浏览要拖放到该字段中的文件,也可以手动输入您的配置参数。

  8. 单击 **创建**,您就可以看到 `ConfigMap` 对象和配置信息。

了解 Insights Operator 警报

Insights Operator 通过 Prometheus 监控系统向 Alertmanager 声明警报。您可以使用以下方法之一在 OpenShift Container Platform Web 控制台的警报 UI 中查看这些警报

  • 在 **管理员** 透视图中,单击 **观察** → **警报**。

  • 在 **开发者** 透视图中,单击 **观察** → <项目名称> → **警报** 选项卡。

目前,Insights Operator 在满足条件时会发送以下警报

表 2. Insights Operator 警报
警报 描述

InsightsDisabled

Insights Operator 已禁用。

SimpleContentAccessNotAvailable

在 Red Hat Subscription Management 中未启用简单内容访问。

InsightsRecommendationActive

Insights 对集群有有效的建议。

禁用 Insights Operator 警报

要阻止 Insights Operator 向集群 Prometheus 实例发送警报,您可以创建或编辑 **insights-config** `ConfigMap` 对象。

以前,集群管理员会使用 `openshift-config` 命名空间中的 **支持密钥** 创建或编辑 Insights Operator 配置。Red Hat Insights 现在支持创建 `ConfigMap` 对象来配置 Operator。如果同时存在两者,Operator 会优先使用 config map 配置而不是支持密钥。

如果 **insights-config** `ConfigMap` 对象不存在,则在您第一次添加自定义配置时必须创建它。请注意,`ConfigMap` 对象中的配置优先于 `config/pod.yaml` 文件中定义的默认设置。

先决条件
  • 远程健康报告已启用,这是默认设置。

  • 您已以 `cluster-admin` 用户身份登录到 OpenShift Container Platform Web 控制台。

  • **insights-config** `ConfigMap` 对象存在于 `openshift-insights` 命名空间中。

步骤
  1. 转到 **工作负载** → **ConfigMap** 并选择 **项目:openshift-insights**。

  2. 单击 **insights-config** `ConfigMap` 对象以将其打开。

  3. 单击 **操作** 并选择 **编辑 ConfigMap**。

  4. 单击 **YAML 视图** 单选按钮。

  5. 在文件中,将 `alerting` 属性设置为 `disabled: true`。

    apiVersion: v1
    kind: ConfigMap
    # ...
    data:
      config.yaml: |
        alerting:
          disabled: true
    # ...
  6. 单击 **保存**。**insights-config** config-map 详情页面将打开。

  7. 验证 `config.yaml` `alerting` 属性的值是否设置为 `disabled: true`。

保存更改后,Insights Operator 将不再向集群 Prometheus 实例发送警报。

启用 Insights Operator 警报

禁用警报后,Insights Operator 将不再向集群 Prometheus 实例发送警报。您可以重新启用它们。

以前,集群管理员会使用 `openshift-config` 命名空间中的 **支持密钥** 创建或编辑 Insights Operator 配置。Red Hat Insights 现在支持创建 `ConfigMap` 对象来配置 Operator。如果同时存在两者,Operator 会优先使用 config map 配置而不是支持密钥。

先决条件
  • 远程健康报告已启用,这是默认设置。

  • 您已以 `cluster-admin` 用户身份登录到 OpenShift Container Platform Web 控制台。

  • **insights-config** `ConfigMap` 对象存在于 `openshift-insights` 命名空间中。

步骤
  1. 转到 **工作负载** → **ConfigMap** 并选择 **项目:openshift-insights**。

  2. 单击 **insights-config** `ConfigMap` 对象以将其打开。

  3. 单击 **操作** 并选择 **编辑 ConfigMap**。

  4. 单击 **YAML 视图** 单选按钮。

  5. 在文件中,将 `alerting` 属性设置为 `disabled: false`。

    apiVersion: v1
    kind: ConfigMap
    # ...
    data:
      config.yaml: |
        alerting:
          disabled: false
    # ...
  6. 单击 **保存**。**insights-config** config-map 详情页面将打开。

  7. 验证 `config.yaml` `alerting` 属性的值是否设置为 `disabled: false`。

保存更改后,Insights Operator 将再次向集群 Prometheus 实例发送警报。

下载您的 Insights Operator 归档文件

Insights Operator 将收集的数据存储在集群 `openshift-insights` 命名空间中的归档文件中。您可以下载并查看 Insights Operator 收集的数据。

先决条件
  • 您可以作为具有 `cluster-admin` 角色的用户访问集群。

步骤
  1. 查找 Insights Operator 的运行 Pod 的名称

    $ oc get pods --namespace=openshift-insights -o custom-columns=:metadata.name --no-headers  --field-selector=status.phase=Running
  2. 复制 Insights Operator 收集的近期数据归档文件

    $ oc cp openshift-insights/<insights_operator_pod_name>:/var/lib/insights-operator ./insights-data (1)
    1 将 `<insights_operator_pod_name>` 替换为前面命令输出的 Pod 名称。

近期 Insights Operator 归档文件现在位于 `insights-data` 目录中。

运行 Insights Operator 收集操作

您可以根据需要运行 Insights Operator 数据收集操作。以下步骤描述了如何使用 OpenShift Web 控制台或 CLI 运行默认的收集操作列表。您可以自定义按需收集功能以排除您选择的任何收集操作。从默认列表中禁用收集操作会降低 Insights Advisor 为您的集群提供有效建议的能力。如果您之前已在集群中禁用 Insights Operator 收集操作,此过程将覆盖这些参数。

`DataGather` 自定义资源仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可以提前访问即将推出的产品功能,使客户能够在开发过程中测试功能并提供反馈。

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

如果您在集群中启用技术预览版,Insights Operator 将在各个 Pod 中运行收集操作。这是 Insights Operator 技术预览版功能集的一部分,支持新的数据收集功能。

查看 Insights Operator 收集持续时间

您可以查看 Insights Operator 收集存档中包含的信息所需的时间。这有助于您了解 Insights Operator 资源使用情况和 Insights Advisor 的问题。

先决条件
  • 您 Insights Operator 存档的最新副本。

步骤
  1. 从您的存档中打开/insights-operator/gathers.json

    该文件包含 Insights Operator 收集操作列表。

        {
          "name": "clusterconfig/authentication",
          "duration_in_ms": 730, (1)
          "records_count": 1,
          "errors": null,
          "panic": null
        }
    1 duration_in_ms 是每次收集操作的毫秒数。
  2. 检查每个收集操作是否存在异常。

从 Web 控制台运行 Insights Operator 收集操作

要收集数据,您可以使用 OpenShift Container Platform Web 控制台运行 Insights Operator 收集操作。

先决条件
  • 您已以具有cluster-admin角色的用户身份登录到 OpenShift Container Platform Web 控制台。

步骤
  1. 在控制台中,选择**管理** → **自定义资源定义**。

  2. 在**自定义资源定义**页面上的**按名称搜索**字段中,找到**DataGather**资源定义,然后单击它。

  3. 在**自定义资源定义详细信息**页面上,单击**实例**选项卡。

  4. 单击**创建 DataGather**。

  5. 要创建新的DataGather操作,请编辑以下配置文件,然后保存更改。

    apiVersion: insights.openshift.io/v1alpha1
    kind: DataGather
    metadata:
      name: <your_data_gather> (1)
    spec:
     gatherers: (2)
       - name: workloads
         state: Disabled
    1 在**metadata**下,将<your_data_gather>替换为收集操作的唯一名称。
    2 在**gatherers**下,指定您打算禁用的任何单个收集操作。在提供的示例中,workloads 是唯一禁用的数据收集操作,所有其他默认操作都设置为运行。当spec参数为空时,所有默认收集操作都将运行。

不要在收集操作名称前添加periodic-gathering-前缀,因为此字符串保留用于其他管理操作,并且可能会影响预期的收集操作。

验证
  1. 在控制台中,选择**工作负载** → **Pod**。

  2. 在 Pod 页面上,转到**项目**下拉菜单,然后选择**显示默认项目**。

  3. 从**项目**下拉菜单中选择openshift-insights项目。

  4. 检查新的收集操作是否在openshift-insights项目中的 Pod 列表下以您选择的名称为前缀。完成后,Insights Operator 会自动将数据上传到 Red Hat 进行处理。

从 OpenShift CLI 运行 Insights Operator 收集操作

您可以使用 OpenShift Container Platform 命令行界面运行 Insights Operator 收集操作。

先决条件
  • 您已以具有cluster-admin角色的用户身份登录到 OpenShift Container Platform。

步骤
  • 输入以下命令以运行收集操作:

    $ oc apply -f <your_datagather_definition>.yaml

    <your_datagather_definition>.yaml替换为包含以下参数的配置文件:

    apiVersion: insights.openshift.io/v1alpha1
    kind: DataGather
    metadata:
      name: <your_data_gather> (1)
    spec:
     gatherers: (2)
       - name: workloads
         state: Disabled
    1 在**metadata**下,将<your_data_gather>替换为收集操作的唯一名称。
    2 在**gatherers**下,指定您打算禁用的任何单个收集操作。在提供的示例中,workloads 是唯一禁用的数据收集操作,所有其他默认操作都设置为运行。当spec参数为空时,所有默认收集操作都将运行。

不要在收集操作名称前添加periodic-gathering-前缀,因为此字符串保留用于其他管理操作,并且可能会影响预期的收集操作。

验证
  • 检查新的收集操作是否在openshift-insights项目中的 Pod 列表下以您选择的名称为前缀。完成后,Insights Operator 会自动将数据上传到 Red Hat 进行处理。

禁用 Insights Operator 收集操作

您可以禁用 Insights Operator 收集操作。禁用收集操作可以提高您组织的隐私性,因为 Insights Operator 将不再收集并将 Insights 集群报告发送到 Red Hat。这将禁用 Insights 对您集群的分析和建议,而不会影响其他需要与 Red Hat 通信的核心功能,例如集群转移。您可以从 Insights Operator 存档中的/insights-operator/gathers.json文件查看集群尝试收集操作的列表。请注意,某些收集操作仅在满足特定条件时才会发生,并且可能不会出现在您最新的存档中。

InsightsDataGather自定义资源仅为技术预览版功能。技术预览版功能不受 Red Hat 生产服务级别协议 (SLA) 支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让您抢先体验即将推出的产品功能,使客户能够在开发过程中测试功能并提供反馈。

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

如果您在集群中启用技术预览版,Insights Operator 将在各个 Pod 中运行收集操作。这是 Insights Operator 技术预览版功能集的一部分,支持新的数据收集功能。

先决条件
  • 您已以具有cluster-admin角色的用户身份登录到 OpenShift Container Platform Web 控制台。

步骤
  1. 导航到**管理** → **自定义资源定义**。

  2. 在**自定义资源定义**页面上,使用**按名称搜索**字段查找**InsightsDataGather**资源定义并单击它。

  3. 在**自定义资源定义详细信息**页面上,单击**实例**选项卡。

  4. 单击**集群**,然后单击**YAML**选项卡。

  5. 通过对InsightsDataGather配置文件执行以下编辑之一来禁用收集操作:

    1. 要禁用所有收集操作,请在disabledGatherers键下输入all

      apiVersion: config.openshift.io/v1alpha1
      kind: InsightsDataGather
      metadata:
      ....
      
      spec: (1)
        gatherConfig:
          disabledGatherers:
            - all (2)
      1 spec参数指定收集配置。
      2 all值禁用所有收集操作。
    2. 要禁用单个收集操作,请在其值下输入disabledGatherers键。

      spec:
        gatherConfig:
          disabledGatherers:
            - clusterconfig/container_images (1)
            - clusterconfig/host_subnets
            - workloads/workload_info
      1 单个收集操作示例:
  6. 单击**保存**。

    保存更改后,Insights Operator 收集配置将更新,并且操作将不再发生。

禁用收集操作会降低 Insights Advisor 为您的集群提供有效建议的能力。

启用 Insights Operator 收集操作

如果收集操作已被禁用,您可以启用 Insights Operator 收集操作。

InsightsDataGather自定义资源仅为技术预览版功能。技术预览版功能不受 Red Hat 生产服务级别协议 (SLA) 支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让您抢先体验即将推出的产品功能,使客户能够在开发过程中测试功能并提供反馈。

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

先决条件
  • 您已以具有cluster-admin角色的用户身份登录到 OpenShift Container Platform Web 控制台。

步骤
  1. 导航到**管理** → **自定义资源定义**。

  2. 在**自定义资源定义**页面上,使用**按名称搜索**字段查找**InsightsDataGather**资源定义并单击它。

  3. 在**自定义资源定义详细信息**页面上,单击**实例**选项卡。

  4. 单击**集群**,然后单击**YAML**选项卡。

  5. 通过执行以下编辑之一来启用收集操作:

    • 要启用所有禁用的收集操作,请删除gatherConfig段落。

      apiVersion: config.openshift.io/v1alpha1
      kind: InsightsDataGather
      metadata:
      ....
      
      spec:
        gatherConfig: (1)
          disabledGatherers: all
      1 删除gatherConfig段落以启用所有收集操作。
    • 要启用单个收集操作,请删除disabledGatherers键下的其值。

      spec:
        gatherConfig:
          disabledGatherers:
            - clusterconfig/container_images (1)
            - clusterconfig/host_subnets
            - workloads/workload_info
      1 删除一个或多个收集操作。
  6. 单击**保存**。

    保存更改后,Insights Operator 收集配置将更新,并且受影响的收集操作将开始。

禁用收集操作会降低 Insights Advisor 为您的集群提供有效建议的能力。

模糊处理部署验证运算符数据

如果安装了运算符,集群管理员可以将 Insight Operator 配置为模糊处理部署验证运算符 (DVO) 的数据。当workload_names值添加到insights-configConfigMap对象时,工作负载名称(而不是 UID)将显示在 Openshift 的 Insights 中,这使得集群管理员更容易识别它们。

先决条件
  • 远程健康报告已启用,这是默认设置。

  • 您已以“cluster-admin”角色登录到 OpenShift Container Platform Web 控制台。

  • **insights-config** `ConfigMap` 对象存在于 `openshift-insights` 命名空间中。

  • 集群是自管理的,并且已安装部署验证操作器。

步骤
  1. 转到 **工作负载** → **ConfigMap** 并选择 **项目:openshift-insights**。

  2. 单击 **insights-config** `ConfigMap` 对象以将其打开。

  3. 单击 **操作** 并选择 **编辑 ConfigMap**。

  4. 单击 **YAML 视图** 单选按钮。

  5. 在文件中,使用workload_names值设置obfuscation属性。

    apiVersion: v1
    kind: ConfigMap
    # ...
    data:
      config.yaml: |
        dataReporting:
          obfuscation:
            - workload_names
    # ...
  6. 单击 **保存**。**insights-config** config-map 详情页面将打开。

  7. 验证config.yaml文件的obfuscation属性的值是否设置为- workload_names