라벨 측정항목

시작하기 전에

측정항목에 라벨을 지정하거나 측정항목 라벨을 보는 데 필요한 권한을 얻으려면 프로젝트 IAM 관리자에게 프로젝트 네임스페이스에서 다음 역할 중 하나를 부여해 달라고 요청하세요.

  • 모니터링 대상 편집자: MonitoringTarget 맞춤 리소스를 수정합니다. 모니터링 타겟 편집자 (monitoringtarget-editor) 역할을 요청합니다.
  • Monitoring Target Viewer: MonitoringTarget 커스텀 리소스를 확인합니다. 모니터링 대상 뷰어 (monitoringtarget-viewer) 역할을 요청합니다.

라벨을 사용하면 측정항목의 특성을 구분할 수 있습니다. 측정항목 수집 외에도 MonitoringTarget 커스텀 리소스를 사용하면 다음과 같은 선택적 기능의 측정항목에 라벨을 지정할 수 있습니다.

측정항목 라벨 재지정에 관한 자세한 내용은 https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/를 참고하세요.

다른 프로젝트로 측정항목 보내기

컨테이너 작성자는 프로젝트가 다른 GDC 페르소나에 해당하는 경우에도 시스템 모니터링을 위해 시스템이 특정 측정항목을 다른 프로젝트로 전송해야 한다고 코드에 작성할 수 있습니다. 특정 프로젝트에 측정항목을 전송하려면 코드의 측정항목에 _gdch_project 라벨을 추가합니다. 값을 특정 관측 가능성 측정항목을 소유할 프로젝트의 이름으로 설정합니다. 예를 들면 "_gdch_project": "another-project-name"입니다.

또는 MonitoringTarget 맞춤 리소스를 사용하여 수집된 모든 측정항목 데이터를 데이터 관찰 가능성을 위해 다른 프로젝트로 전송합니다. 이렇게 하려면 _gdch_project 라벨을 metricsRelabelings 필드의 타겟 라벨로 설정하고 대체 값을 설정합니다.

다음 코드 샘플은 MonitoringTarget 커스텀 리소스에서 _gdch_project 라벨 값을 another-project-name로 바꾸는 방법을 보여줍니다.

apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods
  namespace: PROJECT_NAMESPACE
  name: string
spec:
  ...
  podMetricsEndpoints:
    ...
    metricsRelabelings:
      ...
      - action: replace
        targetLabel: _gdch_project
        replacement: another-project-name

PROJECT_NAMESPACE을 프로젝트의 네임스페이스로 바꿉니다.

측정항목에 새 라벨 추가

라벨은 측정항목의 다양한 특성을 식별할 수 있으므로 데이터 관측 가능성 및 시스템 모니터링에 유용합니다. 스크랩된 컨테이너가 처음에는 노출하지 않는 측정항목에 새 라벨을 추가할 수 있습니다. MonitoringTarget 맞춤 리소스에서 새 라벨을 타겟으로 설정하고 라벨의 값으로 제공할 대체 항목을 설정합니다. 시스템은 데이터 관측 가능성 목적으로 맞춤 리소스가 수집하는 모든 측정항목에 새 키-값 쌍을 추가합니다.

다음 코드 샘플은 MonitoringTarget 맞춤 리소스에서 my_new_label 라벨을 추가하고 값을 my_label_value로 설정하는 방법을 보여줍니다.

apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods
  namespace: PROJECT_NAMESPACE
  name: string
spec:
  ...
  podMetricsEndpoints:
    ...
    metricsRelabelings:
      ...
      - action: replace
        targetLabel: my_new_label
        replacement: my_label_value

PROJECT_NAMESPACE을 프로젝트의 네임스페이스로 바꿉니다.

측정항목 이름 바꾸기

MonitoringTarget CR에서 컨테이너가 생성하는 측정항목의 이름을 완전히 바꿀 수 있습니다. metricsRelabelings 필드에 측정항목의 원래 이름과 대체 이름을 설정합니다. 맞춤 리소스는 원래 측정항목 이름을 정규 표현식으로 가져와 추가한 새 이름으로 바꿉니다.

다음 코드 샘플은 MonitoringTarget CR에서 cpu_usage 측정항목 이름을 cpu_usage_new_name으로 바꾸는 방법을 보여줍니다.

apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods
  namespace: PROJECT_NAMESPACE
  name: string
spec:
  ...
  podMetricsEndpoints:
    ...
    metricsRelabelings:
      ...
      - action: replace
        regex: cpu_usage
        replacement: cpu_usage_new_name
        sourceLabels: [__name__]
        targetLabel: __name__

PROJECT_NAMESPACE을 프로젝트의 네임스페이스로 바꿉니다.