라벨을 사용하면 측정항목의 특성을 구분할 수 있습니다. MonitoringTarget
커스텀 리소스를 사용하면 측정항목을 수집할 뿐만 아니라 선택적 관측 가능성 기능에 사용할 측정항목에 라벨을 지정할 수 있습니다.
측정항목 재라벨링에 대한 자세한 내용은 https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/를 참고하세요.
시작하기 전에
MonitoringTarget
커스텀 리소스를 관리하는 데 필요한 권한을 얻으려면 조직 IAM 관리자 또는 프로젝트 IAM 관리자에게 연결된 MonitoringTarget
역할 중 하나를 부여해 달라고 요청하세요.
필요한 액세스 수준과 권한에 따라 조직 또는 프로젝트에서 이 리소스에 대한 생성자, 편집자 또는 뷰어 역할을 획득할 수 있습니다. 자세한 내용은 IAM 권한 준비를 참고하세요.
다른 프로젝트로 측정항목 보내기
컨테이너 작성자는 자신이 소유하지 않은 프로젝트를 포함한 다른 프로젝트로 전송할 특정 측정항목을 코딩할 수 있습니다. 특정 프로젝트에 측정항목을 전송하려면 코드의 측정항목에 _gdch_project
라벨을 추가하고 값을 대상 프로젝트 이름으로 설정합니다.
또는 MonitoringTarget
커스텀 리소스를 사용하여 수집된 모든 측정항목 데이터를 다른 프로젝트로 전송합니다. metricsRelabelings
필드에서 _gdch_project
라벨을 타겟 라벨로 설정하고 새 프로젝트 이름을 대체 값으로 설정합니다.
다음 코드 샘플은 another-project-name
라는 프로젝트에 측정항목을 전송하기 위해 MonitoringTarget
커스텀 리소스에서 _gdch_project
타겟 라벨을 설정하는 방법을 보여줍니다.
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
정의 파일의 이름입니다.