9.6. 외부 시스템에 알림 전송

OpenShift Container Platform 4.10에서는 알림 UI에서 실행 경고를 볼 수 있습니다. 알림은 기본적으로 모든 알림 시스템으로 전송되지 않습니다. 다음 수신자 유형으로 알림을 전송하도록 OpenShift Container Platform을 구성할 수 있습니다.

  • PagerDuty
  • Webhook
  • 이메일
  • Slack

알림을 수신기로 라우팅하면 오류가 발생할 때 적절한 팀에게 적절한 알림을 보낼 수 있습니다. 예를 들어, 심각한 경고는 즉각적인 주의가 필요하며 일반적으로 개인 또는 문제 대응팀으로 호출됩니다. 심각하지 않은 경고 알림을 제공하는 경고는 즉각적이지 않은 검토를 위해 티켓팅 시스템으로 라우팅할 수 있습니다.

워치독 경고를 사용하여 해당 경고가 제대로 작동하는지 확인

OpenShift Container Platform 모니터링에는 지속적으로 트리거되는 워치독 경고가 포함되어 있습니다. Alertmanager는 구성된 알림 공급자에게 워치독 경고 알림을 반복적으로 보냅니다. 일반적으로 공급자는 워치독 경고를 수신하지 않을 때 관리자에게 알리도록 구성됩니다. 이 메커니즘을 사용하면 Alertmanager와 알림 공급자 간의 모든 통신 문제를 빠르게 식별할 수 있습니다.

9.6.1. 경고 수신자 구성

클러스터의 중요한 문제를 파악할 수 있도록 경고 수신자를 설정할 수 있습니다.

사전 요구 사항

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

절차

  1. 관리자 관점에서 관리클러스터 설정구성Alertmanager 로 이동합니다.

    참고

    또는 알림 창을 통해 동일한 페이지로 이동할 수 있습니다. OpenShift Container Platform 웹 콘솔의 오른쪽 상단에서 호출 아이콘을 선택하고 AlertmanagerReceiverNotConfigured 경고에서 구성을 선택합니다.

  2. 이 페이지의 수신자 섹션에서 수신자 만들기를 선택합니다.
  3. 수신자 만들기에서 수신자 이름을 추가하고 목록에서 수신자 유형을 선택합니다.
  4. 수신자 구성을 편집합니다.

    • PagerDuty 수신자의 경우:

      1. 통합 유형을 선택하고 PagerDuty 통합 키를 추가합니다.
      2. PagerDuty 설치의 URL을 추가합니다.
      3. 클라이언트와 인스턴스 세부 정보 또는 심각도 사양을 편집하려면 고급 설정 표시를 선택합니다.
    • Webhook 수신자의 경우:

      1. HTTP POST 요청이 전송되는 끝점을 추가합니다.
      2. 해결된 경보를 수신자에게 보내는 기본 옵션을 편집하려면 고급 설정 표시를 선택합니다.
    • 이메일 수신자의 경우:

      1. 알림을 받을 이메일 주소를 추가합니다.
      2. 알림을 전송할 주소, 이메일 전송에 사용되는 스마트 호스트 및 포트 번호, SMTP 서버의 호스트 이름, 인증 세부 정보를 포함하여 SMTP 구성 세부 정보를 추가합니다.
      3. TLS가 필요한지 여부를 선택합니다.
      4. 해결된 경고를 수신자에게 보내지 않도록 기본 옵션을 편집하거나 이메일 알림 구성을 편집하려면 고급 설정 표시를 선택합니다.
    • Slack 수신자의 경우:

      1. Slack Webhook의 URL을 추가합니다.
      2. 알림을 보낼 Slack 채널 또는 사용자 이름을 추가합니다.
      3. 해결된 경고를 수신자에게 보내지 않도록 기본 옵션을 편집하거나 아이콘 및 사용자 이름 구성을 편집하려면 고급 설정 표시를 선택합니다. 채널 이름과 사용자 이름을 찾고 연결할지 여부를 선택할 수도 있습니다.
  5. 기본적으로 모든 선택 항목과 일치하는 라벨을 사용하여 경고를 수신자에게 보냅니다. 수신자로 전송되기 전에 실행 경고에 대한 라벨 값을 정확히 일치시키려면 다음을 수행하십시오.

    1. 양식의 라우팅 라벨 섹션에 라우팅 라벨 이름과 값을 추가합니다.
    2. 정규식을 사용하려면 정규식을 선택합니다.
    3. 라벨 추가를 선택하여 추가 라우팅 라벨을 추가합니다.
  6. 만들기를 선택하여 수신자를 생성합니다.

9.6.2. 사용자 정의 프로젝트에 대한 경고 라우팅 생성

중요

사용자 정의 프로젝트에 대한 경고 라우팅은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 를 참조하십시오.

alert-routing-edit 클러스터 역할이 지정된 관리자가 아닌 사용자인 경우 사용자 정의 프로젝트에 대한 경고 라우팅을 생성하거나 편집할 수 있습니다.

사전 요구 사항

  • 클러스터 관리자가 사용자 정의 프로젝트에 대한 모니터링을 활성화했습니다.
  • 클러스터 관리자가 사용자 정의 프로젝트에 대한 경고 라우팅을 활성화했습니다.
  • 경고 라우팅을 생성하려는 프로젝트에 대한 alert-routing-edit 클러스터 역할이 있는 사용자로 로그인했습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

절차

  1. 경고 라우팅을 위한 YAML 파일을 만듭니다. 이 절차의 예제에서는 example-app-alert-routing.yaml 파일을 사용합니다.
  2. AlertmanagerConfig YAML 정의를 파일에 추가합니다. 예를 들면 다음과 같습니다.

    apiVersion: monitoring.coreos.com/v1alpha1
    kind: AlertmanagerConfig
    metadata:
      name: example-routing
      namespace: ns1
    spec:
      route:
        receiver: default
        groupBy: [job]
      receivers:
      - name: default
        webhookConfigs:
        - url: https://example.org/post
    참고

    사용자 정의 경고 규칙의 경우 사용자 정의 라우팅은 리소스가 정의된 네임스페이스로 범위가 지정됩니다. 예를 들어 네임스페이스 ns1AlertmanagerConfig 오브젝트에 정의된 라우팅 구성은 동일한 네임스페이스의 PrometheusRules 리소스에만 적용됩니다.

  3. 파일을 저장합니다.
  4. 클러스터에 리소스를 적용합니다.

    $ oc apply -f example-app-alert-routing.yaml

    해당 구성은 Alertmanager Pod에 자동으로 적용됩니다.