라벨 측정항목

라벨을 사용하면 측정항목의 특성을 구분할 수 있습니다. MonitoringTarget 커스텀 리소스를 사용하면 측정항목을 수집할 뿐만 아니라 선택적 관측 가능성 기능에 사용할 측정항목에 라벨을 지정할 수 있습니다.

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

시작하기 전에

MonitoringTarget 커스텀 리소스를 관리하는 데 필요한 권한을 얻으려면 조직 IAM 관리자 또는 프로젝트 IAM 관리자에게 연결된 MonitoringTarget 역할 중 하나를 부여해 달라고 요청하세요.

필요한 액세스 수준과 권한에 따라 조직 또는 프로젝트에서 이 리소스에 대한 생성자, 편집자 또는 뷰어 역할을 획득할 수 있습니다. 자세한 내용은 IAM 권한 준비를 참고하세요.

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

컨테이너 작성자는 소유하지 않은 프로젝트를 포함하여 다른 프로젝트로 전송할 특정 측정항목을 코딩할 수 있습니다. 특정 프로젝트에 측정항목을 전송하려면 코드의 측정항목에 _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 필드에 원래 측정항목 이름과 대체 이름을 설정합니다. 원래 이름은 정규 표현식으로 처리되며 새 이름으로 대체됩니다.

다음 코드 샘플은 MonitoringTarget 맞춤 리소스에서 cpu_usage 측정항목 이름(정규식)을 cpu_usage_new_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
        regex: cpu_usage
        replacement: cpu_usage_new_name
        sourceLabels: [__name__]
        targetLabel: __name__
      [...]

다음을 바꿉니다.

  • PROJECT_NAMESPACE: 프로젝트 네임스페이스
  • MONITORING_TARGET_NAME: MonitoringTarget 정의 파일의 이름입니다.