2.9.2. 스크랩 샘플 경고 생성

다음의 경우를 알리는 경고를 생성할 수 있습니다.

  • 대상을 스크랩할 수 없거나 지정된 기간 동안 사용할 수 없습니다.
  • 스크랩 샘플 임계값에 도달하거나 기간 동안 지정된 항목에 대해 초과하였습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 또는 openshift-user-workload-monitoring 프로젝트에서 user-workload-monitoring-config-edit 역할의 사용자로 클러스터에 액세스할 수 있습니다.
  • 사용자 정의 프로젝트에 대한 모니터링을 활성화했습니다.
  • user-workload-monitoring-config ConfigMap 오브젝트가 생성되어 있습니다.
  • enforcedSampleLimit을 사용하여 사용자 정의 프로젝트에서 대상 스크랩별로 허용할 수 있는 샘플 수를 제한했습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  1. 대상이 중단되는 경우 및 시행된 샘플 제한에 도달하는 경우를 알려주는 경고와 함께 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 경고의 심각도를 정의합니다.
  2. 사용자 정의 프로젝트에 구성을 적용합니다.

    $ oc apply -f monitoring-stack-alerts.yaml