9.7. 사용자 정의 Alertmanager 설정 적용

openshift-monitoring 프로젝트 내에서 alertmanager-main 시크릿을 편집하여 기본 Alertmanager 설정을 덮어쓸 수 있습니다.

사전 요구 사항

  • cluster-admin 클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다.

프로세스

CLI에서 Alertmanager 설정을 변경하려면 다음을 수행합니다.

  1. 현재 활성화된 Alertmanager 구성을 파일 alertmanager.yaml로 출력합니다.

    $ oc -n openshift-monitoring get secret alertmanager-main --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
  2. alertmanager.yaml에서 설정을 편집합니다.

    global:
      resolve_timeout: 5m
    route:
      group_wait: 30s 1
      group_interval: 5m 2
      repeat_interval: 12h 3
      receiver: default
      routes:
      - matchers:
        - "alertname=Watchdog"
        repeat_interval: 2m
        receiver: watchdog
      - matchers:
        - "service=<your_service>" 4
        routes:
        - matchers:
          - <your_matching_rules> 5
          receiver: <receiver> 6
    receivers:
    - name: default
    - name: watchdog
    - name: <receiver>
    #  <receiver_configuration>
    1
    group_wait 값은 경고 그룹에 대한 초기 알림을 보내기 전에 Alertmanager 대기 기간을 지정합니다. 이 값은 알림을 보내기 전에 동일한 그룹에 대한 초기 경고를 수집하는 동안 Alertmanager가 대기하는 시간을 제어합니다.
    2
    group_interval 값은 Alertmanager가 초기 알림이 이미 전송된 경고 그룹에 추가된 새 경고에 대한 알림을 보내기 전에 경과해야 하는 시간을 지정합니다.
    3
    repeat_interval 값은 경고 알림을 반복하기 전에 전달해야 하는 최소 시간을 지정합니다. 각 그룹 간격마다 알림을 반복하려면 repeat_interval 값을 group_interval 값보다 적도록 설정합니다. 그러나 반복된 알림은 특정 Alertmanager Pod가 재시작되거나 다시 예약되는 경우와 같이 계속 지연될 수 있습니다.
    4
    서비스 값은 경고를 실행하는 서비스를 지정합니다.
    5
    & lt;your_matching_rules& gt; 값은 대상 경고를 지정합니다.
    6
    수신자 값은 경고에 사용할 수신자를 지정합니다.
    참고

    일치자 키 이름을 사용하여 노드와 일치하도록 경고가 충족해야 하는 일치 항목을 나타냅니다. 더 이상 사용되지 않고 향후 릴리스에서 제거될 예정인 match 또는 match_re 키 이름을 사용하지 마십시오.

    또한 억제 규칙을 정의하는 경우 target_matchers 키 이름을 사용하여 대상 일치 항목과 source_matchers 키 이름을 지정하여 소스 일치 항목을 나타냅니다. target_match , target_match _re,source_match 또는 source_match_re 키 이름을 사용하지 마십시오. 이 이름은 더 이상 사용되지 않고 향후 릴리스에서 제거될 예정입니다.

    다음 Alertmanager 설정 예제에서는 PagerDuty를 경고 수신자로 구성합니다.

    global:
      resolve_timeout: 5m
    route:
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 12h
      receiver: default
      routes:
      - matchers:
        - "alertname=Watchdog"
        repeat_interval: 2m
        receiver: watchdog
      - matchers:
        - "service=example-app"
        routes:
        - matchers:
          - "severity=critical"
          receiver: team-frontend-page*
    receivers:
    - name: default
    - name: watchdog
    - name: team-frontend-page
      pagerduty_configs:
      - service_key: "_your-key_"

    이 설정을 사용하면 example-app 서비스에서 실행되는 critical 심각도 경고가 team-frontend-page 수신자를 사용하여 전송됩니다. 일반적으로 이러한 유형의 경고는 개인 또는 문제 대응팀으로 호출됩니다.

  3. 파일에 새 설정을 적용합니다.

    $ oc -n openshift-monitoring create secret generic alertmanager-main --from-file=alertmanager.yaml --dry-run=client -o=yaml |  oc -n openshift-monitoring replace secret --filename=-

OpenShift Container Platform 웹 콘솔에서 Alertmanager 설정을 변경하려면 다음을 수행합니다.

  1. 웹 콘솔의 관리 → 클러스터 설정구성AlertmanagerYAML 페이지로 이동합니다.
  2. YAML 설정 파일을 수정합니다.
  3. 저장을 선택합니다.

추가 리소스