1.5. 경고 관리


허브 클러스터 및 관리 클러스터 활동을 모두 모니터링하고, 허브 클러스터의 Alertmanager에 플랫폼 및 사용자 워크로드 경고를 전달하며 Slack, 이메일 또는 PagerDuty와 같은 외부 시스템으로 알림을 라우팅하도록 Observability 경고를 구성합니다.

자세한 내용을 보려면 계속 읽으십시오.

1.5.1. 사전 요구 사항

다음 인증 정보가 있어야 하며 경고를 관리하려면 다음 작업을 완료해야 합니다.

  • 허브 클러스터에서 Observability를 활성화합니다.
  • open-cluster-management-observability 네임스페이스에서 Secret 리소스에 대한 생성 권한이 있어야 합니다.
  • MultiClusterObservability 리소스에 대한 편집 권한이 있어야 합니다.
  • 다시 시작하는 동안 메트릭 손실을 방지할 수 있도록 관리형 클러스터에서 Prometheus 인스턴스를 구성합니다. 자세한 내용은 OpenShift Container Platform 설명서에서 영구 스토리지 구성 을 참조하십시오.
  • 관리 클러스터에서 사용자 워크로드 모니터링 및 경고를 활성화합니다. 자세한 내용은 OpenShift Container Platform 설명서에서 사용자 워크로드 모니터링경고 관리를 참조하십시오.
  • Prometheus의 사용자 워크로드의 경우 openshift-user-workload-monitoring 네임스페이스에 배포된 사용자 워크로드 Prometheus만 경고 규칙을 평가하고 Thanos Ruler 인스턴스가 처리하지 못하도록 규칙을 경고하는 레이블을 추가합니다. 자세한 내용은 OpenShift Container Platform 설명서에서 사용자 정의 프로젝트에 대한 경고 규칙 생성 을 참조하십시오.

1.5.2. Alertmanager 구성

이메일, Slack, PagerDuty와 같은 외부 메시징 도구를 통합하여 Alertmanager에서 알림을 수신합니다. 통합을 추가하려면 open-cluster-management-observability 네임스페이스에서 alertmanager-config 시크릿을 재정의하고 Alertmanager의 경로를 구성해야 합니다. 사용자 정의 수신자 규칙을 업데이트하려면 다음 단계를 완료합니다.

  1. alertmanager-config 시크릿에서 데이터를 추출합니다. 다음 명령을 실행합니다.

    oc -n open-cluster-management-observability get secret alertmanager-config --template='{{ index .data "alertmanager.yaml" }}' |base64 -d > alertmanager.yaml
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 alertmanager.yaml 파일 구성을 편집하고 저장합니다.

    oc -n open-cluster-management-observability create secret generic alertmanager-config --from-file=alertmanager.yaml --dry-run -o=yaml |  oc -n open-cluster-management-observability replace secret --filename=-
    Copy to Clipboard Toggle word wrap

    업데이트된 시크릿은 다음 콘텐츠와 유사할 수 있습니다.

    global
      smtp_smarthost: 'localhost:25'
      smtp_from: 'alertmanager@example.org'
      smtp_auth_username: 'alertmanager'
      smtp_auth_password: 'password'
    templates:
    - '/etc/alertmanager/template/*.tmpl'
    route:
      group_by: ['alertname', 'cluster', 'service']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 3h
      receiver: team-X-mails
      routes:
      - match_re:
          service: ^(foo1|foo2|baz)$
        receiver: team-X-mails
    Copy to Clipboard Toggle word wrap

시크릿을 수정한 후 변경 사항이 즉시 적용됩니다. Alertmanager의 예는 prometheus/alertmanager 를 참조하십시오.

1.5.3. Alertmanager에서 타사 엔드포인트로의 통신 보안

Kubernetes Secret 리소스를 통해 인증 정보를 안전하고 관리할 수 있도록 하여 Alertmanager에서 Slack, 이메일, PagerDuty와 같은 타사 엔드포인트에서 보안 외부 통신을 활성화합니다. 권한 부여 인증 정보에 액세스하기 위해 alertmanager Pod 내에 마운트할 수 있는 임의의 콘텐츠로 Secret 리소스를 생성할 수 있습니다.

Alertmanager 구성 내에서 시크릿을 참조하려면 open-cluster-management-observability 네임스페이스에 Secret 리소스 콘텐츠를 추가하고 해당 콘텐츠를 alertmanager Pod에 마운트합니다. 예를 들어 tls 시크릿을 생성하고 마운트하려면 다음 단계를 완료합니다.

  1. TLS 인증서를 사용하여 tls 보안을 생성하려면 다음 명령을 실행합니다.

    oc create secret tls tls --cert=</path/to/cert.crt> --key=</path/to/cert.key> -n open-cluster-management-observability
    Copy to Clipboard Toggle word wrap
  2. tls 시크릿을 MultiClusterObservability 리소스에 마운트하려면 고급 섹션에 추가합니다. 리소스는 다음 콘텐츠와 유사할 수 있습니다.

    ...
    advanced:
     alertmanager:
       secrets: ['tls']
    Copy to Clipboard Toggle word wrap
  3. Alertmanager 설정 내에 tls 시크릿 참조를 추가하려면 구성에 시크릿 경로를 추가합니다. 리소스는 다음 구성과 유사할 수 있습니다.

    tls_config:
     cert_file: '/etc/alertmanager/secrets/tls/tls.crt'
     key_file: '/etc/alertmanager/secrets/tls/tls.key'
    Copy to Clipboard Toggle word wrap
  4. 보안이 alertmanager pod 내에 있는지 확인하려면 다음 명령을 실행합니다.

    oc -n open-cluster-management-observability get secret alertmanager-config --template='{{ index .data "alertmanager.yaml" }}' |base64 -d > alertmanager.yaml
    Copy to Clipboard Toggle word wrap

    YAML은 다음 내용과 유사할 수 있습니다.

    "global":
      "http_config":
        "tls_config":
          "cert_file": "/etc/alertmanager/secrets/storyverify/tls.crt"
          "key_file": "/etc/alertmanager/secrets/storyverify/tls.key"
    Copy to Clipboard Toggle word wrap
  5. alertmanager.yaml 구성을 alertmanager-config 시크릿에 저장하려면 다음 명령을 실행합니다.

    oc -n open-cluster-management-observability create secret generic alertmanager-config --from-file=alertmanager.yaml --dry-run -o=yaml
    Copy to Clipboard Toggle word wrap
  6. 이전 보안을 새 보안으로 교체하려면 다음 명령을 실행합니다.

    oc -n open-cluster-management-observability replace secret --filename=-
    Copy to Clipboard Toggle word wrap

1.5.4. 경고 전달

Observability를 활성화하면 OpenShift Container Platform 관리 클러스터의 경고가 허브 클러스터의 Alertmanager로 자동으로 전송됩니다. 기본적으로 모든 플랫폼 경고는 허브 클러스터의 Alertmanager로 전송됩니다. OpenShift Container Platform 관리 클러스터에서 사용자 워크로드 경고를 활성화하면 사용자 워크로드 경고도 허브 클러스터로 전송됩니다. alertmanager-config YAML 파일을 사용하여 외부 알림 시스템으로 경고를 구성할 수 있습니다.

alertmanager-config YAML 파일의 다음 예제를 확인합니다.

global:
  slack_api_url: '<slack_webhook_url>'

route:
  receiver: 'slack-notifications'
  group_by: [alertname, datacenter, app]

receivers:
- name: 'slack-notifications'
  slack_configs:
  - channel: '#alerts'
    text: 'https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}'
Copy to Clipboard Toggle word wrap

경고 전달을 위해 프록시를 구성하려면 다음 글로벌 항목을 alertmanager-config YAML 파일에 추가합니다.

global:
  slack_api_url: '<slack_webhook_url>'
  http_config:
    proxy_url: http://****
Copy to Clipboard Toggle word wrap

사용자 워크로드 경고를 전달하려면 Thanos ruler가 아닌 사용자 워크로드 Prometheus 인스턴스에서 경고를 처리해야 합니다. PrometheusRule 리소스의 다음 예제를 참조하십시오.

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  labels:
    openshift.io/prometheus-rule-evaluation-scope: leaf-prometheus
Copy to Clipboard Toggle word wrap

1.5.5. 관리 클러스터에 대한 경고 전달 비활성화

관리 클러스터에 대한 경고 전달을 비활성화하려면 mco-disable-alerting: "true" 주석을 MultiClusterObservability 사용자 정의 리소스에 추가합니다. mco-disable-alerting: "true" 주석을 설정하면 플랫폼 및 사용자 워크로드 경고가 허브 클러스터의 Alertmanager로 전달되지 않습니다. 관리 클러스터의 전달 구성이 복원됩니다.

openshift-monitoring 네임스페이스의 cluster-monitoring-config 구성 맵에 대한 구성 업데이트가 복원됩니다. 주석을 설정하면 Observability Operator 끝점에서 cluster-monitoring-config 구성 맵을 관리하거나 업데이트하지 않습니다. 구성을 업데이트한 후 관리 클러스터의 플랫폼 및 사용자 워크로드 Prometheus 인스턴스가 모두 다시 시작됩니다. 다음 단계를 완료합니다.

변경 사항을 되돌리면 open-cluster-management-addon-observability 네임스페이스에 cluster-monitoring-reverted 라는 구성 맵이 생성됩니다. 수동으로 추가된 새 경고 전달 구성은 구성 맵에서 되돌리지 않습니다.

  1. 다음 명령을 실행하여 mco-disable-alerting 주석을 "true" 로 설정합니다.

    oc annotate MultiClusterObservability observability mco-disable-alerting=true
    Copy to Clipboard Toggle word wrap

    중요: 관리 클러스터의 Prometheus가 영구 볼륨으로 구성되지 않은 경우 메트릭이 손실됩니다.

  2. 허브 클러스터 경고 관리자가 더 이상 관리된 클러스터 경고를 타사 메시징 툴에 전파하지 않는지 확인합니다.

1.5.6. 관리 클러스터에 대한 사용자 워크로드 경고 전달 비활성화

관리 클러스터에 대한 사용자 워크로드 경고 전달을 비활성화하려면 mco-disable-uwl-alerting: "true" 주석을 MultiClusterObservability 사용자 정의 리소스에 추가합니다. 주석을 설정하면 허브 클러스터의 Alertmanager로 사용자 워크로드 경고를 전달하고 플랫폼 경고가 Alertmanager로 계속 전달됩니다.

주석을 설정하면 Observability Operator 끝점에 의해 user-workload-monitoring-config 구성 맵이 관리되거나 업데이트되지 않습니다. configuraion을 업데이트한 후 관리형 클러스터의 사용자 워크로드 Prometheus 인스턴스가 다시 시작됩니다.

다음 명령을 실행하여 mco-disable-uwl-alerting 주석을 "true" 로 설정합니다.

oc annotate MultiClusterObservability observability mco-disable-uwl-alerting=true
Copy to Clipboard Toggle word wrap

1.5.7. 음소거 경고

수신하지 않으려는 경고를 추가합니다. 경고 이름, 일치 레이블 또는 시간 기간으로 경고를 음소거할 수 있습니다. 음소거하려는 경고를 추가하면 ID가 생성됩니다. 음소거 경고의 ID는 d839aca9-ed46-40be-84c4-dca8773671da 문자열과 유사할 수 있습니다.

경고를 음소거하는 방법에 대해 계속 읽습니다.

  • Red Hat Advanced Cluster Management 경고를 음소거하려면 open-cluster-management-observability 네임스페이스의 alertmanager Pod에 액세스할 수 있어야 합니다. 예를 들어 observability-alertmanager-0 Pod 터미널에 다음 명령을 입력하여 silence SampleAlert:

    amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" alertname="SampleAlert"
    Copy to Clipboard Toggle word wrap
  • 여러 일치 레이블을 사용하여 경고를 음소거합니다. 다음 명령은 match-label-1match-label-2 를 사용합니다.

    amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" <match-label-1>=<match-value-1> <match-label-2>=<match-value-2>
    Copy to Clipboard Toggle word wrap
  • 특정 기간 동안 경고를 음소거하려면 --duration 플래그를 사용합니다. 다음 명령을 실행하여 SampleAlert 를 1시간 동안 음소거합니다.

    amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" --duration="1h" alertname="SampleAlert"
    Copy to Clipboard Toggle word wrap

    음소거된 경고의 시작 또는 종료 시간을 지정할 수도 있습니다. 다음 명령을 입력하여 특정 시작 시 SampleAlert 를 음소거합니다.

    amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" --start="2023-04-14T15:04:05-07:00" alertname="SampleAlert"
    Copy to Clipboard Toggle word wrap
  • 생성된 모든 음소거 경고를 보려면 다음 명령을 실행합니다.

    amtool silence --alertmanager.url="http://localhost:9093"
    Copy to Clipboard Toggle word wrap
  • 더 이상 경고를 음소거하지 않으려면 다음 명령을 실행하여 경고의 실칭을 종료합니다.

    amtool silence expire --alertmanager.url="http://localhost:9093" "d839aca9-ed46-40be-84c4-dca8773671da"
    Copy to Clipboard Toggle word wrap
  • 모든 경고의 silencing을 종료하려면 다음 명령을 실행합니다.

    amtool silence expire --alertmanager.url="http://localhost:9093" $(amtool silence query --alertmanager.url="http://localhost:9093" -q)
    Copy to Clipboard Toggle word wrap

1.5.8. 관찰성 스토리지 마이그레이션

경고 음소거를 사용하는 경우 음소거를 이전 상태에서 유지하면서 관찰 기능을 마이그레이션할 수 있습니다. 이렇게 하려면 선택한 StorageClass 리소스를 사용하는 새 StatefulSetsPersistentVolumes (PV) 리소스를 생성하여 Red Hat Advanced Cluster Management observability 스토리지를 마이그레이션합니다.

참고: PV의 스토리지는 클러스터에서 수집된 지표를 저장하는 데 사용되는 오브젝트 스토리지와 다릅니다.

StatefulSets 및 PV를 사용하여 관찰 기능 데이터를 새 스토리지로 마이그레이션하는 경우 다음 데이터 구성 요소가 저장됩니다.

  • Observatorium 또는 Thanos: 데이터를 수신한 다음 오브젝트 스토리지에 업로드합니다. 일부 구성 요소는 PV에 데이터를 저장합니다. 이 데이터의 경우 Observatorium 또는 Thanos는 시작 시 오브젝트 스토리지를 자동으로 다시 생성하므로 이 데이터를 손실해도 결과가 발생하지 않습니다.
  • Alertmanager: 음소거된 경고만 저장합니다. 이러한 음소거된 경고를 유지하려면 해당 데이터를 새 PV로 마이그레이션해야 합니다.

관찰성 스토리지를 마이그레이션하려면 다음 단계를 완료합니다.

  1. MultiClusterObservability 에서 .spec.storageConfig.storageClass 필드를 새 스토리지 클래스로 설정합니다.
  2. PersistentVolumeClaim 을 삭제할 때에도 이전 PersistentVolumes 의 데이터를 유지하려면 기존의 모든 PersistentVolumes 로 이동합니다.
  3. reclaimPolicy"Retain": 'oc patch pv <your-pv-name> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' 로 변경합니다.
  4. 선택 사항: 데이터 손실을 방지하려면 OCP 4의 DG 8 Operator의 다른 스토리지 클래스로 영구 데이터 마이그레이션 을 참조하십시오.
  5. 다음 StatefulSet 사례에서 StatefulSet PersistentVolumeClaim 을 둘 다 삭제합니다.

    1. alertmanager-db-observability-alertmanager-<REPLICA_NUMBER>
    2. data-observability-thanos-<COMPONENT_NAME>
    3. data-observability-thanos-receive-default
    4. data-observability-thanos-store-shard
    5. 중요:StatefulSet 을 생성할 수 있도록 MultiClusterObservability Operator Pod를 삭제한 후 다시 생성해야 할 수 있습니다.
  6. 이름이 동일하지만 올바른 StorageClass 를 사용하여 새 PersistentVolumeClaim 을 다시 생성합니다.
  7. 이전 PersistentVolume 을 참조하는 새 PersistentVolumeClaim 을 생성합니다.
  8. StatefulSetPersistentVolumes 에서 선택한 새 StorageClass 를 사용하는지 확인합니다.

1.5.9. 경고 비활성화

전 세계적으로 클러스터 전체에서 Red Hat Advanced Cluster Management 경고를 표시하지 않도록 합니다. open-cluster-management-observability 네임스페이스에서 alertmanager-config 에서 억제 규칙을 정의하여 경고를 비활성화합니다.

억제 규칙은 기존의 다른 일치 항목 집합과 일치하는 매개 변수 집합이 있는 경우 경고를 음소거합니다. 규칙을 적용하려면 대상 및 소스 경고 모두 동일한 목록의 라벨 이름에 대해 동일한 레이블 값이 있어야 합니다. inhibit_rules 는 다음과 유사할 수 있습니다.

global:
  resolve_timeout: 1h
inhibit_rules:
1

  - equal:
      - namespace
    source_match:
2

      severity: critical
    target_match_re:
      severity: warning|info
Copy to Clipboard Toggle word wrap
1 1
inhibit_rules 매개 변수 섹션은 동일한 네임스페이스에서 경고를 찾도록 정의됩니다. 네임스페이스 내에서 위험 경고가 시작되고 해당 네임스페이스에 심각도 수준 경고 또는 정보가 포함된 기타 경고가 있는 경우 중요한 경고만 Alertmanager 수신자로 라우팅됩니다. 일치하는 경우 다음 경고가 표시될 수 있습니다.
ALERTS{alertname="foo", namespace="ns-1", severity="critical"}
ALERTS{alertname="foo", namespace="ns-1", severity="warning"}
Copy to Clipboard Toggle word wrap
2 2
source_matchtarget_match_re 매개변수의 값이 일치하지 않으면 경고가 수신자로 라우팅됩니다.
ALERTS{alertname="foo", namespace="ns-1", severity="critical"}
ALERTS{alertname="foo", namespace="ns-2", severity="warning"}
Copy to Clipboard Toggle word wrap
  • Red Hat Advanced Cluster Management에서 억제된 경고를 보려면 다음 명령을 입력합니다.
amtool alert --alertmanager.url="http://localhost:9093" --inhibited
Copy to Clipboard Toggle word wrap

1.5.10. 추가 리소스

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat