5장. 경고 관리
5.1. 관리자로 경고 관리 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Dedicated에서 경고 UI를 사용하면 경고, 음소거, 경고 규칙을 관리할 수 있습니다.
OpenShift Dedicated 4.19부터 웹 콘솔의 관점에 통합됩니다. Developer 모드는 기본적으로 더 이상 활성화되지 않습니다.
모든 사용자는 모든 OpenShift Dedicated 웹 콘솔 기능과 상호 작용할 수 있습니다. 그러나 클러스터 소유자가 아닌 경우 클러스터 소유자의 특정 기능에 액세스할 수 있는 권한을 요청해야 할 수 있습니다.
여전히 개발자 화면을 활성화할 수 있습니다. 웹 콘솔의 시작 창에서 콘솔 둘러보기, 클러스터 설정, 개발자 화면 활성화에 대한 빠른 시작 정보를 찾고, 링크를 따라 새 기능 및 기능을 탐색할 수 있습니다.
경고 UI에서 사용할 수 있는 경고, 음소거, 경고 규칙은 액세스할 수 있는 프로젝트와 관련이 있습니다. 예를 들어 관리자로 로그인한 경우 모든 경고, 음소거, 경고 규칙에 액세스할 수 있습니다.
5.1.1. 경고 UI에 액세스 링크 복사링크가 클립보드에 복사되었습니다!
경고 UI는 OpenShift Dedicated 웹 콘솔에서 액세스할 수 있습니다.
-
OpenShift Dedicated 웹 콘솔에서 모니터링
경고 로 이동합니다. 여기에서 알림 UI의 세 가지 주요 페이지는 알림 , 무음 설정 , 알림 규칙 페이지입니다.
5.1.2. 경고, 음소거 및 경고 규칙에 대한 정보 받기 링크 복사링크가 클립보드에 복사되었습니다!
경고 UI는 경고 및 관리 경고 규칙과 음소거에 대한 자세한 정보를 제공합니다.
사전 요구 사항
- 경고를 보고 있는 프로젝트에 대한 보기 권한이 있는 사용자로 클러스터에 액세스할 수 있습니다.
프로세스
경고에 대한 정보를 얻으려면 다음을 수행합니다.
-
OpenShift Dedicated 웹 콘솔에서 모니터링
경고 경고 페이지로 이동합니다. - 선택 사항: 검색 목록의 이름 필드를 사용하여 이름 별로 경고를 검색합니다.
- 선택 사항: 필터 목록에서 필터를 선택하여 상태, 심각도 및 소스별로 경고를 필터링합니다.
- 선택 사항: 이름, 심각도, 상태 및 소스 열 헤더 중 하나 이상을 클릭하여 경고를 정렬합니다.
경고 세부 정보 페이지를 보려면 경고 이름을 클릭합니다. 페이지에는 경고 시계열 데이터를 설명하는 그래프가 포함되어 있습니다. 또한 경고에 대한 다음 정보를 제공합니다.
- 경고에 대한 설명
- 경고와 관련된 메시지
- 페이지가 존재하는 경우 경고에 대한 GitHub의 runbook 페이지에 대한 링크
- 경고에 연결된 라벨
- 관리 경고 규칙에 대한 링크
- 존재하는 경우 경고에 대한 음소거
음소거에 대한 정보를 얻으려면 다음을 수행합니다.
-
OpenShift Dedicated 웹 콘솔에서 모니터링
경고 음소거 페이지로 이동합니다. - 선택 사항: 이름으로 검색 필드를 사용하여 이름으로 음소거를 필터링합니다.
- 선택 사항: 필터 목록에서 필터를 선택하여 상태별로 음소거를 필터링합니다. 기본적으로 활성 및 보류 중 필터가 적용됩니다.
- 선택 사항: 이름, 경고 실행,상태 및 Creator 열 헤더 중 하나 이상을 클릭하여음소거 를 정렬합니다.
음소거의 이름을 선택하여 음소거 세부 정보 페이지를 확인합니다. 페이지에는 다음과 같은 세부 정보가 포함됩니다.
- 경고 사양
- 시작 시간
- 종료 시간
- 음소거 상태
- 실행 경고 수 및 목록
경고 규칙에 대한 정보를 얻으려면 다음을 수행합니다.
-
OpenShift Dedicated 웹 콘솔에서 모니터링
경고 경고 규칙 페이지로 이동합니다. - 선택 사항: 필터 목록에서 필터를 선택하여 상태, 심각도 및 소스로 경고 규칙을 필터링합니다.
- 선택 사항: 이름,심각도, 경고 상태 및 소스 열 헤더 중 하나 이상을 클릭하여 경고 규칙을 정렬합니다.
경고 규칙 세부 정보 페이지를 보려면 경고 규칙 의 이름을 선택합니다. 페이지는 경고 규칙에 대한 다음 세부 정보를 제공합니다.
- 경고 규칙 이름, 심각도 및 설명.
- 경고를 실행하기 위한 조건을 정의하는 표현식입니다.
- 경고가 실행되기 위한 조건이 true여야 하는 시간입니다.
- 경고 규칙에 의해 관리되는 각 경고에 대한 그래프로, 경고가 실행되는 값을 표시합니다.
- 경고 규칙에 의해 관리되는 모든 경고의 테이블입니다.
5.1.3. 음소거 관리 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Dedicated 웹 콘솔에서 경고에 대한 음소거를 생성할 수 있습니다. 음소거를 생성한 후 이를 보고 편집하고 만료할 수 있습니다. 경고가 실행될 때 음소거된 경고에 대한 알림도 수신하지 않습니다.
음소거를 생성하면 Alertmanager Pod에 복제됩니다. 그러나 Alertmanager에 대한 영구 스토리지를 구성하지 않으면 음소거가 손실될 수 있습니다. 예를 들어 모든 Alertmanager Pod가 동시에 다시 시작되면 이러한 상황이 발생할 수 있습니다.
5.1.3.1. 음소거 경고 링크 복사링크가 클립보드에 복사되었습니다!
특정 경고를 음소거하거나 사용자가 정의한 사양과 일치하는 경고를 음소거할 수 있습니다.
사전 요구 사항
-
클러스터 관리자인 경우
dedicated-admin역할의 사용자로 클러스터에 액세스할 수 있습니다. 관리자가 아닌 사용자인 경우 다음 사용자 역할이 있는 사용자로 클러스터에 액세스할 수 있습니다.
-
Alertmanager에 액세스할 수 있는
cluster-monitoring-view클러스터 역할입니다. -
경고를 생성하고 음소거할 수 있는
monitoring-alertmanager-edit역할입니다.
-
Alertmanager에 액세스할 수 있는
프로세스
특정 경고를 음소거하려면 다음을 수행합니다.
-
OpenShift Dedicated 웹 콘솔에서 모니터링
경고 경고로 이동합니다. -
음소거할 경고의 경우
를 클릭하고 음소거 경고를 선택하여 선택한 경고에 대한 기본 구성으로 음소거 경고 페이지를 엽니다.
선택 사항: 음소거의 기본 구성 세부 정보를 변경합니다.
참고음소거를 저장하기 전에 코멘트를 추가해야 합니다.
- 음소거를 저장하려면 음소거 를 클릭합니다.
일련의 경고를 음소거하려면 다음을 수행합니다.
-
OpenShift Dedicated 웹 콘솔에서 모니터링
경고 음소거 로 이동합니다. - 음소거 생성을 클릭합니다.
음소거 생성 페이지에서 경고의 일정, 기간 및 레이블 세부 정보를 설정합니다.
참고음소거를 저장하기 전에 코멘트를 추가해야 합니다.
- 입력한 라벨과 일치하는 경고에 대한 음소거를 생성하려면 음소거 를 클릭합니다.
5.1.3.2. 음소거 편집 링크 복사링크가 클립보드에 복사되었습니다!
음소거를 편집하여 기존 음소거가 만료되고 변경된 구성으로 새 음소거를 생성할 수 있습니다.
사전 요구 사항
-
클러스터 관리자인 경우
dedicated-admin역할의 사용자로 클러스터에 액세스할 수 있습니다. 관리자가 아닌 사용자인 경우 다음 사용자 역할이 있는 사용자로 클러스터에 액세스할 수 있습니다.
-
Alertmanager에 액세스할 수 있는
cluster-monitoring-view클러스터 역할입니다. -
경고를 생성하고 음소거할 수 있는
monitoring-alertmanager-edit역할입니다.
-
Alertmanager에 액세스할 수 있는
프로세스
-
OpenShift Dedicated 웹 콘솔에서 모니터링
경고 음소거 로 이동합니다. 수정하려는 음소거의 경우
를 클릭하고 음소거 편집을 선택합니다.
또는 작업을 클릭하고 음소거 의 음소거 세부 정보 페이지에서 음소거 편집을 선택할 수 있습니다.
- 음소거 편집 페이지에서 변경 후 음소거 를 클릭합니다. 이렇게 하면 기존 음소거가 만료되고 업데이트된 구성으로 생성됩니다.
5.1.3.3. 음소거 만료 링크 복사링크가 클립보드에 복사되었습니다!
단일 음소거 또는 여러 음소거를 만료할 수 있습니다. 음소거를 만료하면 영구적으로 비활성화됩니다.
만료된 경고를 삭제할 수 없습니다. 120시간 이상 경과한 음소거는 가비지 수집됩니다.
사전 요구 사항
-
클러스터 관리자인 경우
dedicated-admin역할의 사용자로 클러스터에 액세스할 수 있습니다. 관리자가 아닌 사용자인 경우 다음 사용자 역할이 있는 사용자로 클러스터에 액세스할 수 있습니다.
-
Alertmanager에 액세스할 수 있는
cluster-monitoring-view클러스터 역할입니다. -
경고를 생성하고 음소거할 수 있는
monitoring-alertmanager-edit역할입니다.
-
Alertmanager에 액세스할 수 있는
프로세스
-
모니터링
경고 음소거 로 이동합니다. - 만료하려는 음소거 또는 음소거의 경우 해당 행의 확인란을 선택합니다.
Expire 1 음소거 를 클릭하여 선택한 단일 음소거를 만료하거나 < n > 음소거 를 만료하여 선택한 여러 음소거를 만료합니다. 여기서 < n >은 선택한 음소거 수입니다.
또는 단일 음소거를 만료하려면 작업을 클릭하고 음소거에 대한 음소거 세부 정보 페이지에서 음소거 만료를 선택할 수 있습니다.
5.1.4. 사용자 정의 프로젝트에 대한 경고 규칙 관리 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Dedicated에서는 사용자 정의 프로젝트에 대한 경고 규칙을 생성, 보기, 편집 및 제거할 수 있습니다. 이러한 경고 규칙은 선택한 메트릭의 값에 따라 경고를 트리거합니다.
5.1.4.1. 사용자 정의 프로젝트에 대한 경고 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
사용자 정의 프로젝트에 대한 경고 규칙을 생성할 수 있습니다. 이러한 경고 규칙은 선택한 메트릭의 값에 따라 경고를 트리거합니다.
사용자가 경고의 영향 및 원인을 이해할 수 있도록 하려면 경고 규칙에 경고 메시지 및 심각도 값이 포함되어 있어야 합니다.
사전 요구 사항
- 사용자 정의 프로젝트에 대한 모니터링을 활성화했습니다.
-
클러스터 관리자로 로그인하거나 경고 규칙을 생성하려는 프로젝트에 대한
monitoring-rules-edit클러스터 역할이 있는 사용자로 로그인했습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
-
경고 규칙에 사용할 YAML 파일을 생성합니다. 이 예에서는
example-app-alerting-rule.yaml이라고 합니다. YAML 파일에 경고 규칙 구성을 추가합니다. 다음 예제에서는
example-alert라는 새 경고 규칙을 생성합니다. 경고 규칙은 샘플 서비스에서 노출된version메트릭이0이 되면 경고를 실행합니다.apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: example-alert namespace: ns1 spec: groups: - name: example rules: - alert: VersionAlert1 for: 1m2 expr: version{job="prometheus-example-app"} == 03 labels: severity: warning4 annotations: message: This is an example alert.5 구성 파일을 리클러스터에 적용합니다.
$ oc apply -f example-app-alerting-rule.yaml
5.1.4.2. 사용자 정의 프로젝트에 대한 프로젝트 간 경고 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
user-workload-monitoring-config 구성 맵에서 프로젝트를 구성하여 origin 프로젝트에 바인딩되지 않은 경고 규칙을 생성할 수 있습니다. 그러면 이러한 프로젝트에서 생성된 PrometheusRule 오브젝트가 모든 프로젝트에 적용됩니다.
따라서 각 사용자 프로젝트에 개별 PrometheusRule 오브젝트가 없는 대신 여러 사용자 정의 프로젝트에 적용되는 일반 경고 규칙이 있을 수 있습니다. PrometheusRule 오브젝트에서 PromQL 쿼리를 사용하여 경고 규칙에서 포함되거나 제외되는 프로젝트를 필터링할 수 있습니다.
사전 요구 사항
dedicated-admin역할의 사용자로 클러스터에 액세스할 수 있습니다.참고관리자가 아닌 사용자인 경우 경고 규칙을 생성하려는 프로젝트에 대한
monitoring-rules-edit클러스터 역할이 있는 경우에도 프로젝트 간 경고 규칙을 생성할 수 있습니다. 그러나 클러스터 관리자만 수행할 수 있는namespacesWithoutLabelEnforcement속성의user-workload-monitoring-config구성 맵에 해당 프로젝트를 구성해야 합니다.-
user-workload-monitoring-configConfigMap오브젝트가 있습니다. 이 오브젝트는 클러스터가 생성될 때 기본적으로 생성됩니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
openshift-user-workload-monitoring프로젝트에서user-workload-monitoring-config구성 맵을 편집합니다.$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config특정 프로젝트에 바인딩되지 않은 경고 규칙을 생성하려는 프로젝트를 구성합니다.
apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | namespacesWithoutLabelEnforcement: [ <namespace1>, <namespace2> ]1 # ...- 1
- 프로젝트 간 경고 규칙을 생성할 하나 이상의 프로젝트를 지정합니다. 사용자 정의 모니터링에 대한 Prometheus 및 Thanos Ruler는 이러한 프로젝트에서 생성된
PrometheusRule오브젝트에namespace레이블을 적용하지 않으므로 모든 프로젝트에PrometheusRule오브젝트를 적용할 수 있습니다.
-
경고 규칙에 사용할 YAML 파일을 생성합니다. 이 예제에서는
example-cross-project-alerting-rule.yaml이라고 합니다. YAML 파일에 경고 규칙 구성을 추가합니다. 다음 예제에서는
example-security라는 새 프로젝트 간 경고 규칙을 생성합니다. 경고 규칙은 사용자 프로젝트에서 restricted Pod 보안 정책을 적용하지 않으면 실행됩니다.프로젝트 간 경고 규칙의 예
apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: example-security namespace: ns11 spec: groups: - name: pod-security-policy rules: - alert: "ProjectNotEnforcingRestrictedPolicy"2 for: 5m3 expr: kube_namespace_labels{namespace!~"(openshift|kube).*|default",label_pod_security_kubernetes_io_enforce!="restricted"}4 annotations: message: "Restricted policy not enforced. Project {{ $labels.namespace }} does not enforce the restricted pod security policy."5 labels: severity: warning6 - 1
namespacesWithoutLabelEnforcement필드에 정의된 프로젝트를 지정해야 합니다.- 2
- 생성할 경고 규칙의 이름입니다.
- 3
- 경고가 실행되기 전에 조건이 true여야 하는 기간입니다.
- 4
- 새 규칙을 정의하는 PromQL 쿼리 표현식입니다.
네임스페이스라벨에서 레이블 일치자를 사용하여 경고 규칙에서 포함되거나 제외되는 프로젝트를 필터링할 수 있습니다. - 5
- 경고와 연결된 메시지입니다.
- 6
- 경고 규칙이 경고에 할당하는 심각도입니다.중요
namespacesWithoutLabelEnforcement필드에 지정한 프로젝트 중 하나에만 특정 프로젝트 간 경고 규칙을 생성해야 합니다. 여러 프로젝트에서 동일한 프로젝트 간 경고 규칙을 생성하면 경고가 반복됩니다.
구성 파일을 리클러스터에 적용합니다.
$ oc apply -f example-cross-project-alerting-rule.yaml
5.1.4.3. 단일 보기에서 모든 프로젝트의 경고 규칙 나열 링크 복사링크가 클립보드에 복사되었습니다!
전용 관리자는 코어 OpenShift Dedicated 및 사용자 정의 프로젝트에 대한 경고 규칙을 단일 보기에서 함께 나열할 수 있습니다.
사전 요구 사항
-
dedicated-admin역할의 사용자로 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
-
OpenShift Dedicated 웹 콘솔에서 모니터링
경고 경고 규칙으로 이동합니다. 필터 드롭다운 메뉴에서 플랫폼 및 사용자 소스를 선택합니다.
참고플랫폼 소스가 기본적으로 선택됩니다.
5.1.4.4. 사용자 정의 프로젝트에 대한 경고 규칙 제거 링크 복사링크가 클립보드에 복사되었습니다!
사용자 정의 프로젝트에 대한 경고 규칙을 제거할 수 있습니다.
사전 요구 사항
- 사용자 정의 프로젝트에 대한 모니터링을 활성화했습니다.
-
클러스터 관리자로 로그인하거나 경고 규칙을 생성하려는 프로젝트에 대한
monitoring-rules-edit클러스터 역할이 있는 사용자로 로그인했습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
<
namespace>에서 규칙 <alerting_rule>을 제거하려면 다음을 실행합니다.$ oc -n <namespace> delete prometheusrule <alerting_rule>
5.1.4.5. 사용자 정의 프로젝트에 대한 프로젝트 간 경고 규칙 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
사용자 정의 프로젝트에 대한 프로젝트 간 경고 규칙 생성은 기본적으로 활성화되어 있습니다. 클러스터 관리자는 다음과 같은 이유로 cluster-monitoring-config 구성 맵의 기능을 비활성화할 수 있습니다.
- 사용자 정의 모니터링이 클러스터 모니터링 스택을 과부하하지 않도록 하려면 다음을 수행합니다.
- 문제 발생 규칙을 식별하지 않고도 버그 경보 규칙이 클러스터에 적용되지 않도록 하려면 다음을 수행하십시오.
사전 요구 사항
-
dedicated-admin역할의 사용자로 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
openshift-monitoring프로젝트에서cluster-monitoring-config구성 맵을 편집합니다.$ oc -n openshift-monitoring edit configmap cluster-monitoring-configcluster-monitoring-config구성 맵에서data/config.yaml/userWorkload아래의rulesWithoutLabelEnforcementAllowed값을false로 설정하여 프로젝트 간 경고 규칙을 생성하는 옵션을 비활성화합니다.kind: ConfigMap apiVersion: v1 metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | userWorkload: rulesWithoutLabelEnforcementAllowed: false # ...- 파일을 저장하여 변경 사항을 적용합니다.