第5章 AlertingRule [monitoring.openshift.io/v1]


説明
AlertingRule は、アラートルールが含まれるユーザー定義の Prometheus ルールグループのセットを表します。このリソースは、クラスター管理者が OpenShift のプラットフォームモニタリングスタックによって記録されたメトリクス(つまり、openshift-monitoring namespace にデプロイされた Prometheus インスタンス)に基づいてアラートを作成するためにサポートされる方法です。これを使用して、CPU 使用率などのマシンレベルのメトリクスを提供する node_exporter などのコンポーネントからのメトリクスに基づいて、OpenShift に同梱されていないカスタムアラートルールを作成したり、Kubernetes の使用状況にメトリックを提供する kube-state-metrics を作成したりできます。API は、主に prometheus-operator のアップストリーム PrometheusRule タイプと互換性があります。主な違いは、ここで記録ルールが許可されない点です。アラートルールはここで許可されません。作成される AlertingRule リソースごとに、対応する PrometheusRule が openshift-monitoring namespace に作成されます。OpenShift では、管理者はアップストリームタイプではなく AlertingRule リソースを使用する必要があります。これにより、アップストリーム API を直接変更せずに OpenShift 固有のデフォルトおよび検証をより高めるために、管理者は upstream タイプではなく AlertingRule リソースを使用する必要があります。PrometheusRule リソースのアップストリーム API ドキュメントは、https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md 互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース(いずれか長い方)の間安定しています。
タイプ
object
必須
  • spec

5.1. 仕様

プロパティータイプ説明

apiVersion

string

APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

metadata

ObjectMeta

標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

spec は、この AlertingRule オブジェクトの望ましい状態を記述します。

status

object

Status は、この AlertOverrides オブジェクトの現在の状態を記述します。

5.1.1. .spec

説明
spec は、この AlertingRule オブジェクトの望ましい状態を記述します。
タイプ
object
必須
  • グループ
プロパティータイプ説明

groups

array

グループは、グループ化されたアラートルールのリストです。ルールグループは、Prometheus がルール処理を並列化するユニットです。1 つのグループ内のすべてのルールは、設定された評価間隔を共有します。グループ内のすべてのルールは、この間隔、順次、およびすべてのルールが処理されます。関連するアラートルールを単一の AlertingRule リソースや、そのリソース内で、密接に関連するアラート、または単に同じ間隔でのアラートを個別のグループにグループ化することが一般的です。また、単一のルールグループでのみ AlertingRule リソースを作成することもできますが、グループが非常に大きい場合や、評価するクエリー式が非常に複雑な場合には、Prometheus にパフォーマンスが低下する可能性があることに注意してください。並行して処理できるように、非常に複雑なルールを複数のグループ全体に分散することは、一般的なユースケースです。

groups[]

object

RuleGroup は、順次評価されるアラートルールのリストです。

5.1.2. .spec.groups

説明
グループは、グループ化されたアラートルールのリストです。ルールグループは、Prometheus がルール処理を並列化するユニットです。1 つのグループ内のすべてのルールは、設定された評価間隔を共有します。グループ内のすべてのルールは、この間隔、順次、およびすべてのルールが処理されます。関連するアラートルールを単一の AlertingRule リソースや、そのリソース内で、密接に関連するアラート、または単に同じ間隔でのアラートを個別のグループにグループ化することが一般的です。また、単一のルールグループでのみ AlertingRule リソースを作成することもできますが、グループが非常に大きい場合や、評価するクエリー式が非常に複雑な場合には、Prometheus にパフォーマンスが低下する可能性があることに注意してください。並行して処理できるように、非常に複雑なルールを複数のグループ全体に分散することは、一般的なユースケースです。
タイプ
array

5.1.3. .spec.groups[]

説明
RuleGroup は、順次評価されるアラートルールのリストです。
タイプ
object
必須
  • name
  • rules
プロパティータイプDescription

interval

string

間隔は、グループ内のルールが評価される頻度です。指定しない場合、デフォルトで Prometheus で設定された global.evaluation_interval に設定されます。デフォルトは 30 秒です。プラットフォーム Prometheus 設定を検査すると、この値がクラスターのデフォルトから変更されているかどうかを確認できます。そのリソースの関連フィールドは spec.evaluationInterval です。

name

string

name はグループ名です。

rules

array

ルールは、順次評価されるアラートルールのリストです。Prometheus はルールグループを並行して処理できますが、1 つのグループ内のルールは常に順番に処理され、すべてのルールが処理されます。

rules[]

object

ルールはアラートルールを記述します。Prometheus のドキュメント: https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rulesを参照してください。

5.1.4. .spec.groups[].rules

説明
ルールは、順次評価されるアラートルールのリストです。Prometheus はルールグループを並行して処理できますが、1 つのグループ内のルールは常に順番に処理され、すべてのルールが処理されます。
タイプ
array

5.1.5. .spec.groups[].rules[]

説明
ルールはアラートルールを記述します。Prometheus のドキュメント: https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rulesを参照してください。
タイプ
object
必須
  • alert
  • expr
プロパティータイプDescription

alert

string

alert はアラートの名前です。有効なラベル値である必要があります。つまり、Unicode 文字を含めることができます。

annotations

object (string)

各アラートに追加するアノテーション。これらは、アラートの説明や runbook リンクなど、クエリーを実行しない追加情報を保存するために使用できる値です。

expr

integer-or-string

expr は評価する PromQL 式です。これはすべての評価サイクルが現時点で評価され、結果として生じるすべての時系列が保留または実行されるアラートになります。これはほとんどの場合、PromQL 式を表す文字列です(例:mapi_current_pending_csr > mapi_max_pending_csr)。まれに、これは単純な整数である可能性があります。たとえば、常に実行されるアラートを作成することが意図された場合は、単純な整数になることがあります。これは、アラートパイプラインが機能することを確認するために、常時的なWatchdog アラートを作成するために使用されることがあります。

for

string

For は、最初に返された結果の後にアラートが実行されるとみなされる期間です。十分に起動されていないアラートは保留中と見なされます。

labels

object (string)

各アラートについて追加または上書きするラベル。アラートの PromQL 式の結果は、式を評価した後、セットのラベルと同じ名前のラベルに対して、アラートの既存のラベルセットの結果、ここでラベルが優先され、以前の値を上書きします。通常、これらはクエリーに役立つ可能性のある短い識別値である必要があります。一般的な例は、アラート重大度 です。1 つは、labels キーで severity: warning を設定します。

5.1.6. .status

説明
Status は、この AlertOverrides オブジェクトの現在の状態を記述します。
タイプ
object
プロパティータイプDescription

observedGeneration

integer

observedGeneration は、処理した最後の世代変更です。

prometheusRule

object

PrometheusRule は、この AlertingRule の生成された PrometheusRule です。それぞれの AlertingRule インスタンスにより、生成された PrometheusRule オブジェクトが同じ namespace に作成されます。これは常に openshift-monitoring namespace になります。

5.1.7. .status.prometheusRule

説明
PrometheusRule は、この AlertingRule の生成された PrometheusRule です。それぞれの AlertingRule インスタンスにより、生成された PrometheusRule オブジェクトが同じ namespace に作成されます。これは常に openshift-monitoring namespace になります。
タイプ
object
必須
  • name
プロパティータイプ説明

name

string

参照される PrometheusRule の名前。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.