라벨을 사용하면 측정항목의 특성을 구분할 수 있습니다. 측정항목을 수집하는 것 외에도
MonitoringTarget 커스텀 리소스를 사용하면 선택적
관측 가능성 기능의 측정항목에 라벨을 지정할 수 있습니다.
측정항목 재라벨링에 대한 자세한 내용은 https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/를 참고하세요.
시작하기 전에
MonitoringTarget 커스텀 리소스를 관리하려면 필요한 권한이 있어야 합니다.
IAM 조직 역할 요청
조직 IAM 관리자에게 문의하여 다음 역할을 요청하세요.
- MonitoringTarget PA 생성자 (
monitoringtarget-pa-creator):MonitoringTarget커스텀 리소스를 만듭니다. - MonitoringTarget PA 편집자 (
monitoringtarget-pa-editor):MonitoringTarget커스텀 리소스를 수정합니다. - MonitoringTarget PA 뷰어 (
monitoringtarget-pa-viewer~): viewMonitoringTarget` 커스텀 리소스를 봅니다.
IAM 프로젝트 역할 요청
프로젝트 IAM 관리자에게 문의하여 다음 역할을 요청하세요.
- MonitoringTarget 편집자 (
monitoringtarget-editor): 프로젝트 네임스페이스에서MonitoringTarget커스텀 리소스를 수정합니다. - MonitoringTarget 뷰어 (
monitoringtarget-viewer): 프로젝트 네임스페이스에서MonitoringTarget커스텀 리소스를 봅니다.
측정항목을 다른 프로젝트로 전송
컨테이너 작성자는 소유하지 않은 프로젝트를 포함하여 다른 프로젝트로 전송할 특정 측정항목을 코딩할 수 있습니다. 특정 프로젝트로 측정항목을 전송하려면 코드의 측정항목에 _gdch_project 라벨을 추가하고 값을 대상 프로젝트 이름으로 설정합니다.
또는 MonitoringTarget 커스텀 리소스를 사용하여 수집된 모든 측정항목 데이터를 다른 프로젝트로 전송합니다. metricsRelabelings 필드에서 _gdch_project 라벨을 대상 라벨로 설정하고 새 프로젝트 이름을 대체 값으로 설정합니다.
다음 코드 샘플에서는 MonitoringTarget 커스텀 리소스에서 _gdch_project 대상 라벨을 설정하여 another-project-name이라는 프로젝트로 측정항목을 전송하는 방법을 보여줍니다.
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
# Choose the same namespace as the workload pods.
namespace: PROJECT_NAMESPACE
name: MONITORING_TARGET_NAME
spec:
[...]
podMetricsEndpoints:
[...]
metricsRelabelings:
- action: replace
targetLabel: _gdch_project
replacement: another-project-name
[...]
다음을 바꿉니다.
PROJECT_NAMESPACE: 프로젝트 네임스페이스입니다.MONITORING_TARGET_NAME:MonitoringTarget정의 파일의 이름입니다.
측정항목에 새 라벨 추가
라벨은 측정항목 특성을 식별하여 관측 가능성과 모니터링에 도움이 됩니다. 스크레이핑된 컨테이너가 처음에는 노출하지 않는 라벨을 추가할 수 있습니다. MonitoringTarget 커스텀 리소스에서 새 라벨을 타겟으로 설정하고 대체 값을 제공합니다. 이 키-값 쌍은 리소스가 수집하는 모든 측정항목에 추가됩니다.
다음 코드 샘플에서는 MonitoringTarget 커스텀 리소스에서 my_new_label 대상 라벨을 설정하고 값을 my_label_value로 구성하는 방법을 보여줍니다.
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
# Choose the same namespace as the workload pods.
namespace: PROJECT_NAMESPACE
name: MONITORING_TARGET_NAME
spec:
[...]
podMetricsEndpoints:
[...]
metricsRelabelings:
- action: replace
targetLabel: my_new_label
replacement: my_label_value
[...]
다음을 바꿉니다.
PROJECT_NAMESPACE: 프로젝트 네임스페이스입니다.MONITORING_TARGET_NAME:MonitoringTarget정의 파일의 이름입니다.
측정항목 이름 바꾸기
MonitoringTarget 리소스를 사용하여 컨테이너의 측정항목 이름을 바꿀 수 있습니다. metricsRelabelings 필드에서 원래 측정항목 이름과 대체 이름을 설정합니다.
원래 이름은 정규 표현식 (regex)으로 처리되며 새 이름으로 대체됩니다.
다음 코드 샘플에서는 cpu_usage 측정항목 이름
(정규 표현식)을 cpu_usage_new_name으로 바꾸는 방법을 보여줍니다.MonitoringTarget
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
# Choose the same namespace as the workload pods.
namespace: PROJECT_NAMESPACE
name: MONITORING_TARGET_NAME
spec:
[...]
podMetricsEndpoints:
[...]
metricsRelabelings:
- action: replace
regex: cpu_usage
replacement: cpu_usage_new_name
sourceLabels: [__name__]
targetLabel: __name__
[...]
다음을 바꿉니다.
PROJECT_NAMESPACE: 프로젝트 네임스페이스입니다.MONITORING_TARGET_NAME:MonitoringTarget정의 파일의 이름입니다.