4.2. 시계열 및 경고에 추가 라벨 연결
Prometheus의 외부 라벨 기능을 사용하여 Prometheus를 떠나는 모든 시계열 및 경고에 사용자 정의 레이블을 연결할 수 있습니다.
사전 요구 사항
핵심 OpenShift Container Platform 모니터링 구성 요소인 경우:
-
cluster-admin
클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다. -
cluster-monitoring-config
ConfigMap
오브젝트를 생성하셨습니다.
-
사용자 정의 프로젝트를 모니터링하는 구성 요소를 구성하는 경우:
-
cluster-admin
클러스터 역할의 사용자로 또는openshift-user-workload-monitoring
프로젝트에서user-workload-monitoring-config-edit
역할의 사용자로 클러스터에 액세스할 수 있습니다. -
user-workload-monitoring-config
ConfigMap
오브젝트가 생성되어 있습니다.
-
-
OpenShift CLI(
oc
)가 설치되어 있습니다.
절차
ConfigMap
오브젝트를 편집합니다.주요 OpenShift Container Platform 프로젝트를 모니터링하는 Prometheus 인스턴스를 남아 있는 모든 시계열 및 경고에 사용자 정의 라벨을 연결하려면 다음을 수행합니다.
openshift-monitoring
프로젝트에서cluster-monitoring-config
ConfigMap
오브젝트를 편집합니다.$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
data/config.yaml
아래의 모든 메트릭에 추가할 라벨 맵을 정의합니다.apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | prometheusK8s: externalLabels: <key>: <value> 1
- 1
<key>: <value>
를<key>
가 새 라벨에 고유한 이름이며<value>
가 값인 키-값 쌍의 맵으로 바꿉니다.
주의-
prometheus
또는prometheus_replica
를 키 이름으로 사용하지 마십시오. 예약되어 있으며 덮어쓸 예정이기 때문입니다. -
클러스터 또는
managed_
를 키 이름으로 사용하지 마십시오. 이를 사용하면 개발자 대시보드에서 데이터를 볼 수 없는 문제가 발생할 수 있습니다.cluster
예를 들어 모든 시계열 및 경고에 리전 및 환경에 대한 메타데이터를 추가하려면 다음 예제를 사용합니다.
apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | prometheusK8s: externalLabels: region: eu environment: prod
사용자 정의 프로젝트를 모니터링하는 Prometheus 인스턴스를 모든 시계열 및 경고에 연결하려면 다음을 수행합니다.
openshift-user-workload-monitoring
프로젝트에서user-workload-monitoring-config
ConfigMap
오브젝트를 편집합니다.$ 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
를 키 이름으로 사용하지 마십시오. 예약되어 있으며 덮어쓸 예정이기 때문입니다. -
클러스터 또는
managed_
를 키 이름으로 사용하지 마십시오. 이를 사용하면 개발자 대시보드에서 데이터를 볼 수 없는 문제가 발생할 수 있습니다.cluster
참고openshift-user-workload-monitoring
프로젝트에서 Prometheus는 메트릭을 처리하고 Thanos Ruler는 경고 및 레코딩 규칙을 처리합니다.user-workload-monitoring-config
ConfigMap
오브젝트에서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
파일을 저장하여 변경 사항을 적용합니다. 새 구성이 자동으로 적용됩니다.
참고클러스터 관리자가 사용자 정의 프로젝트에 대한 모니터링을 활성화하지 않는 한
user-workload-monitoring-config
ConfigMap
오브젝트에 적용되는 구성이 활성화되어 있지 않습니다.주의모니터링 구성 맵에 변경 사항이 저장되면 관련 프로젝트의 Pod 및 기타 리소스가 재배포될 수 있습니다. 해당 프로젝트에서 실행 중인 모니터링 프로세스도 다시 시작할 수 있습니다.
추가 리소스
- 모니터링 구성 맵을 생성하는 단계는 모니터링 스택 구성 준비를 참조하십시오.
- 사용자 정의 프로젝트 모니터링 활성화