2.5. ログベースのアラート
2.5.1. LokiStack ルールの RBAC 権限の認可 リンクのコピーリンクがクリップボードにコピーされました!
管理者は、クラスターロールをユーザー名にバインドすることで、ユーザーが独自のアラートおよび記録ルールを作成および管理できるようにすることができます。クラスターロールは、ユーザーに必要なロールベースのアクセス制御 (RBAC) 権限を含む ClusterRole
オブジェクトとして定義されます。
LokiStack では、アラートおよび記録ルール用の次のクラスターロールが利用できます。
ルール名 | 説明 |
---|---|
|
このロールを持つユーザーは、アラートルールを管理する管理レベルのアクセス権を持ちます。このクラスターロールは、 |
|
このロールを持つユーザーは、 |
|
このロールを持つユーザーは、 |
|
このロールを持つユーザーは、 |
|
このロールを持つユーザーは、記録ルールを管理する管理レベルのアクセス権を持ちます。このクラスターロールは、 |
|
このロールを持つユーザーは、 |
|
このロールを持つユーザーは、 |
|
このロールを持つユーザーは、 |
2.5.1.1. 例 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーにクラスターロールを適用するには、既存のクラスターロールを特定のユーザー名にバインドする必要があります。
クラスターロールは、使用するロールバインディングの種類に応じて、クラスタースコープまたは namespace スコープにすることができます。RoleBinding
オブジェクトを使用する場合は、oc adm policy add-role-to-user
コマンドを使用する場合と同様に、クラスターロールが指定した namespace にのみ適用されます。ClusterRoleBinding
オブジェクトを使用する場合は、oc adm policy add-cluster-role-to-user
コマンドを使用する場合と同様に、クラスターロールがクラスター内のすべての namespace に適用されます。
次のコマンド例では、指定したユーザーに、クラスター内の特定の namespace のアラートルールに対する作成、読み取り、更新、および削除 (CRUD) 権限を付与します。
特定の namespace のアラートルールに対する 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>
次のコマンドは、指定したユーザーに、すべての namespace のアラートルールに対する管理者権限を付与します。
管理者権限を付与するクラスターロールバインディングコマンドの例
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>
2.5.2. Loki を使用したログベースのアラートルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
AlertingRule
CR には、単一の LokiStack
インスタンスのアラートルールグループを宣言するために使用する、仕様および Webhook 検証定義のセットが含まれます。Webhook 検証定義は、ルール検証条件もサポートします。
-
AlertingRule
CR に無効なinterval
期間が含まれる場合、無効なアラートルールです。 -
AlertingRule
CR に無効なfor
期間が含まれる場合、無効なアラートルールです。 -
AlertingRule
CR に無効な LogQLexpr
が含まれる場合、無効なアラートルールです。 -
AlertingRule
CR に同じ名前のグループが 2 つ含まれる場合、無効なアラートルールです。 - 上記のいずれも該当しない場合、アラートルールは有効とみなされます。
テナントタイプ | AlertingRule CR の有効な namespace |
---|---|
application |
|
audit |
|
infrastructure |
|
手順
AlertingRule
カスタムリソース (CR) を作成します。インフラストラクチャー
AlertingRule
CR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この
AlertingRule
CR が作成される namespace には、LokiStackspec.rules.namespaceSelector
定義に一致するラベルが必要です。 - 2
labels
ブロックは、LokiStack のspec.rules.selector
定義と一致する必要があります。- 3
infrastructure
テナントのAlertingRule
CR は、openshift-*
、kube-\*
、またはdefault
namespaces でのみサポートされます。- 4
kubernetes_namespace_name:
の値は、metadata.namespace
の値と一致する必要があります。- 5
- この必須フィールドの値は、
critical
、warning
、またはinfo
である必要があります。 - 6
- このフィールドは必須です。
- 7
- このフィールドは必須です。
アプリケーション
AlertingRule
CR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この
AlertingRule
CR が作成される namespace には、LokiStackspec.rules.namespaceSelector
定義に一致するラベルが必要です。 - 2
labels
ブロックは、LokiStack のspec.rules.selector
定義と一致する必要があります。- 3
kubernetes_namespace_name:
の値は、metadata.namespace
の値と一致する必要があります。- 4
- この必須フィールドの値は、
critical
、warning
、またはinfo
である必要があります。 - 5
- この必須フィールドの値は、ルールの概要です。
- 6
- この必須フィールドの値は、ルールの詳細な説明です。
AlertingRule
CR を適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow