3.6. Loki에 대한 로그 기반 경고
AlertingRule CR(사용자 정의 리소스)을 생성하여 Loki에 대한 로그 기반 경고를 구성할 수 있습니다.
3.6.1. LokiStack 규칙 RBAC 권한 승인 링크 복사링크가 클립보드에 복사되었습니다!
관리자는 클러스터 역할을 사용자 이름에 바인딩하여 사용자가 자체 경고 및 레코딩 규칙을 생성하고 관리할 수 있습니다. 클러스터 역할은 사용자에게 필요한 RBAC(역할 기반 액세스 제어) 권한이 포함된 ClusterRole 오브젝트로 정의됩니다.
경고 및 레코딩 규칙에 대한 다음 클러스터 역할은 LokiStack에 사용할 수 있습니다.
| 규칙 이름 | 설명 |
|---|---|
|
|
이 역할의 사용자에게는 경고 규칙을 관리할 수 있는 관리 수준 액세스 권한이 있습니다. 이 클러스터 역할은 |
|
|
이 역할의 사용자는 |
|
|
이 역할의 사용자는 |
|
|
이 역할의 사용자는 |
|
|
이 역할의 사용자는 레코딩 규칙을 관리할 수 있는 관리 수준의 액세스 권한이 있습니다. 이 클러스터 역할은 |
|
|
이 역할의 사용자는 |
|
|
이 역할의 사용자는 |
|
|
이 역할의 사용자는 |
3.6.1.1. 예 링크 복사링크가 클립보드에 복사되었습니다!
사용자의 클러스터 역할을 적용하려면 기존 클러스터 역할을 특정 사용자 이름에 바인딩해야 합니다.
클러스터 역할은 사용하는 역할 바인딩 유형에 따라 클러스터 또는 네임스페이스 범위일 수 있습니다. RoleBinding 오브젝트가 사용되는 경우 oc adm policy add-role-to-user 명령을 사용하는 경우 클러스터 역할은 지정된 네임스페이스에만 적용됩니다. oc adm policy add-cluster-role-to-user 명령을 사용할 때 ClusterRoleBinding 오브젝트가 사용되는 경우 클러스터 역할은 클러스터의 모든 네임스페이스에 적용됩니다.
다음 예제 명령은 클러스터의 특정 네임스페이스의 경고 규칙에 대해 지정된 사용자 생성, 읽기, 업데이트 및 삭제(CRUD) 권한을 제공합니다.
특정 네임스페이스에서 경고 규칙 CRUD 권한에 대한 클러스터 역할 바인딩 명령의 예
oc adm policy add-role-to-user alertingrules.loki.grafana.com-v1-admin -n <namespace> <username>
$ oc adm policy add-role-to-user alertingrules.loki.grafana.com-v1-admin -n <namespace> <username>
다음 명령은 모든 네임스페이스의 경고 규칙에 대해 지정된 사용자 관리자 권한을 부여합니다.
관리자 권한에 대한 클러스터 역할 바인딩 명령의 예
oc adm policy add-cluster-role-to-user alertingrules.loki.grafana.com-v1-admin <username>
$ oc adm policy add-cluster-role-to-user alertingrules.loki.grafana.com-v1-admin <username>
3.6.2. Loki를 사용하여 로그 기반 경고 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
AlertingRule CR에는 단일 LokiStack 인스턴스에 대한 경고 규칙 그룹을 선언하는 일련의 사양 및 Webhook 검증 정의가 포함되어 있습니다. 또한 웹 후크 검증 정의에서는 규칙 검증 조건을 지원합니다.
-
AlertingRuleCR에 잘못된간격기간이 포함된 경우 잘못된 경고 규칙입니다. -
AlertingRuleCR에 기간 동안유효하지 않은 항목이 포함된 경우 잘못된 경고 규칙입니다. -
AlertingRuleCR에 잘못된 LogQLexpr가 포함된 경우 잘못된 경고 규칙입니다. -
AlertingRuleCR에 동일한 이름의 두 개의 그룹이 포함된 경우 잘못된 경고 규칙입니다. - 위의 어느 것도 적용되지 않으면 경고 규칙이 유효한 것으로 간주됩니다.
| 테넌트 유형 | AlertingRule CR을 위한 유효한 네임스페이스 |
|---|---|
| 애플리케이션 |
|
| audit |
|
| infrastructure |
|
프로세스
AlertingRule사용자 정의 리소스(CR)를 생성합니다.인프라
AlertingRuleCR의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이
AlertingRuleCR이 생성되는 네임스페이스에는 LokiStackspec.rules.namespaceSelector정의와 일치하는 레이블이 있어야 합니다. - 2
labels블록은 LokiStackspec.rules.selector정의와 일치해야 합니다.- 3
인프라테넌트에 대한AlertingRuleCR은openshift-*,kube-\*또는default네임스페이스에서만 지원됩니다.- 4
kubernetes_namespace_name:의 값은metadata.namespace값과 일치해야 합니다.- 5
- 이 필수 필드의 값은
중요,경고또는정보여야 합니다. - 6
- 이 필드는 필수입니다.
- 7
- 이 필드는 필수입니다.
애플리케이션
AlertingRuleCR의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이
AlertingRuleCR이 생성되는 네임스페이스에는 LokiStackspec.rules.namespaceSelector정의와 일치하는 레이블이 있어야 합니다. - 2
labels블록은 LokiStackspec.rules.selector정의와 일치해야 합니다.- 3
kubernetes_namespace_name:의 값은metadata.namespace값과 일치해야 합니다.- 4
- 이 필수 필드의 값은
중요,경고또는정보여야 합니다. - 5
- 이 필수 필드의 값은 규칙에 대한 요약입니다.
- 6
- 이 필수 필드의 값은 규칙에 대한 자세한 설명입니다.
AlertingRuleCR을 적용합니다.oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow