4.5. 使用 Insights Operator
Insights Operator 会定期收集配置和组件故障状态信息,默每两小时向红帽报告这些数据。这些信息可让红帽评估配置,它提供了比 Telemetry 报告更深入的数据。OpenShift Container Platform 用户可以在 Red Hat Hybrid Cloud Console 上的 Insights Advisor 服务中显示报告。
4.5.1. 配置 Insights Operator 复制链接链接已复制到粘贴板!
Insights Operator 配置是默认 Operator 配置的组合,其配置存储在 openshift-insights
命名空间中的 insights-config ConfigMap
对象中,或者在 openshift-config
命名空间中的 support secret 中。
当 ConfigMap
对象或支持 secret 存在时,包含的属性值会覆盖默认的 Operator 配置值。如果 ConfigMap
对象和 support secret 都存在,Operator 会读取 ConfigMap
对象。
ConfigMap
对象默认不存在,因此 OpenShift Container Platform 集群管理员必须创建它。
ConfigMap 对象配置结构
insights-config ConfigMap
对象(config.yaml
配置)的示例使用标准 YAML 格式显示配置选项。
可配置属性和默认值
下表描述了可用的配置属性:
insights-config ConfigMap
对象遵循标准 YAML 格式,其中子值位于父属性下,并缩进两个空格。对于 Obfuscation 属性,输入作为父属性的子属性。
属性名称 | 描述 | 值类型 | 默认值 |
---|---|---|---|
alerting: disabled: false
| 禁用集群 Prometheus 实例的 Insights Operator 警报。 | 布尔值 |
|
clusterTransfer: endpoint: <url>
| 用于检查和下载集群传输数据的端点。 | URL | https://api.openshift.com/api/accounts_mgmt/v1/cluster_transfers/ |
clusterTransfer: interval: 1h0m0s
| 设置检查可用集群传输的频率。 | 时间间隔 |
|
dataReporting: interval: 30m0s
| 设置数据收集和上传频率。 | 时间间隔 |
|
dataReporting: uploadEndpoint: <url>
| 设置上传端点。 | URL | |
dataReporting: storagePath: <path>
| 配置存储存档数据的路径。 | 文件路径 | /var/lib/insights-operator |
dataReporting: downloadEndpoint: <url>
| 指定下载最新 Insights 分析的端点。 | URL | |
dataReporting: conditionalGathererEndpoint: <url>
| 设置提供条件收集规则定义的端点。 | URL | |
dataReporting: obfuscation: - networking
| 启用 IP 地址和集群域名的全局模糊处理。 | 字符串 | Not applicable |
dataReporting: obfuscation: - workload_names
| 启用 Data Validation Operator 数据的模糊处理。集群资源 ID 仅在归档文件中可见,而不是资源名称。 | 字符串 | Not applicable |
proxy: httpProxy: http://example.com, httpsProxy: http://example.com, noProxy: test.org
| 为 Insights Operator 设置自定义代理。 | URL | 没有默认值 |
sca: interval: 8h0m0s
| 指定简单内容访问(SCA)授权下载的频率。 | 时间间隔 |
|
sca: endpoint: <url>
| 指定下载简单内容访问(SCA)授权的端点。 | URL | https://api.openshift.com/api/accounts_mgmt/v1/entitlement_certificates |
sca: disabled: false
| 禁用简单内容访问权利下载。 | 布尔值 |
|
4.5.1.1. 创建 insights-config ConfigMap 对象 复制链接链接已复制到粘贴板!
此流程描述了如何为 Insights Operator 创建 insights-config ConfigMap
对象来设置自定义配置。
红帽建议您在更改默认 Insights Operator 配置前咨询红帽支持。
先决条件
- 启用了远程健康报告(这是默认设置)。
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。
流程
-
进入 Workloads
ConfigMaps 并选择 Project: openshift-insights。 - 点 Create ConfigMap。
选择 Configure via: YAML view 并输入您的配置首选项,例如
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 可选: 选择 Form view 并输入所需信息。
- 在 ConfigMap Name 字段中输入 insights-config。
- 在 Key 字段中,输入 config.yaml。
- 对于 Value 字段,可以浏览文件以拖放到字段,或者手动输入您的配置参数。
-
点 Create,您可以看到
ConfigMap
对象和配置信息。
4.5.2. 了解 Insights Operator 警报 复制链接链接已复制到粘贴板!
Insights Operator 通过 Prometheus 监控系统向 Alertmanager 声明警报。您可以使用以下方法之一在 OpenShift Container Platform Web 控制台中的 Alerting UI 中查看这些警报:
-
在 Administrator 视角中,点 Observe
Alerting。 -
在 Developer 视角中,点 Observe
<project_name> Alerts 标签页。
目前,Insights Operator 在满足条件时发送以下警报:
警报 | 描述 |
---|---|
| Insights Operator 被禁用。 |
| Red Hat Subscription Management 中不启用简单的内容访问。 |
| Insights 具有集群的活跃建议。 |
4.5.2.1. 禁用 Insights Operator 警报 复制链接链接已复制到粘贴板!
要防止 Insights Operator 将警报发送到集群 Prometheus 实例,您可以创建或编辑 insights-config ConfigMap
对象。
在以前的版本中,集群管理员会使用 openshift-config
命名空间中的 support secret 创建或编辑 Insights Operator 配置。Red Hat Insights 现在支持创建 ConfigMap
对象来配置 Operator。如果两者都存在,Operator 会优先选择支持 secret 的配置映射配置。
如果 insights-config ConfigMap
对象不存在,您必须首先添加自定义配置时创建它。请注意,ConfigMap
对象中的配置优先于 config/pod.yaml
文件中定义的默认设置。
先决条件
- 启用了远程健康报告(这是默认设置)。
-
以
cluster-admin
用户身份登录到 OpenShift Container Platform Web 控制台。 -
insights-config
ConfigMap
对象存在于openshift-insights
命名空间中。
流程
-
进入 Workloads
ConfigMaps 并选择 Project: openshift-insights。 -
点 insights-config
ConfigMap
对象打开它。 - 点 Actions 并选择 Edit ConfigMap。
- 点 YAML 视图 单选按钮。
在 文件中,将
alerting
属性设置为disabled: true
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点击 Save。insights-config config-map 详情页面将打开。
-
验证
config.yaml
alerting
属性的值是否已设置为disabled: true
。
保存更改后,Insights Operator 不再将警报发送到集群 Prometheus 实例。
4.5.2.2. 启用 Insights Operator 警报 复制链接链接已复制到粘贴板!
禁用警报时,Insights Operator 不再将警报发送到集群 Prometheus 实例。您可以重新启用它们。
在以前的版本中,集群管理员会使用 openshift-config
命名空间中的 support secret 创建或编辑 Insights Operator 配置。Red Hat Insights 现在支持创建 ConfigMap
对象来配置 Operator。如果两者都存在,Operator 会优先选择支持 secret 的配置映射配置。
先决条件
- 启用了远程健康报告(这是默认设置)。
-
以
cluster-admin
用户身份登录到 OpenShift Container Platform Web 控制台。 -
insights-config
ConfigMap
对象存在于openshift-insights
命名空间中。
流程
-
进入 Workloads
ConfigMaps 并选择 Project: openshift-insights。 -
点 insights-config
ConfigMap
对象打开它。 - 点 Actions 并选择 Edit ConfigMap。
- 点 YAML 视图 单选按钮。
在文件中,将
alerting
属性设置为disabled: false
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点击 Save。insights-config config-map 详情页面将打开。
-
验证
config.yaml
alerting
属性的值是否已设置为disabled: false
。
保存更改后,Insights Operator 会再次向集群 Prometheus 实例发送警报。
4.5.3. 下载 Insights Operator 存档 复制链接链接已复制到粘贴板!
Insights Operator 将收集的数据存储在集群的 openshift-insights
命名空间中的存档中。您可以下载并查看 Insights Operator 收集的数据。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
为 Insights Operator 查找正在运行的 pod 的名称:
oc get pods --namespace=openshift-insights -o custom-columns=:metadata.name --no-headers --field-selector=status.phase=Running
$ oc get pods --namespace=openshift-insights -o custom-columns=:metadata.name --no-headers --field-selector=status.phase=Running
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 复制 Insights Operator 收集的最近数据存档:
oc cp openshift-insights/<insights_operator_pod_name>:/var/lib/insights-operator ./insights-data
$ oc cp openshift-insights/<insights_operator_pod_name>:/var/lib/insights-operator ./insights-data
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<insights_operator_pod_name>
替换为上一命令中的 pod 名称输出。
Insights Operator 最近存档可在 insights-data
目录中找到。
4.5.4. 根据需要运行 Insights Operator 收集操作 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform Web 控制台或命令行界面(CLI)运行自定义按需 Insights Operator 数据收集操作,而不是等待下一个定期数据收集操作。
定期数据收集操作使用 InsightsDataGather
自定义资源定义(CRD)进行配置说明,而按需提供的 CRD 需要配置 DataGather
CRD。
按需 DataGather
操作是:
-
对于需要不同 CRD 配置的一次性数据收集,用于定期数据收集(
InsightsDataGather
)规格。 -
独立于定期数据收集。当您创建 on-demand
DataGather
CRD 时,配置独立于定期数据收集作业的InsightsDataGather
CRD 规格。
自定义规格选项
您可以选择为 on-demand 数据收集操作自定义以下项目:
-
启用并定义数据模糊处理: 通过定义
DataGather
dataPolicy
规格,您可以启用对 Insights 归档数据的额外模糊处理,如 IP 地址或工作负载名称。 -
启用持久性存储 : 默认情况下,Insights Operator 使用临时存储,这意味着每个收集操作都会创建一个新 pod,并且不会保留收集操作和数据的历史记录。您可以通过在 CRD 中定义
DataGather
存储
规格,切换到持久性存储来保留最后 10 个收集操作的数据和历史记录。 -
排除特定数据收集操作 : 您可以通过定义
DataGather
gatherers
规格来选择禁止特定的收集操作运行。例如,您可以选择禁用集群身份验证操作或工作负载数据操作。
从默认列表中排除收集操作可能会减少或限制 Insights Advisor 提供的建议。
如果您没有在 DataGather
CRD 中配置任何自定义规格选项,则默认的 Insights Operator 数据收集任务将运行。这意味着,所有收集操作都将运行,收集的数据将不会被模糊处理,且不会保留存档文件。
当您按需运行收集操作时,之前应用的任何配置都会为集群禁用 Insights Operator 收集操作。
DataGather
自定义资源只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
如果在集群中启用了技术预览,Insights Operator 会在单个 pod 中运行收集操作。这是 Insights Operator 的技术预览功能集的一部分,并支持新的数据收集功能。
4.5.4.1. 查看 Insights Operator 收集持续时间 复制链接链接已复制到粘贴板!
您可以查看 Insights Operator 收集存档中包含的信息所使用的时间。这有助于您了解 Insights Operator 资源使用情况和 Insights Advisor 的问题。
先决条件
- Insights Operator 归档的最新副本。
流程
在归档中,打开
/insights-operator/gathers.json
。文件包含 Insights Operator 收集操作列表:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
duration_in_ms
是每个收集操作的时间(毫秒)。
- 检查每个收集操作是否有异常情况。
4.5.4.2. 通过 Web 控制台使用 Insights Operator 按需收集数据 复制链接链接已复制到粘贴板!
您可以从 OpenShift Container Platform Web 控制台运行自定义 Insights Operator 收集按需操作。对于需要不同配置的一次性数据收集,在定期数据收集(Insights
操作很有用。
DataGather
)规格中,按需 DataGather
使用以下步骤创建 DataGather
自定义资源定义(CRD),然后从 web 控制台根据需要运行数据收集操作。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。
流程
- 在控制台中,选择 Administration > CustomResourceDefinitions。
- 在 CustomResourceDefinitions 页上,在 Search by name 字段中查找 DataGather 资源定义,然后点它。
- 在 CustomResourceDefinition 详情页面,点 Instances 选项卡。
- 点 Create DataGather。
要创建新的
DataGather
操作,所有收集操作都将运行,请完成以下 YAML 规格,然后保存您的更改。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要-
您为收集操作指定的名称 <
your_data_gather&
gt; 必须是唯一的,且不得包含periodic-gathering-
前缀,因为此字符串是为其他管理操作保留的,并可能会影响预期的收集操作。 -
如果
DataGather
CRD 的spec
未定义,则默认的 Insights Operator 数据收集作业将运行。这意味着,所有收集操作都将运行,收集的数据将不会被模糊处理,且不会保留存档文件。
-
您为收集操作指定的名称 <
可选: 要自定义数据收集操作,您可以在
DataGather
YAML 文件中配置任何以下选项:要禁用特定的收集者,将
mode
的值改为 Custom,然后指定要禁用的独立收集器。例如,要禁用工作负载收集程序,请添加以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要启用持久性存储来保留最后 10 个数据收集作业的数据存档文件和历史记录,请定义
存储
规格。将 type 设置为PersistentVolume
,并定义卷的mountPath
和名称,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要确保指定的卷名称与
openshift-insights
命名空间中的现有PersistentVolumeClaim
值匹配。如需更多信息,请参阅 持久性卷声明。要启用数据模糊处理,请定义
dataPolicy
键和所需值。例如,要模糊处理 IP 地址和工作负载名称,请添加以下配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
- 在控制台中,选择 Workloads > Pods。
- 在 Pods 页上,进入 Project 下拉菜单,然后选择 Show default projects。
-
从 Project 下拉菜单中选择
openshift-insights
项目。 -
检查您的新收集操作是否已带有您在
openshift-insights
项目中的 pod 列表下选择的名称作为前缀。完成后,Insights Operator 会自动将数据上传到红帽进行处理。
4.5.4.3. 通过 OpenShift CLI 使用 Insights Operator 按需收集数据 复制链接链接已复制到粘贴板!
您可以从 OpenShift Container Platform 命令行界面(CLI)运行自定义 Insights Operator 收集按需操作。对于需要不同配置的一次性数据收集,在定期数据收集(Insights
操作很有用。
DataGather
)规格中,按需 DataGather
使用以下步骤创建 DataGather
自定义资源定义(CRD),然后从 CLI 按需运行数据收集操作。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform。
流程
使用以下
DataGather
规格创建 YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要-
您为收集操作指定的名称 <
your_data_gather&
gt; 必须是唯一的,且不得包含periodic-gathering-
前缀,因为此字符串是为其他管理操作保留的,并可能会影响预期的收集操作。 -
如果
DataGather
CRD 的spec
未定义,则默认的 Insights Operator 数据收集作业将运行。这意味着,所有收集操作都将运行,收集的数据将不会被模糊处理,且不会保留存档文件。
-
您为收集操作指定的名称 <
可选: 要自定义数据收集操作,您可以在
DataGather
YAML 文件中配置任何以下选项:要禁用特定的收集者,将
mode
的值改为 Custom,然后指定要禁用的独立收集器。例如,要禁用工作负载收集程序,请添加以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要启用持久性存储来保留最后 10 个数据收集作业的数据存档文件和历史记录,请定义
存储
规格。将 type 设置为PersistentVolume
,并定义卷的mountPath
和名称,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要确保指定的卷名称与
openshift-insights
命名空间中的现有PersistentVolumeClaim
值匹配。如需更多信息,请参阅 持久性卷声明。要启用数据模糊处理,请定义
dataPolicy
键和所需值。例如,要模糊处理 IP 地址和工作负载名称,请添加以下配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 OpenShift Container Platform CLI 中,输入以下命令来运行收集操作:
oc apply -f <your_data_gather_definition>.yaml
$ oc apply -f <your_data_gather_definition>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
检查您的新收集操作是否已带有您在
openshift-insights
项目中的 pod 列表下选择的名称作为前缀。完成后,Insights Operator 会自动将数据上传到红帽进行处理。
4.5.4.4. 禁用 Insights Operator 定期收集操作 复制链接链接已复制到粘贴板!
您可以选择禁用 Insights Operator 默认每 2 小时运行定期 InsightsDataGather
操作。禁用定期数据收集操作会增加机构的隐私,因为 Insights Operator 不再收集并向红帽发送 Insights 集群报告。
禁用收集操作也会禁用集群的 Insights 分析和建议,而不影响需要与红帽(如集群传输)进行通信的其他核心功能。
您可以从 Insights Operator 归档中的 /insights-operator/gathers.json
文件中查看集群收集操作的尝试列表。请注意,只有在满足特定条件且没有出现在您最近的归档中时,才会进行一些收集操作。
InsightsDataGather
自定义资源只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
如果在集群中启用了技术预览,Insights Operator 会在单个 pod 中运行收集操作。这是 Insights Operator 的技术预览功能集的一部分,并支持新的数据收集功能。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。
流程
- 导航到 Administration > CustomResourceDefinitions。
- 在 CustomResourceDefinitions 页面上,使用 Search by name 字段来查找 InsightsDataGather 自定义资源定义(CRD),然后点击 来打开。
- 在 CustomResourceDefinition 详情页面,点 Instances 选项卡。
- 点 cluster,然后点 YAML 选项卡。
编辑
InsightsDataGather
CRD,并完成以下步骤之一:要禁用所有收集操作和数据收集,请定义
收集器
规格,并将模式设置为
None,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要禁用单个收集操作,在
gatherers
下将模式设置为 Custom,然后指定要禁用的独立收集器。例如,要禁用工作负载收集程序,请定义以下规格:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 点击 Save。
结果
保存更改后,Insights Operator 收集配置会被更新,在配置中禁用的操作将不再发生。
禁用收集操作会限制 Insights Advisor 服务为您的集群提供有效建议的能力。
4.5.4.5. 重新启用 Insights Operator 定期收集操作 复制链接链接已复制到粘贴板!
如果您禁用了默认的 InsightsDataGather
数据收集操作,您可以再次启用它们,以便 Insights Operator 恢复定期数据收集,并将生成的 Insights 集群报告发送到红帽。
InsightsDataGather
自定义资源只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。
流程
- 导航到 Administration > CustomResourceDefinitions。
- 在 CustomResourceDefinitions 页面上,使用 Search by name 字段来查找 InsightsDataGather 自定义资源定义(CRD),然后点击 来打开。
- 在 CustomResourceDefinition 详情页面,点 Instances 选项卡。
- 点 cluster,然后点 YAML 选项卡。
编辑
InsightsDataGather
CRD,并完成以下步骤之一:要启用所有禁用收集操作,在
gatherers
规格中将模式设置为 All,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要启用之前禁用的单个收集操作,请在
gatherers:custom:configs
key 部分找到 gatherer 操作的名称,并将状态更改为
Enabled。或者,在配置
规格下,删除您要启用的操作的名称和状态
配置行。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
点击 Save。
保存更改后,Insights Operator 收集配置将更新,受影响的收集操作启动。
禁用收集操作会限制 Insights Advisor 服务为您的集群提供有效建议的能力。
4.5.5. 模糊处理 Deployment Validation Operator 数据 复制链接链接已复制到粘贴板!
默认情况下,当您安装 Deployment Validation Operator (DVO) 时,资源的名称和唯一标识符 (UID) 包含在 OpenShift Container Platform 的 Insights Operator 捕获和处理的数据中。集群管理员可以将 Insight Operator 配置为模糊来自 Deployment Validation Operator (DVO) 的数据。例如,您可以在发送给红帽的归档文件中模糊处理工作负载名称。
要模糊处理资源名称,您必须在 insights-config
ConfigMap
对象中手动设置 obfuscation
属性,使其包含 workload_names
值,如以下步骤中所述。
先决条件
- 启用了远程健康报告(这是默认设置)。
- 使用 "cluster-admin" 角色登录到 OpenShift Container Platform Web 控制台。
-
insights-config
ConfigMap
对象存在于openshift-insights
命名空间中。 - 集群被自我管理,并安装了 Deployment Validation Operator。
流程
-
进入 Workloads
ConfigMaps 并选择 Project: openshift-insights。 -
点
insights-config
ConfigMap
对象打开它。 - 点 Actions 并选择 Edit ConfigMap。
- 点 YAML 视图 单选按钮。
在文件中,使用
workload_names
值设置obfuscation
属性。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点击 Save。insights-config config-map 详情页面将打开。
-
验证
config.yaml
obfuscation
属性的值是否已设置为- workload_names
。