2.2. 添加自定义指标
将指标添加到 metrics_list.yaml
文件中,用来从受管集群中收集数据。
在添加自定义指标前,请确定使用以下命令启用了 mco observability
: oc get mco observability -o yaml
。在 status.conditions.message
中检查以下消息:Observability components are deployed and running
创建名为 observability-metrics-custom-allowlist.yaml
的文件,并将自定义指标名称添加到 metrics_list.yaml
参数。ConfigMap 的 YAML 可能类似以下内容:
kind: ConfigMap apiVersion: v1 metadata: name: observability-metrics-custom-allowlist data: metrics_list.yaml: | names: - node_memory_MemTotal_bytes rules: - record: apiserver_request_duration_seconds:histogram_quantile_90 expr: histogram_quantile(0.90,sum(rate(apiserver_request_duration_seconds_bucket{job=\"apiserver\", verb!=\"WATCH\"}[5m])) by (verb,le))
对于用户工作负载指标,请参阅添加用户工作负载指标部分。
-
在
names
部分中,添加要从受管集群收集的自定义指标的名称。 -
在
rules
部分中,仅为expr
和record
参数对输入一个值来定义查询表达式。指标作为来自受管集群的record
参数中定义的名称来收集。返回的指标值是运行查询表达式后的结果。 -
name
和rules
部分是可选的。您可以使用其中一个或两个部分。
使用以下命令,在 open-cluster-management-observability
命名空间中创建 observability-metrics-custom-allowlist
ConfigMap:oc apply -n open-cluster-management-observability -f observability-metrics-custom-allowlist.yaml
。
通过 Grafana 仪表板,查询来自 Explore 页的指标数据来验证是否收集了您的自定义指标的数据。您也可以在您自己的仪表板中使用自定义指标。有关查看仪表板的更多信息,请参阅使用 Grafana 仪表板。
2.2.1. 添加用户工作负载指标
您可以从 OpenShift Container Platform 中的工作负载收集 OpenShift Container Platform 用户定义的指标。您必须启用监控,请参阅为用户定义的项目启用监控。
如果您有一个为用户定义的工作负载启用监控的受管集群,用户工作负载位于 test
命名空间中,并生成指标。Prometheus 从 OpenShift Container Platform 用户工作负载收集这些指标。
通过在 test
命名空间中创建一个名为 observability-metrics-custom-allowlist
的 ConfigMap,从用户工作负载收集指标。查看以下示例:
kind: ConfigMap apiVersion: v1 metadata: name: observability-metrics-custom-allowlist namespace: test data: uwl_metrics_list.yaml: | names: - sample_metrics
-
uwl_metrics_list.yaml
是 ConfigMap 数据的密钥。 -
ConfigMap 数据的值采用 YAML 格式。
name
部分包含您要从test
命名空间收集的指标名称列表。创建 ConfigMap 后,由可观察收集器收集目标命名空间中的指定指标并推送到 hub 集群。
2.2.2. 删除默认指标
如果您不需要收集管理集群中的特定指标数据,从 observability-metrics-custom-allowlist.yaml
文件中删除相应的指标。当您删除指标时,不会在受管集群上收集指标数据。如前文所述,首先验证 mco observability
是否已启用。
您可以在 metrics 名称的开头使用连字符 -
将默认指标名称添加到 metrics_list.yaml
参数中。例如: -cluster_infrastructure_provider
。
使用以下命令,在 open-cluster-management-observability
命名空间中创建 observability-metrics-custom-allowlist
ConfigMap:oc apply -n open-cluster-management-observability -f observability-metrics-custom-allowlist.yaml
。
验证特定指标是否没有从受管集群中收集。当您从 Grafana 仪表板查询指标时,指标不会显示。