9.8. 알림을 전송하도록 Alertmanager 구성


기본 플랫폼 경고 또는 사용자 정의 경고에 대한 alertmanager-main 시크릿을 편집하여 알림을 보내도록 Alertmanager를 구성할 수 있습니다.

참고

지원되는 업스트림 Alertmanager 버전의 모든 기능은 OpenShift Alertmanager 구성에서도 지원됩니다. 지원되는 업스트림 Alertmanager 버전의 모든 구성 옵션을 확인하려면 Alertmanager 설정을 참조하십시오.

9.8.1. 기본 플랫폼 경고에 대한 알림 구성

클러스터에서 들어오는 중요한 경고를 수신하도록 알림을 보내도록 Alertmanager를 구성할 수 있습니다. openshift-monitoring 네임스페이스의 alertmanager-main 시크릿에서 기본 구성을 편집하여 Alertmanager가 기본 플랫폼 경고에 대한 알림을 전송하는 위치와 방법을 사용자 지정합니다.

중요

Alertmanager는 기본적으로 알림을 보내지 않습니다. alertmanager-main 시크릿 구성 파일에서 알림 세부 정보를 설정하여 알림을 수신하도록 Alertmanager를 구성하는 것이 좋습니다.

사전 요구 사항

  • cluster-admin 클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  1. alertmanager-main 보안에서 현재 활성화된 Alertmanager 구성을 추출하여 로컬 alertmanager.yaml 파일로 저장합니다.

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

    1. 선택 사항: 기본 Alertmanager 설정을 변경합니다.

      기본 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
      receivers:
      - name: default
      - name: watchdog

      1
      알림을 보내기 전에 경고 그룹에 대한 초기 경고를 수집하는 동안 Alertmanager가 대기하는 시간을 지정합니다.
      2
      Alertmanager가 새 경고에 대한 알림을 보내기 전에 초기 알림이 이미 전송된 경고 그룹에 추가된 알림을 보내기 전에 경과해야 하는 시간을 지정합니다.
      3
      경고 알림을 반복하기 전에 전달해야 하는 최소 시간을 지정합니다. 각 그룹 간격마다 알림을 반복하려면 repeat_interval 값을 group_interval 값보다 적도록 설정합니다. 예를 들어 특정 Alertmanager Pod를 다시 시작하거나 다시 예약하는 경우 반복된 알림이 계속 지연될 수 있습니다.
    2. 경고 수신자 구성을 추가합니다.

      # ...
      receivers:
      - name: default
      - name: watchdog
      - name: <receiver> 
      1
      
        <receiver_configuration> 
      2
      
      # ...
      1
      수신자의 이름입니다.
      2
      수신자 구성입니다. 지원되는 수신자는 PagerDuty, webhook, email, Slack 및 Microsoft Teams입니다.

      PagerDuty를 경고 수신자로 구성하는 예

      # ...
      receivers:
      - name: default
      - name: watchdog
      - name: team-frontend-page
        pagerduty_configs:
        - routing_key: xxxxxxxxxx 
      1
      
      # ...

      PagerDuty 통합 키를 정의합니다.

      이메일을 경고 수신자로 구성하는 예

      # ...
      receivers:
      - name: default
      - name: watchdog
      - name: team-frontend-page
        email_configs:
          - to: myemail@example.com 
      1
      
            from: alertmanager@example.com 
      2
      
            smarthost: 'smtp.example.com:587' 
      3
      
            auth_username: alertmanager@example.com  
      4
      
            auth_password: password
            hello: alertmanager 
      5
      
      # ...

      1 1 1
      알림을 보낼 이메일 주소를 지정합니다.
      2 2
      알림을 보낼 이메일 주소를 지정합니다.
      3
      포트 번호를 포함하여 이메일 전송에 사용되는 SMTP 서버 주소를 지정합니다.
      4
      Alertmanager에서 SMTP 서버에 연결하는 데 사용하는 인증 자격 증명을 지정합니다. 이 예에서는 사용자 이름과 암호를 사용합니다.
      5
      SMTP 서버로 식별할 호스트 이름을 지정합니다. 이 매개변수를 포함하지 않으면 호스트 이름이 기본적으로 localhost 로 설정됩니다.
      중요

      Alertmanager에는 이메일 경고를 보내는 외부 SMTP 서버가 필요합니다. 이메일 경고 수신자를 구성하려면 외부 SMTP 서버에 필요한 연결 세부 정보가 있어야 합니다.

    3. 라우팅 구성을 추가합니다.

      # ...
      route:
        group_wait: 30s
        group_interval: 5m
        repeat_interval: 12h
        receiver: default
        routes:
        - matchers:
          - "alertname=Watchdog"
          repeat_interval: 2m
          receiver: watchdog
        - matchers: 
      1
      
          - "<your_matching_rules>" 
      2
      
          receiver: <receiver> 
      3
      
      # ...
      1
      matchers 키 이름을 사용하여 노드와 일치하도록 경고가 충족해야 하는 일치하는 규칙을 지정합니다. 억제 규칙을 정의하는 경우 대상 matchers에 target_matchers 키 이름을 사용하고 소스 matchers에 source_matchers 키 이름을 사용합니다.
      2
      경고와 일치하도록 라벨을 지정합니다.
      경고에 사용할 수신자 이름을 지정합니다.
      주의

      더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정인 일치 , match _re ,target _match, target _match_re,source_match _re 키 이름을 사용하지 마십시오.

      경고 라우팅의 예

      # ...
      route:
        group_wait: 30s
        group_interval: 5m
        repeat_interval: 12h
        receiver: default
        routes:
        - matchers:
          - "alertname=Watchdog"
          repeat_interval: 2m
          receiver: watchdog
        - matchers: 
      1
      
          - "service=example-app"
          routes: 
      2
      
          - matchers:
            - "severity=critical"
            receiver: team-frontend-page
      # ...

      1 1
      이 예는 example-app 서비스의 경고와 일치합니다.
      2 2
      더 복잡한 경고 라우팅을 위해 다른 경로 내에 경로를 생성할 수 있습니다.

      이전 예제에서는 example-app 서비스에서 실행하는 심각 심각도의 경고를 team-frontend-page 수신자로 라우팅합니다. 일반적으로 이러한 유형의 경고는 개인 또는 심각한 대응 팀으로 호출됩니다.

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

    $ 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=-
  5. 라우팅 트리를 시각화하여 라우팅 구성을 확인합니다.

    $ oc exec alertmanager-main-0 -n openshift-monitoring -- amtool config routes show --alertmanager.url http://localhost:9093

    출력 예

    Routing tree:
    .
    └── default-route  receiver: default
        ├── {alertname="Watchdog"}  receiver: Watchdog
        └── {service="example-app"}  receiver: default
            └── {severity="critical"}  receiver: team-frontend-page

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동