5.3. 在时间序列和警报中附加额外标签
您可以使用 Prometheus 的外部标签功能,将自定义标签附加到离开 Prometheus 的所有时间序列和警报。
先决条件
-
您可以使用具有
cluster-admin集群角色或具有openshift-user-workload-monitoring项目中的user-workload-monitoring-config-edit角色的用户访问集群。 - 集群管理员为用户定义的项目启用了监控。
-
已安装 OpenShift CLI(
oc)。
流程
编辑
openshift-user-workload-monitoring项目中的user-workload-monitoring-config配置映射:$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config在
data/config.yaml下定义您要为每个指标添加的标签:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | prometheus: externalLabels: <key>: <value>1 - 1
- 将
<key>: <value>替换为键值对,其中<key>是新标签的唯一名称,<value>是它的值。
警告-
不要使用
prometheus或prometheus_replica作为键的名称,因为它们是保留的并会被覆盖。 -
不要使用
cluster作为密钥名称。使用它可能会导致开发人员仪表板无法看到数据的问题。
注意在
openshift-user-workload-monitoring项目中,Prometheus 负责处理指标,而 Thanos Ruler 负责处理警报和记录规则。在user-workload-monitoring-configConfigMap中为prometheus设置externalLabels只会为指标配置外部标签,而不会为任何规则配置外部标签。例如,要将关于区域和环境的元数据添加到所有时间序列和警报中,请使用以下示例:
apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | prometheus: externalLabels: region: eu environment: prod- 保存文件以使改变生效。受新配置影响的 Pod 会自动重新部署。