11.2. カスタムロギングアラート
Logging 5.7 以降のバージョンでは、ユーザーは、カスタマイズされたアラートと記録されたメトリクスを生成するように LokiStack デプロイメントを設定できます。カスタマイズされた アラートおよび記録ルール を使用する場合は、LokiStack ルーラーコンポーネントを有効にする必要があります。
				LokiStack のログベースのアラートと記録されたメトリクスは、LogQL 式をルーラーコンポーネントに提供することによってトリガーされます。Loki Operator は、選択した LokiStack サイズ (1x.extra-small、1x.small、または 1x.medium) に最適化されたルーラーを管理します。
			
				これらの式を提供するには、Prometheus 互換の アラートルール を含む AlertingRule カスタムリソース (CR)、または Prometheus 互換の 記録ルール を含む RecordingRule CR を作成する必要があります。
			
				管理者は、application、audit、または infrastructure テナントのログベースのアラートまたは記録されたメトリクスを設定できます。管理者権限のないユーザーは、アクセス権のあるアプリケーションの application テナントに対してログベースのアラートまたは記録されたメトリクスを設定できます。
			
				アプリケーション、監査、およびインフラストラクチャーのアラートは、ローカルの Alertmanager インスタンスを無効にしていない限り、デフォルトで openshift-monitoring namespace の OpenShift Dedicated モニタリングスタック Alertmanager に送信されます。openshift-user-workload-monitoring namespace でユーザー定義プロジェクトの監視に使用される Alertmanager が有効になっている場合、アプリケーションアラートはデフォルトでこの namespace の Alertmanager に送信されます。
			
11.2.1. ルーラーの設定 リンクのコピーリンクがクリップボードにコピーされました!
LokiStack ルーラーコンポーネントが有効になっている場合、ユーザーはログアラートや記録されたメトリクスをトリガーする LogQL 式のグループを定義できます。
					管理者は、LokiStack カスタムリソース (CR) を変更することでルーラーを有効にできます。
				
前提条件
- Red Hat OpenShift Logging Operator と Loki Operator がインストールされている。
 - 
							
LokiStackCR が作成されている。 - 管理者権限がある。
 
11.2.2. LokiStack ルールの RBAC 権限の認可 リンクのコピーリンクがクリップボードにコピーされました!
					管理者は、クラスターロールをユーザー名にバインドすることで、ユーザーが独自のアラートおよび記録ルールを作成および管理できるようにすることができます。クラスターロールは、ユーザーに必要なロールベースのアクセス制御 (RBAC) 権限を含む ClusterRole オブジェクトとして定義されます。
				
Logging 5.8 以降では、アラートおよび記録ルール用の次のクラスターロールを LokiStack で使用できます。
| ルール名 | 説明 | 
|---|---|
|   
									  |   
									このロールを持つユーザーは、アラートルールを管理する管理レベルのアクセス権を持ちます。このクラスターロールは、  | 
|   
									  |   
									このロールを持つユーザーは、  | 
|   
									  |   
									このロールを持つユーザーは、  | 
|   
									  |   
									このロールを持つユーザーは、  | 
|   
									  |   
									このロールを持つユーザーは、記録ルールを管理する管理レベルのアクセス権を持ちます。このクラスターロールは、  | 
|   
									  |   
									このロールを持つユーザーは、  | 
|   
									  |   
									このロールを持つユーザーは、  | 
|   
									  |   
									このロールを持つユーザーは、  | 
11.2.2.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>
11.2.3. Loki を使用したログベースのアラートルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
					AlertingRule CR には、単一の LokiStack インスタンスのアラートルールグループを宣言するために使用する、仕様および Webhook 検証定義のセットが含まれます。Webhook 検証定義は、ルール検証条件もサポートします。
				
- 
							
AlertingRuleCR に無効なinterval期間が含まれる場合、無効なアラートルールです。 - 
							
AlertingRuleCR に無効なfor期間が含まれる場合、無効なアラートルールです。 - 
							
AlertingRuleCR に無効な LogQLexprが含まれる場合、無効なアラートルールです。 - 
							
AlertingRuleCR に同じ名前のグループが 2 つ含まれる場合、無効なアラートルールです。 - 上記のいずれにも当てはまらない場合、アラートルールは有効であるとみなされます。
 
| テナントタイプ | AlertingRule CR の有効な namespace | 
|---|---|
|   application  | |
|   audit  |   
									  | 
|   infrastructure  |   
									  | 
前提条件
- Red Hat OpenShift Logging Operator 5.7 以降
 - OpenShift Dedicated 4.13 以降
 
手順
AlertingRuleカスタムリソース (CR) を作成します。インフラストラクチャー AlertingRule CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - この
AlertingRuleCR が作成される namespace には、LokiStackspec.rules.namespaceSelector定義に一致するラベルが必要です。 - 2
 labelsブロックは、LokiStack のspec.rules.selector定義と一致する必要があります。- 3
 infrastructureテナントのAlertingRuleCR は、openshift-*、kube-\*、またはdefaultnamespaces でのみサポートされます。- 4
 kubernetes_namespace_name:の値は、metadata.namespaceの値と一致する必要があります。- 5
 - この必須フィールドの値は、
critical、warning、またはinfoである必要があります。 - 6
 - このフィールドは必須です。
 - 7
 - このフィールドは必須です。
 
アプリケーション AlertingRule CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - この
AlertingRuleCR が作成される namespace には、LokiStackspec.rules.namespaceSelector定義に一致するラベルが必要です。 - 2
 labelsブロックは、LokiStack のspec.rules.selector定義と一致する必要があります。- 3
 kubernetes_namespace_name:の値は、metadata.namespaceの値と一致する必要があります。- 4
 - この必須フィールドの値は、
critical、warning、またはinfoである必要があります。 - 5
 - この必須フィールドの値は、ルールの概要です。
 - 6
 - この必須フィールドの値は、ルールの詳細な説明です。
 
AlertingRuleCR を適用します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow