2.9.2. 스크랩 샘플 경고 생성
다음의 경우를 알리는 경고를 생성할 수 있습니다.
-
대상을 스크랩할 수 없거나 지정된 기간
동안
사용할 수 없습니다. -
스크랩 샘플 임계값에 도달하거나 기간
동안
지정된 항목에 대해 초과하였습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 또는openshift-user-workload-monitoring
프로젝트에서user-workload-monitoring-config-edit
역할의 사용자로 클러스터에 액세스할 수 있습니다. - 사용자 정의 프로젝트에 대한 모니터링을 활성화했습니다.
-
user-workload-monitoring-config
ConfigMap
오브젝트가 생성되어 있습니다. -
enforcedSampleLimit
을 사용하여 사용자 정의 프로젝트에서 대상 스크랩별로 허용할 수 있는 샘플 수를 제한했습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
대상이 중단되는 경우 및 시행된 샘플 제한에 도달하는 경우를 알려주는 경고와 함께 YAML 파일을 생성합니다. 이 예제의 파일은
monitoring-stack-alerts.yaml
이라고 합니다.apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: labels: prometheus: k8s role: alert-rules name: monitoring-stack-alerts 1 namespace: ns1 2 spec: groups: - name: general.rules rules: - alert: TargetDown 3 annotations: message: '{{ printf "%.4g" $value }}% of the {{ $labels.job }}/{{ $labels.service }} targets in {{ $labels.namespace }} namespace are down.' 4 expr: 100 * (count(up == 0) BY (job, namespace, service) / count(up) BY (job, namespace, service)) > 10 for: 10m 5 labels: severity: warning 6 - alert: ApproachingEnforcedSamplesLimit 7 annotations: message: '{{ $labels.container }} container of the {{ $labels.pod }} pod in the {{ $labels.namespace }} namespace consumes {{ $value | humanizePercentage }} of the samples limit budget.' 8 expr: scrape_samples_scraped/50000 > 0.8 9 for: 10m 10 labels: severity: warning 11
- 1
- 경고 규칙의 이름을 정의합니다.
- 2
- 경고 규칙이 배포될 사용자 정의 프로젝트를 지정합니다.
- 3
- 대상을 스크랩할 수 없거나 기간
동안
사용할 수 없는 경우TargetDown
경고가 실행됩니다. - 4
TargetDown
경고가 실행되는 경우 출력될 메시지입니다.- 5
- 경고가 실행되기 전에
TargetDown
경고의 조건이 이 기간에 true여야 합니다. - 6
TargetDown
경고의 심각도를 정의합니다.- 7
- 정의된 스크랩 샘플 임계값에 도달하거나 기간
동안
지정된 항목에 대해 초과하면ApproachingEnforcedSamplesLimit
경고가 실행됩니다. - 8
ApproachingEnforcedSamplesLimit
경고가 실행될 때 출력되는 메시지입니다.- 9
ApproachingEnforcedSamplesLimit
경고의 임계값입니다. 이 예에서 대상 스크랩당 샘플 수가50000
개 중 80%를 초과하면 경고가 발생합니다. 또한 경고가 실행되기 전에기간
을 통과해야 합니다. 표현식scrape_samples_scraped/<number> > <threshold>
에 있는<number>
는user-workload-monitoring-config
ConfigMap
오브젝트에 정의된enforcedSampleLimit
값과 일치해야 합니다.- 10
- 경고가 실행되기 전에
ApproachingEnforcedSamplesLimit
경고의 조건이 이 기간에 true여야 합니다. - 11
ApproachingEnforcedSamplesLimit
경고의 심각도를 정의합니다.
사용자 정의 프로젝트에 구성을 적용합니다.
$ oc apply -f monitoring-stack-alerts.yaml
추가 리소스
- 사용자 정의 워크로드 모니터링 구성 맵 생성
- 사용자 정의 프로젝트 모니터링 활성화
- 스크랩 샘플이 가장 많은 메트릭을 쿼리하는 단계는 Prometheus가 많은 디스크 공간을 소비하는 이유 확인을 참조하십시오.