モニタリング
OpenShift Dedicated でのプロジェクトのモニタリング
概要
第1章 モニタリングについて リンクのコピーリンクがクリップボードにコピーされました!
1.1. OpenShift Dedicated モニタリングについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、Red Hat Site Reliability Engineering (SRE) のプラットフォームメトリクスから切り離して、お客様自身のプロジェクトを監視できます。追加のモニタリングソリューションを必要とせずに独自のプロジェクトを監視できます。
OpenShift Dedicated モニタリングスタックは、Prometheus オープンソースプロジェクトおよびその幅広いエコシステムをベースとしています。
1.2. モニタリングスタックアーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
モニタリングスタックには、デフォルトのモニタリングコンポーネントと、ユーザー定義プロジェクトを監視するためのコンポーネントが含まれます。
1.2.1. モニタリングスタックについて リンクのコピーリンクがクリップボードにコピーされました!
モニタリングスタックには、以下のコンポーネントが含まれます。
デフォルトのプラットフォームモニタリングコンポーネント。プラットフォームモニタリングコンポーネントのセットは、OpenShift Dedicated のインストール時にデフォルトで
openshift-monitoring
プロジェクトにインストールされます。Red Hat Site Reliability Engineer (SRE) は、これらのコンポーネントを使用して、Kubernetes サービスを含むコアクラスターコンポーネントを監視します。これには、全 namespace に含まれるすべてのワークロードから収集された CPU やメモリーなどの重要なメトリクスが含まれます。これらのコンポーネントは、以下の図の Installed by default セクションで説明されています。
-
ユーザー定義のプロジェクトをモニターするためのコンポーネント。ユーザー定義のプロジェクトモニタリングコンポーネントのセットは、OpenShift Dedicated のインストール中にデフォルトで
openshift-user-workload-monitoring
プロジェクトにインストールされます。これらのコンポーネントを使用して、ユーザー定義プロジェクトのサービスと Pod をモニターできます。これらのコンポーネントは、以下の図の User セクションで説明されています。
1.2.1.1. デフォルトのモニタリングターゲット リンクのコピーリンクがクリップボードにコピーされました!
以下は、OpenShift Dedicated クラスターで Red Hat Site Reliability Engineer (SRE) によって監視されるターゲットの例です。
- CoreDNS
- etcd
- HAProxy
- イメージレジストリー
- Kubelets
- Kubernetes API サーバー
- Kubernetes コントローラーマネージャー
- Kubernetes スケジューラー
- OpenShift API サーバー
- OpenShift Controller Manager
- Operator Lifecycle Manager (OLM)
ターゲットの正確なリストは、クラスターの機能とインストールされているコンポーネントによって異なる場合があります。
1.2.2. ユーザー定義プロジェクトをモニターするためのコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated には、ユーザー定義プロジェクトでサービスおよび Pod をモニターできるモニタリングスタックのオプションの拡張機能が含まれています。この機能には、以下のコンポーネントが含まれます。
コンポーネント | 説明 |
---|---|
Prometheus Operator |
|
Prometheus | Prometheus は、ユーザー定義のプロジェクト用にモニタリング機能が提供されるモニタリングシステムです。Prometheus は処理のためにアラートを Alertmanager に送信します。 |
Thanos Ruler | Thanos Ruler は、別のプロセスとしてデプロイされる Prometheus のルール評価エンジンです。OpenShift Dedicated では、Thanos Ruler はユーザー定義プロジェクトのモニタリングに関するルールおよびアラート評価を提供します。 |
Alertmanager | Alertmanager サービスは、Prometheus および Thanos Ruler から送信されるアラートを処理します。Alertmanager はユーザー定義のアラートを外部通知システムに送信します。このサービスのデプロイは任意です。 |
これらのすべてのコンポーネントはスタックによってモニターされ、OpenShift Dedicated の更新時に自動的に更新されます。
1.2.2.1. ユーザー定義プロジェクトのターゲットのモニタリング リンクのコピーリンクがクリップボードにコピーされました!
モニタリングは、OpenShift Dedicated のユーザー定義プロジェクトについてデフォルトで有効にされます。以下をモニターできます。
- ユーザー定義プロジェクトのサービスエンドポイント経由で提供されるメトリクス。
- ユーザー定義プロジェクトで実行される Pod。
1.2.3. 高可用性クラスターでのモニタリングスタック リンクのコピーリンクがクリップボードにコピーされました!
マルチノードクラスターでは、データの損失やサービスの停止を防ぐために、次のコンポーネントがデフォルトで高可用性 (HA) モードで実行されます。
- Prometheus
- Alertmanager
- Thanos Ruler
コンポーネントは 2 つの Pod にレプリケートされ、それぞれが別のノードで実行されます。そのため、モニタリングスタックは 1 つの Pod の損失に耐えることができます。
- HA モードの Prometheus
- 両方のレプリカが独立して同じターゲットをスクレイピングし、同じルールを評価します。
- レプリカは相互に通信しません。したがって、Pod 間でデータが異なる場合があります。
- HA モードの Alertmanager
- 2 つのレプリカが通知とサイレンス状態を相互に同期します。これにより、各通知が少なくとも 1 回は送信されます。
- レプリカが通信に失敗した場合、または受信側に問題がある場合、通知は送信されますが、重複する可能性があります。
Prometheus、Alertmanager、Thanos Ruler はステートフルコンポーネントです。高可用性を実現するには、これらのコンポーネントを永続ストレージを使用して設定する必要があります。
1.2.4. OpenShift Dedicated モニタリングの一般用語の用語集 リンクのコピーリンクがクリップボードにコピーされました!
この用語集では、OpenShift Dedicated アーキテクチャーで使用される一般的な用語を定義します。
- Alertmanager
- Alertmanager は、Prometheus から受信したアラートを処理します。また、Alertmanager は外部の通知システムにアラートを送信します。
- アラートルール
- アラートルールには、クラスター内の特定の状態を示す一連の条件が含まれます。アラートは、これらの条件が true の場合にトリガーされます。アラートルールには、アラートのルーティング方法を定義する重大度を割り当てることができます。
- Cluster Monitoring Operator
- Cluster Monitoring Operator (CMO) は、モニタリングスタックの中心的なコンポーネントです。Thanos Querier、Telemeter Client、メトリクスターゲットなどの Prometheus インスタンスをデプロイおよび管理して、それらが最新であることを確認します。CMO は Cluster Version Operator (CVO) によってデプロイされます。
- Cluster Version Operator
- Cluster Version Operator (CVO) は、クラスター Operator のライフサイクルを管理します。クラスター Operator の多くは、デフォルトで OpenShift Dedicated にインストールされます。
- config map
-
config map は、設定データを Pod に注入する方法を提供します。タイプ
ConfigMap
のボリューム内の config map に格納されたデータを参照できます。Pod で実行しているアプリケーションは、このデータを使用できます。 - コンテナー
- コンテナーは、ソフトウェアとそのすべての依存関係を含む軽量で実行可能なイメージです。コンテナーは、オペレーティングシステムを仮想化します。そのため、コンテナーはデータセンターからパブリッククラウド、プライベートクラウド、開発者のラップトップなどまで、場所を問わずコンテナーを実行できます。
- カスタムリソース (CR)
- CR は Kubernetes API のエクステンションです。カスタムリソースを作成できます。
- etcd
- etcd は OpenShift Dedicated のキー/値ストアであり、すべてのリソースオブジェクトの状態を保存します。
- Fluentd
Fluentd は、各 OpenShift Dedicated ノードに常駐するログコレクターです。アプリケーション、インフラストラクチャー、および監査ログを収集し、それらをさまざまな出力に転送します。
注記Fluentd は非推奨となっており、今後のリリースで削除される予定です。Red Hat は、現在のリリースのライフサイクル中にこの機能のバグ修正とサポートを提供しますが、この機能は拡張されなくなりました。Fluentd の代わりに、Vector を使用できます。
- Kubelets
- ノード上で実行され、コンテナーマニフェストを読み取ります。定義されたコンテナーが開始され、実行されていることを確認します。
- Kubernetes API サーバー
- Kubernetes API サーバーは、API オブジェクトのデータを検証して設定します。
- Kubernetes コントローラーマネージャー
- Kubernetes コントローラーマネージャーは、クラスターの状態を管理します。
- Kubernetes スケジューラー
- Kubernetes スケジューラーは Pod をノードに割り当てます。
- labels
- ラベルは、Pod などのオブジェクトのサブセットを整理および選択するために使用できるキーと値のペアです。
- Metrics Server
-
Metrics Server モニタリングコンポーネントはリソースメトリクスを収集し、他のツールや API で使用できるように
metrics.k8s.io
Metrics API サービスで公開します。これにより、コアプラットフォームの Prometheus スタックによるこの機能の処理が不要になります。 - node
- OpenShift Dedicated クラスター内のワーカーマシンです。ノードは、仮想マシン (VM) または物理マシンのいずれかです。
- Operator
- OpenShift Dedicated クラスターで Kubernetes アプリケーションをパッケージ化、デプロイ、および管理するための推奨される方法です。Operator は、人間による操作に関する知識を取り入れて、簡単にパッケージ化してお客様と共有できるソフトウェアにエンコードします。
- Operator Lifecycle Manager (OLM)
- OLM は、Kubernetes ネイティブアプリケーションのライフサイクルをインストール、更新、および管理するのに役立ちます。OLM は、Operator を効果的かつ自動化されたスケーラブルな方法で管理するために設計されたオープンソースのツールキットです。
- 永続ストレージ
- デバイスがシャットダウンされた後でもデータを保存します。Kubernetes は永続ボリュームを使用して、アプリケーションデータを保存します。
- 永続ボリューム要求 (PVC)
- PVC を使用して、PersistentVolume を Pod にマウントできます。クラウド環境の詳細を知らなくてもストレージにアクセスできます。
- Pod
- Pod は、Kubernetes における最小の論理単位です。Pod は、ワーカーノードで実行される 1 つ以上のコンテナーで構成されます。
- Prometheus
- Prometheus は、OpenShift Dedicated モニタリングスタックのベースとなるモニタリングシステムです。Prometheus は Time Series を使用するデータベースであり、メトリクスのルール評価エンジンです。Prometheus は処理のためにアラートを Alertmanager に送信します。
- Prometheus Operator
-
openshift-monitoring
プロジェクトの Prometheus Operator(PO) は、プラットフォーム Prometheus インスタンスおよび Alertmanager インスタンスを作成、設定、および管理します。また、Kubernetes ラベルのクエリーに基づいてモニタリングターゲットの設定を自動生成します。 - サイレンス
- サイレンスをアラートに適用し、アラートの条件が true の場合に通知が送信されることを防ぐことができます。初期通知後はアラートをミュートにして、根本的な問題の解決に取り組むことができます。
- storage
- OpenShift Dedicated は、AWS および GCP 上のさまざまなタイプのストレージをサポートします。OpenShift Dedicated クラスターでは、永続データと非永続データのコンテナーストレージを管理できます。
- Thanos Ruler
- Thanos Ruler は、別のプロセスとしてデプロイされる Prometheus のルール評価エンジンです。OpenShift Dedicated では、Thanos Ruler はユーザー定義プロジェクトのモニタリングに関するルールおよびアラート評価を提供します。
- Vector
- Vector は、各 OpenShift Dedicated ノードにデプロイされるログコレクターです。各ノードからログデータを収集し、データを変換して、設定された出力に転送します。
- Web コンソール
- OpenShift Dedicated を管理するためのユーザーインターフェイス (UI)。
1.3. モニタリングスタックについて - 主な概念 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated のモニタリングの概念と用語を解説します。クラスターのパフォーマンスとスケールを向上させる方法、データを保存および記録する方法、メトリクスとアラートを管理する方法などを説明します。
1.3.1. パフォーマンスとスケーラビリティーについて リンクのコピーリンクがクリップボードにコピーされました!
クラスターのパフォーマンスとスケールを最適化できます。次のアいずれかのアクションを実行して、モニタリングスタックを設定できます。
モニタリングコンポーネントの配置と分散を制御します。
- ノードセレクターを使用して、コンポーネントを特定のノードに移動します。
- taint されたノードにコンポーネントを移動できるように toleration を割り当てます。
- Pod トポロジー分散制約を使用します。
- CPU とメモリーのリソースを管理します。
1.3.1.1. ノードセレクターを使用したモニタリングコンポーネントの移動 リンクのコピーリンクがクリップボードにコピーされました!
ラベル付きノードで nodeSelector
制約を使用すると、任意のモニタリングスタックコンポーネントを特定ノードに移動できます。これにより、クラスター全体のモニタリングコンポーネントの配置と分散を制御できます。
モニタリングコンポーネントの配置と分散を制御して、システムリソースの使用を最適化し、パフォーマンスを高め、特定の要件やポリシーに基づいてワークロードを分離できます。
ノードセレクターと他の制約の連携
ノードセレクターの制約を使用してモニタリングコンポーネントを移動する場合、クラスターに Pod のスケジューリングを制御するための他の制約があることに注意してください。
- Pod の配置を制御するために、トポロジー分散制約が設定されている可能性があります。
- Prometheus、Alertmanager、およびその他のモニタリングコンポーネントでは、コンポーネントの複数の Pod が必ず異なるノードに分散されて高可用性が常に確保されるように、ハードな非アフィニティールールが設定されています。
ノード上で Pod をスケジュールする場合、Pod スケジューラーは既存の制約をすべて満たすように Pod の配置を決定します。つまり、Pod スケジューラーがどの Pod をどのノードに配置するかを決定する際に、すべての制約が組み合わされます。
そのため、ノードセレクター制約を設定しても既存の制約をすべて満たすことができない場合、Pod スケジューラーはすべての制約をマッチさせることができず、ノードへの Pod 配置をスケジュールしません。
モニタリングコンポーネントの耐障害性と高可用性を維持するには、コンポーネントを移動するノードセレクター制約を設定する際に、十分な数のノードが利用可能で、すべての制約がマッチすることを確認してください。
1.3.1.2. モニタリングのための Pod トポロジー分散制約について リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated Pod が複数のアベイラビリティーゾーンにデプロイされている場合、Pod トポロジーの分散制約を使用して、モニタリング Pod がネットワークトポロジー全体にどのように分散されるかを制御できます。
Pod トポロジーの分散制約は、ノードがリージョンやリージョン内のゾーンなど、さまざまなインフラストラクチャーレベルに分散している階層トポロジー内で Pod のスケジューリングを制御するのに適しています。さらに、さまざまなゾーンで Pod をスケジュールできるため、特定のシナリオでネットワーク遅延を改善できます。
Cluster Monitoring Operator によってデプロイされたすべての Pod に対して Pod トポロジーの分散制約を設定し、ゾーン全体のノードに Pod レプリカをスケジュールする方法を制御できます。これにより、ワークロードが異なるデータセンターまたは階層型インフラストラクチャーゾーンのノードに分散されるため、Pod の可用性が高まり、より効率的に実行されるようになります。
1.3.1.3. モニタリングコンポーネントの制限と要求の指定について リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトを監視する以下のコンポーネントのリソース制限および要求を設定できます。
- Alertmanager
- Prometheus
- Thanos Ruler
リソース制限を定義することで、コンテナーのリソース使用量を制限し、コンテナーが CPU およびメモリーリソースの指定された最大値を超えないようにします。
リソース要求を定義することで、要求されたリソースに一致するのに十分な CPU およびメモリーリソースがあるノードでのみコンテナーをスケジュールできることを指定します。
1.3.2. データの保存と記録について リンクのコピーリンクがクリップボードにコピーされました!
データを保存および記録することで、データを保護し、トラブルシューティングに役立てることができます。次のアいずれかのアクションを実行して、モニタリングスタックを設定できます。
永続ストレージを設定します。
- メトリクスとアラートデータを永続ボリューム (PV) に保存することで、データ損失から保護します。その結果、Pod が再起動または再作成されても存続できます。
- Alertmanager Pod が再起動したときに、重複した通知を受信したり、アラートのサイレンスが失われたりするのを回避します。
- Prometheus および Thanos Ruler メトリクスデータの保持時間とサイズを変更します。
クラスターの問題のトラブルシューティングに役立つロギングを設定します。
- モニタリングのログレベルを設定します。
- Prometheus および Thanos Querier のクエリーロギングを有効にします。
1.3.2.1. Prometheus メトリクスの保持時間とサイズ リンクのコピーリンクがクリップボードにコピーされました!
デフォルトで、Prometheus がメトリクスデータを保持する期間のデフォルトは以下のとおりです。
- コアプラットフォームのモニタリング: 15 日間
- ユーザー定義プロジェクトの監視: 24 時間
Prometheus インスタンスの保持時間を変更して、データが削除されるまでの時間を変更できます。保持されるメトリクスデータが使用するディスク容量の最大量を設定することもできます。データがこのサイズ制限に達すると、使用するディスク領域が上限を下回るまで、Prometheus は最も古いデータを削除します。
これらのデータ保持設定は、以下の挙動に注意してください。
-
サイズベースのリテンションポリシーは、
/prometheus
ディレクトリー内のすべてのデータブロックディレクトリーに適用され、永続ブロック、ライトアヘッドログ (WAL) データ、および m-mapped チャンクも含まれます。 -
wal
と/head_chunks
ディレクトリーのデータは保持サイズ制限にカウントされますが、Prometheus はサイズまたは時間ベースの保持ポリシーに基づいてこれらのディレクトリーからデータをパージすることはありません。したがって、/wal
ディレクトリーおよび/head_chunks
ディレクトリーに設定された最大サイズよりも低い保持サイズ制限を設定すると、/prometheus
データディレクトリーにデータブロックを保持しないようにシステムを設定している。 - サイズベースの保持ポリシーは、Prometheus が新規データブロックをカットする場合にのみ適用されます。これは、WAL に少なくとも 3 時間のデータが含まれてから 2 時間ごとに実行されます。
-
retention
またはretentionSize
の値を明示的に定義しない場合、保持期間のデフォルトは、コアプラットフォームの監視は 15 日間、ユーザー定義プロジェクトの監視は 24 時間です。保持サイズは設定されていません。 -
retention
およびretentionSize
の両方に値を定義すると、両方の値が適用されます。データブロックが定義された保持時間または定義されたサイズ制限を超える場合、Prometheus はこれらのデータブロックをパージします。 -
retentionSize
の値を定義してretention
を定義しない場合、retentionSize
値のみが適用されます。 -
retentionSize
の値を定義しておらず、pretention
の値のみを定義する場合、retention
値のみが適用されます。 -
retentionSize
またはretention
の値を0
に設定すると、デフォルト設定が適用されます。保持期間のデフォルト設定は、コアプラットフォームの監視の場合は 15 日間、ユーザー定義プロジェクトの監視の場合は 24 時間です。デフォルトでは、保持サイズは設定されていません。
データコンパクションは 2 時間ごとに実行されます。そのため、コンパクションが実行される前に永続ボリューム (PV) がいっぱいになり、retentionSize
制限を超える可能性があります。その場合、PV 上のスペースが retentionSize
制限を下回るまで、KubePersistentVolumeFillingUp
アラートが発生します。
1.3.3. メトリクスについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、クラスターコンポーネントはサービスエンドポイントで公開されるメトリクスを収集することによりモニターされます。ユーザー定義プロジェクトのメトリクスのコレクションを設定することもできます。メトリクスを使用すると、クラスターコンポーネントおよび独自のワークロードの実行方法をモニターできます。
Prometheus クライアントライブラリーをアプリケーションレベルで使用することで、独自のワークロードに指定するメトリクスを定義できます。
OpenShift Dedicated では、メトリクスは /metrics
の正規名の下に HTTP サービスエンドポイント経由で公開されます。curl
クエリーを http://<endpoint>/metrics
に対して実行して、サービスの利用可能なすべてのメトリクスをリスト表示できます。たとえば、prometheus-example-app
サンプルアプリケーションへのルートを公開し、以下のコマンドを実行して利用可能なすべてのメトリクスを表示できます。
curl http://<example_app_endpoint>/metrics
$ curl http://<example_app_endpoint>/metrics
出力例
1.3.3.1. ユーザー定義プロジェクトでバインドされていないメトリクス属性の影響の制御 リンクのコピーリンクがクリップボードにコピーされました!
開発者は、キーと値のペアの形式でメトリクスの属性を定義するためにラベルを作成できます。使用できる可能性のあるキーと値のペアの数は、属性に使用できる可能性のある値の数に対応します。数が無制限の値を持つ属性は、バインドされていない属性と呼ばれます。たとえば、customer_id
属性は、使用できる値が無限にあるため、バインドされていない属性になります。
割り当てられるキーと値のペアにはすべて、一意の時系列があります。ラベルに多数のバインドされていない値を使用すると、作成される時系列の数が指数関数的に増加する可能性があります。これは Prometheus のパフォーマンスに影響する可能性があり、多くのディスク領域を消費する可能性があります。
dedicated-admin
は、以下の手段を使用して、ユーザー定義プロジェクトでのバインドされていないメトリクス属性の影響を制御できます。
- ユーザー定義プロジェクトでターゲットスクレイピングごとの許容可能なサンプル数を制限する
- スクレイピングするラベルの数、ラベル名の長さ、ラベル値の長さを制限する
- 連続するスクレイピング間および Prometheus ルール評価間の間隔を設定する
- スクレイピングサンプルのしきい値に達した場合、またはターゲットをスクレイピングできない場合に発するアラートを作成する
スクレイピングサンプル数を制限すると、ラベルにバインドされない属性を多数追加することによって発生する問題を防ぐことができます。さらに開発者は、メトリクスに定義するバインドされていない属性の数を制限することにより、根本的な原因を防ぐことができます。使用可能な値の制限されたセットにバインドされる属性を使用すると、可能なキーと値のペアの組み合わせの数が減ります。
1.3.3.2. クラスター ID ラベルのメトリクスへの追加 リンクのコピーリンクがクリップボードにコピーされました!
複数の OpenShift Dedicated クラスターを管理し、リモート書き込み機能を使用してメトリクスデータをこれらのクラスターから外部ストレージの場所に送信する場合、クラスター ID ラベルを追加して、異なるクラスターから送られるメトリクスデータを特定できます。次に、これらのラベルを取得し、メトリクスのソースクラスターを特定し、そのデータを他のクラスターによって送信される同様のメトリクスデータと区別することができます。
これにより、複数の顧客に対して多数のクラスターを管理し、メトリクスデータを単一の集中ストレージシステムに送信する場合、クラスター ID ラベルを使用して特定のクラスターまたはお客様のメトリクスをクエリーできます。
クラスター ID ラベルの作成および使用には、以下の 3 つの一般的な手順が必要です。
- リモート書き込みストレージの書き込みラベルの設定。
- クラスター ID ラベルをメトリクスに追加します。
- これらのラベルを取得し、メトリクスのソースクラスターまたはカスタマーを特定します。
1.3.4. モニタリングダッシュボードについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated は、クラスターコンポーネントとユーザー定義のワークロードの状態を理解するのに役立つ一連の監視ダッシュボードを提供します。
OpenShift Dedicated 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。
すべてのユーザーが、OpenShift Dedicated Web コンソールのすべての機能を操作できます。ただし、クラスター所有者でない場合は、特定の機能に対する権限をクラスター所有者に要求する必要がある場合があります。
引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。
管理者は、以下の項目を含め、OpenShift Dedicated のコアコンポーネントのダッシュボードにアクセスできます。
- API パフォーマンス
- etcd
- Kubernetes コンピュートリソース
- Kubernetes ネットワークリソース
- Prometheus
- クラスターおよびノードのパフォーマンスに関連する USE メソッドダッシュボード
- ノードのパフォーマンスメトリクス
1.3.5. アラートの管理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、アラート UI を使用してアラート、サイレンス、およびアラートルールを管理できます。
- アラートルール。アラートルールには、クラスター内の特定の状態を示す一連の条件が含まれます。アラートは、これらの条件が true の場合にトリガーされます。アラートルールには、アラートのルーティング方法を定義する重大度を割り当てることができます。
- アラート。アラートは、アラートルールで定義された条件が true の場合に発生します。アラートは、OpenShift Dedicated クラスター内で一連の状況が明らかであることを通知します。
- サイレンス。サイレンスをアラートに適用し、アラートの条件が true の場合に通知が送信されることを防ぐことができます。最初の通知の後、問題の解決に取り組んでいる間は、アラートをミュートすることができます。
アラート UI で利用可能なアラート、サイレンス、およびアラートルールは、アクセス可能なプロジェクトに関連付けられます。たとえば、cluster-admin
ロールを持つユーザーとしてログインしている場合は、すべてのアラート、サイレント、およびアラートルールにアクセスできます。
1.3.5.1. サイレンスの管理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated Web コンソールでアラートのサイレンスを作成できます。サイレンスを作成すると、アラートが発生したときにアラートに関する通知を受信しなくなります。
サイレントの作成は、最初のアラート通知を受信し、アラートの発生の原因となっている根本的な問題を解決するまでの間、さらなる通知を受け取りたくないシナリオで役立ちます。
サイレンスの作成時に、サイレンスをすぐにアクティブにするか、後にアクティブにするかを指定する必要があります。また、サイレンスの有効期限を設定する必要もあります。
サイレンスを作成した後、それらを表示、編集、および期限切れにすることができます。
サイレンスを作成すると、それらは Alertmanager Pod 全体に複製されます。ただし、Alertmanager の永続ストレージを設定しないと、サイレンスが失われる可能性があります。これは、たとえば、すべての Alertmanager Pod が同時に再起動した場合に発生する可能性があります。
1.3.5.2. ユーザー定義プロジェクトのアラートルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、ユーザー定義のプロジェクトのアラートルールを作成できます。これらのアラートルールは、選択したメトリクスの値に基づいてアラートをトリガーします。
ユーザー定義プロジェクトのアラートルールを作成する場合は、新しいルールを定義する際に次の主要な動作と重要な制限事項を考慮してください。
ユーザー定義のアラートルールには、コアプラットフォームのモニタリングからのデフォルトメトリクスに加えて、独自のプロジェクトが公開したメトリクスを含めることができます。別のユーザー定義プロジェクトのメトリクスを含めることはできません。
たとえば、
ns1
ユーザー定義プロジェクトのアラートルールでは、CPU やメモリーメトリクスなどのコアプラットフォームメトリクスに加えて、ns1
プロジェクトが公開したメトリクスも使用できます。ただし、ルールには、別のns2
ユーザー定義プロジェクトからのメトリクスを含めることはできません。-
デフォルトでは、アラートルールを作成すると、別のプロジェクトに同じ名前のルールが存在する場合でも、
namespace
ラベルがそのアラートルールに適用されます。元のプロジェクトにバインドされないアラートルールを作成するには、「ユーザー定義プロジェクトのクロスプロジェクトアラートルールの作成」を参照してください。 レイテンシーを短縮し、コアプラットフォームモニタリングコンポーネントの負荷を最小限に抑えるために、ルールに
openshift.io/prometheus-rule-evaluation-scope: leaf-prometheus
ラベルを追加できます。このラベルは、openshift-user-workload-monitoring
プロジェクトにデプロイされた Prometheus インスタンスのみにアラートルールの評価を強制し、Thanos Ruler インスタンスによる評価を防ぎます。重要アラートルールにこのラベルが付いている場合、そのアラートルールはユーザー定義プロジェクトが公開するメトリクスのみを使用できます。デフォルトのプラットフォームメトリクスに基づいて作成したアラートルールでは、アラートがトリガーされない場合があります。
1.3.5.3. ユーザー定義プロジェクトのアラートルールの管理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、ユーザー定義のプロジェクトでアラートルールを表示、編集、削除できます。
ユーザー定義プロジェクトのアラートルールの管理は、OpenShift Dedicated バージョン 4.11 以降でのみ利用できます。
アラートルールに関する考慮事項
- デフォルトのアラートルールは OpenShift Dedicated クラスター専用に使用されます。
- 一部のアラートルールには、複数の意図的に同じ名前が含まれます。それらは同じイベントに関するアラートを送信しますが、それぞれ異なるしきい値、重大度およびそれらの両方が設定されます。
- 抑制 (inhibition) ルールは、高い重大度のアラートが実行される際に実行される低い重大度のアラートの通知を防ぎます。
1.3.5.4. ユーザー定義プロジェクトのアラートの最適化 リンクのコピーリンクがクリップボードにコピーされました!
アラートルールの作成時に以下の推奨事項を考慮して、独自のプロジェクトのアラートを最適化できます。
- プロジェクト用に作成するアラートルールの数を最小限にします。影響を与える状況を通知するアラートルールを作成します。影響を与えない条件に対して多数のアラートを生成すると、関連するアラートに気づくのがさらに困難になります。
- 原因ではなく現象に関するアラートルールを作成します。根本的な原因に関係なく、状態を通知するアラートルールを作成します。次に、原因を調査できます。アラートルールのそれぞれが特定の原因にのみ関連する場合に、さらに多くのアラートルールが必要になります。そのため、いくつかの原因は見落される可能性があります。
- アラートルールを作成する前にプランニングを行います。重要な現象と、その発生時に実行するアクションを決定します。次に、現象別にアラートルールをビルドします。
- クリアなアラートメッセージングを提供します。アラートメッセージに現象および推奨されるアクションを記載します。
- アラートルールに重大度レベルを含めます。アラートの重大度は、報告される現象が生じた場合に取るべき対応によって異なります。たとえば、現象に個人または緊急対策チーム (Critical Response Team) による早急な対応が必要な場合は、重大アラートをトリガーする必要があります。
1.3.5.5. アラート、サイレンスおよびアラートルールの検索およびフィルター リンクのコピーリンクがクリップボードにコピーされました!
アラート UI に表示されるアラート、サイレンス、およびアラートルールをフィルターできます。このセクションでは、利用可能な各フィルターオプションを説明します。
1.3.5.5.1. アラートフィルターについて リンクのコピーリンクがクリップボードにコピーされました!
アラート UI の Alerts ページには、デフォルトの OpenShift Dedicated プロジェクトおよびユーザー定義プロジェクトに関連するアラートの詳細が表示されます。このページには、各アラートの重大度、状態、およびソースの概要が含まれます。アラートが現在の状態に切り替わった時間も表示されます。
アラートの状態、重大度、およびソースでフィルターできます。デフォルトでは、Firing の Platform アラートのみが表示されます。以下では、それぞれのアラートフィルターオプションを説明します。
State フィルター:
-
Firing。アラート条件が true で、オプションの
for
の期間を経過しているためにアラートが実行されます。条件が true である間、アラートの発生が続きます。 - Pending。アラートはアクティブですが、アラート実行前のアラートルールに指定される期間待機します。
- Silenced。指定の期間、アラートがサイレントになります。定義するラベルセレクターのセットに基づいてアラートを一時的にミュートします。リストされたすべての値または正規表現に一致するアラートの土は送信されません。
-
Firing。アラート条件が true で、オプションの
Severity フィルター:
- Critical。アラートをトリガーした状態は重大な影響を与える可能性があります。このアラートには、実行時に早急な対応が必要となり、通常は個人または緊急対策チーム (Critical Response Team) に送信先が設定されます。
- Warning。アラートは、問題の発生を防ぐために注意が必要になる可能性のある問題に関する警告通知を提供します。通常、警告は早急な対応を要さないレビュー用にチケットシステムにルート指定されます。
- Info。アラートは情報提供のみを目的として提供されます。
- None。アラートには重大度が定義されていません。
- また、ユーザー定義プロジェクトに関連するアラートの重大度の定義を作成することもできます。
Source フィルター:
- Platform。プラットフォームレベルのアラートは、デフォルトの OpenShift Dedicated プロジェクトにのみ該当します。これらのプロジェクトは OpenShift Dedicated のコア機能を提供します。
- User。ユーザーアラートはユーザー定義のプロジェクトに関連します。これらのアラートはユーザーによって作成され、カスタマイズ可能です。ユーザー定義のワークロードモニタリングはインストール後に有効にでき、独自のワークロードへの可観測性を提供します。
1.3.5.5.2. サイレンスフィルターについて リンクのコピーリンクがクリップボードにコピーされました!
アラート UI の Silences ページには、デフォルトの OpenShift Dedicated プロジェクトおよびユーザー定義プロジェクトのアラートに適用されるサイレンスの詳細が表示されます。このページには、それぞれのサイレンスの状態の概要とサイレンスが終了する時間の概要が含まれます。
サイレンス状態でフィルターを実行できます。デフォルトでは、Active および Pending のサイレンスのみが表示されます。以下は、それぞれのサイレンス状態のフィルターオプションを説明しています。
State フィルター:
- Active。サイレンスはアクティブで、アラートはサイレンスが期限切れになるまでミュートされます。
- Pending。サイレンスがスケジュールされており、アクティブな状態ではありません。
- Expiredアラートの条件が true の場合は、サイレンスが期限切れになり、通知が送信されます。
1.3.5.5.3. アラートルールフィルターについて リンクのコピーリンクがクリップボードにコピーされました!
アラート UI の Alerting rules ページには、デフォルトの OpenShift Dedicated プロジェクトおよびユーザー定義プロジェクトに関連するアラートルールの詳細が表示されます。このページには、各アラートルールの状態、重大度およびソースの概要が含まれます。
アラート状態、重大度、およびソースを使用してアラートルールをフィルターできます。デフォルトでは、プラットフォーム のアラートルールのみが表示されます。以下では、それぞれのアラートルールのフィルターオプションを説明します。
Alert state フィルター:
-
Firing。アラート条件が true で、オプションの
for
の期間を経過しているためにアラートが実行されます。条件が true である間、アラートの発生が続きます。 - Pending。アラートはアクティブですが、アラート実行前のアラートルールに指定される期間待機します。
- Silenced。指定の期間、アラートがサイレントになります。定義するラベルセレクターのセットに基づいてアラートを一時的にミュートします。リストされたすべての値または正規表現に一致するアラートの土は送信されません。
- Not Firingアラートは実行されません。
-
Firing。アラート条件が true で、オプションの
Severity フィルター:
- Critical。アラートルールで定義される状態は重大な影響を与える可能性があります。true の場合は、この状態に早急な対応が必要です。通常、ルールに関連するアラートは個別または緊急対策チーム (Critical Response Team) に送信先が設定されます。
- Warning。アラートルールで定義される状態は、問題の発生を防ぐために注意を要する場合があります。通常、ルールに関連するアラートは早急な対応を要さないレビュー用にチケットシステムにルート指定されます。
- Info。アラートルールは情報アラートのみを提供します。
- None。アラートルールには重大度が定義されていません。
- ユーザー定義プロジェクトに関連するアラートルールのカスタム重大度定義を作成することもできます。
Source フィルター:
- Platform。プラットフォームレベルのアラートルールは、デフォルトの OpenShift Dedicated プロジェクトにのみ該当します。これらのプロジェクトは OpenShift Dedicated のコア機能を提供します。
- User。ユーザー定義のワークロードアラートルールは、ユーザー定義プロジェクトに関連します。これらのアラートルールはユーザーによって作成され、カスタマイズ可能です。ユーザー定義のワークロードモニタリングはインストール後に有効にでき、独自のワークロードへの可観測性を提供します。
1.3.6. ユーザー定義プロジェクトのアラートルーティングについて リンクのコピーリンクがクリップボードにコピーされました!
dedicated-admin
として、ユーザー定義プロジェクトのアラートルーティングを有効にすることができます。この機能を使用すると、alert-routing-edit
クラスターロールを持つユーザーが、ユーザー定義プロジェクトのアラート通知ルーティングとレシーバーを設定できるようになります。これらの通知は、ユーザー定義の監視専用の Alertmanager インスタンスによってルーティングされます。
次に、ユーザーはユーザー定義プロジェクトの AlertmanagerConfig
オブジェクトを作成または編集して、ユーザー定義のアラートルーティングを作成し、設定できます。
ユーザー定義プロジェクトのアラートルーティングをユーザーが定義すると、ユーザー定義のアラート通知が openshift-user-workload-monitoring
namespace の alertmanager-user-workload
Pod にルーティングされます。
ユーザー定義プロジェクトのアラートルーティングに関する次の制限事項を確認してください。
-
ユーザー定義のアラートルールの場合、ユーザー定義のルーティングはリソースが定義される namespace に対してスコープ指定されます。たとえば、namespace
ns1
のルーティング設定は、同じ namespace のPrometheusRules
リソースにのみ適用されます。 -
namespace がユーザー定義のモニタリングから除外される場合、namespace の
AlertmanagerConfig
リソースは、Alertmanager 設定の一部ではなくなります。
1.3.7. 外部システムへの通知の送信 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated 4 では、アラートの起動をアラート UI で表示できます。アラートは、デフォルトでは通知システムに送信されるように設定されません。以下のレシーバータイプにアラートを送信するように OpenShift Dedicated を設定できます。
- PagerDuty
- Webhook
- Slack
- Microsoft Teams
レシーバーへのアラートのルートを指定することにより、障害が発生する際に適切なチームに通知をタイムリーに送信できます。たとえば、重大なアラートには早急な対応が必要となり、通常は個人または緊急対策チーム (Critical Response Team) に送信先が設定されます。重大ではない警告通知を提供するアラートは、早急な対応を要さないレビュー用にチケットシステムにルート指定される可能性があります。
Watchdog アラートの使用によるアラートが機能することの確認
OpenShift Dedicated モニタリングには、継続的に発生するウォッチドッグアラートが含まれます。Alertmanager は、Watchdog のアラート通知を設定された通知プロバイダーに繰り返し送信します。通常、プロバイダーは Watchdog アラートの受信を停止する際に管理者に通知するように設定されます。このメカニズムは、Alertmanager と通知プロバイダー間の通信に関連する問題を迅速に特定するのに役立ちます。
第2章 スタートガイド リンクのコピーリンクがクリップボードにコピーされました!
2.1. モニタリングのメンテナンスおよびサポート リンクのコピーリンクがクリップボードにコピーされました!
モニタリングスタックのすべての設定オプションが公開されているわけではありません。OpenShift Dedicated モニタリング設定で唯一サポートされている方法は、Cluster Monitoring Operator (CMO) の Config map リファレンスで説明されているオプションを使用して Cluster Monitoring Operator を設定する方法です。サポートされていない他の設定は使用しないでください。
設定のパラダイムが Prometheus リリース間で変更される可能性があり、このような変更には、設定のすべての可能性が制御されている場合のみ適切に対応できます。Cluster Monitoring Operator の Config map リファレンス で説明されている設定以外の設定を使用すると、デフォルトおよび設計により、CMO が自動的に差異を調整し、サポートされていない変更を元の定義済みの状態にリセットするため、変更は消えてしまいます。
別の Prometheus インスタンスのインストールは、Red Hat Site Reliability Engineers (SRE) ではサポートされていません。
2.1.1. モニタリングのサポートに関する考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
メトリクス、記録ルールまたはアラートルールの後方互換性を保証されません。
以下の変更は明示的にサポートされていません。
- カスタム Prometheus インスタンスの OpenShift Dedicated へのインストールカスタムインスタンスは、Prometheus Operator によって管理される Prometheus カスタムリソース (CR) です。
-
デフォルトのプラットフォームモニタリングコンポーネントを変更します。
cluster-monitoring-config
config map で定義されているコンポーネントは変更しないでください。Red Hat SRE は、これらのコンポーネントを使用して、コアクラスターコンポーネントと Kubernetes サービスをモニターします。
2.1.2. モニタリングコンポーネントのバージョンマトリックスのサポート リンクのコピーリンクがクリップボードにコピーされました!
以下のマトリックスには、OpenShift Dedicated 4.12 以降のリリースのモニタリングコンポーネントのバージョンに関する情報が含まれています。
OpenShift Dedicated | Prometheus Operator | Prometheus | Metrics Server | Alertmanager | kube-state-metrics エージェント | monitoring-plugin | node-exporter エージェント | Thanos |
---|---|---|---|---|---|---|---|---|
4.19 | 0.81.0 | 3.2.1 | 0.7.2 | 0.28.1 | 2.15.0 | 1.0.0 | 1.9.1 | 0.37.2 |
4.18 | 0.78.1 | 2.55.1 | 0.7.2 | 0.27.0 | 2.13.0 | 1.0.0 | 1.8.2 | 0.36.1 |
4.17 | 0.75.2 | 2.53.1 | 0.7.1 | 0.27.0 | 2.13.0 | 1.0.0 | 1.8.2 | 0.35.1 |
4.16 | 0.73.2 | 2.52.0 | 0.7.1 | 0.26.0 | 2.12.0 | 1.0.0 | 1.8.0 | 0.35.0 |
4.15 | 0.70.0 | 2.48.0 | 0.6.4 | 0.26.0 | 2.10.1 | 1.0.0 | 1.7.0 | 0.32.5 |
4.14 | 0.67.1 | 2.46.0 | 該当なし | 0.25.0 | 2.9.2 | 1.0.0 | 1.6.1 | 0.30.2 |
4.13 | 0.63.0 | 2.42.0 | 該当なし | 0.25.0 | 2.8.1 | 該当なし | 1.5.0 | 0.30.2 |
4.12 | 0.60.1 | 2.39.1 | 該当なし | 0.24.0 | 2.6.0 | 該当なし | 1.4.0 | 0.28.1 |
openshift-state-metrics エージェントと Telemeter Client は、OpenShift 固有のコンポーネントです。したがって、それらのバージョンは OpenShift Dedicated のバージョンに対応します。
2.2. ユーザー定義プロジェクトのモニタリングのアクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated クラスターをインストールすると、ユーザー定義プロジェクトのモニタリングがデフォルトで有効になります。ユーザー定義プロジェクトのモニタリングを有効にすると、追加のモニタリングソリューションを必要とせずに、独自の OpenShift Dedicated プロジェクトをモニタリングできます。
dedicated-admin
ユーザーには、ユーザー定義プロジェクトのモニタリングを設定し、アクセスするためのデフォルトのパーミッションがあります。
カスタム Prometheus インスタンスおよび Operator Lifecycle Manager (OLM) でインストールされる Prometheus Operator では、ユーザー定義のプロジェクトモニタリングが有効である場合にこれに関する問題が生じる可能性があります。カスタム Prometheus インスタンスはサポートされません。
必要に応じて、クラスターのインストール中またはインストール後に、ユーザー定義プロジェクトの監視を無効にすることができます。
2.3. ユーザー定義プロジェクトのモニタリングの無効化 リンクのコピーリンクがクリップボードにコピーされました!
dedicated-admin
として、ユーザー定義プロジェクトのモニタリングを無効にすることができます。ユーザーのワークロードモニタリングから個々のプロジェクトを除外することもできます。
2.3.1. ユーザー定義プロジェクトのモニタリングの無効化 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ユーザー定義プロジェクトのモニタリングが有効になっています。ユーザー定義プロジェクトのモニタリングにビルトインモニタリングスタックを使用したくない場合は、それを無効にすることができます。
前提条件
- OpenShift Cluster Manager にログインしている。
手順
- OpenShift Cluster Manager Hybrid Cloud Console からクラスターを選択します。
- Settings タブをクリックします。
Enable user workload monitoring チェックボックスをクリックしてオプションの選択を解除し、Save をクリックします。
ユーザーのワークロードモニタリングは無効になっています。Prometheus、Prometheus Operator、および Thanos Ruler コンポーネントは、
openshift-user-workload-monitoring
プロジェクトで停止されます。
2.3.2. モニタリングからのユーザー定義のプロジェクトを除く リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義のプロジェクトは、ユーザーワークロードモニタリングから除外できます。これを実行するには、openshift.io/user-monitoring
ラベルに false
を指定して、プロジェクトの namespace に追加します。
手順
ラベルをプロジェクト namespace に追加します。
oc label namespace my-project 'openshift.io/user-monitoring=false'
$ oc label namespace my-project 'openshift.io/user-monitoring=false'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow モニタリングを再度有効にするには、namespace からラベルを削除します。
oc label namespace my-project 'openshift.io/user-monitoring-'
$ oc label namespace my-project 'openshift.io/user-monitoring-'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記プロジェクトにアクティブなモニタリングターゲットがあった場合、ラベルを追加した後、Prometheus がそれらのスクレイピングを停止するまでに数分かかる場合があります。
第3章 ユーザーワークロードモニタリングの設定 リンクのコピーリンクがクリップボードにコピーされました!
3.1. ユーザーワークロードモニタリングスタックを設定する準備 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、設定できるユーザー定義のモニタリングコンポーネントと、ユーザーワークロードモニタリングスタックを設定するための準備方法を説明します。
- モニタリングスタックのすべての設定パラメーターが公開されるわけではありません。設定では、Cluster Monitoring Operator の config map リファレンス にリストされているパラメーターとフィールドのみがサポートされます。
3.1.1. 設定可能なモニタリングコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
この表には、設定できるモニタリングコンポーネントと、user-workload-monitoring-config
config map でコンポーネントを指定するために使用されるキーが表示されます。
cluster-monitoring-config
ConfigMap
オブジェクト内のモニタリングコンポーネントを変更しないでください。Red Hat Site Reliability Engineers (SRE) は、これらのコンポーネントを使用して、コアクラスターコンポーネントと Kubernetes サービスを監視します。
コンポーネント | user-workload-monitoring-config 設定マップキー |
---|---|
Prometheus Operator |
|
Prometheus |
|
Alertmanager |
|
Thanos Ruler |
|
3.1.2. ユーザー定義プロジェクトのアラートルーティングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、管理者はユーザー定義のプロジェクトに対してアラートルーティングを有効にできます。このプロセスには、以下の手順が含まれます。
- ユーザー定義プロジェクトのアラートルーティングを有効にして、別の Alertmanager インスタンスを使用します。
- ユーザー定義プロジェクトのアラートルーティングを設定するための権限をユーザーに付与します。
これらの手順を完了すると、開発者およびその他のユーザーはユーザー定義のプロジェクトのカスタムアラートおよびアラートルーティングを設定できます。
3.1.2.1. ユーザー定義のアラートルーティング用の個別の Alertmanager インスタンスの有効化 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、ユーザー定義プロジェクト専用の Alertmanager インスタンスをデプロイして、デフォルトのプラットフォームアラートとは別のユーザー定義アラートを提供できます。このような場合は、必要に応じて、Alertmanager の別のインスタンスを有効にして、ユーザー定義のプロジェクトのみにアラートを送信できます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
user-workload-monitoring-config
ConfigMap
オブジェクトを編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data/config.yaml
の下にあるalertmanager
セクションにenabled: true
およびenableAlertmanagerConfig: true
を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
enabled
の値をtrue
に設定して、クラスター内のユーザー定義プロジェクトの Alertmanager の専用インスタンスを有効にします。値をfalse
に設定するか、キーを完全に省略してユーザー定義プロジェクトの Alertmanager を無効にします。この値をfalse
に設定した場合や、キーを省略すると、ユーザー定義のアラートはデフォルトのプラットフォーム Alertmanager インスタンスにルーティングされます。- 2
enableAlertmanagerConfig
値をtrue
に設定して、ユーザーがAlertmanagerConfig
オブジェクトで独自のアラートルーティング設定を定義できるようにします。
- 変更を適用するためにファイルを保存します。ユーザー定義プロジェクトの Alertmanager の専用インスタンスが自動的に起動します。
検証
alert-manager-user-workload
Pod が実行されていることを確認します。oc -n openshift-user-workload-monitoring get pods
$ oc -n openshift-user-workload-monitoring get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE alertmanager-user-workload-0 6/6 Running 0 38s alertmanager-user-workload-1 6/6 Running 0 38s ...
NAME READY STATUS RESTARTS AGE alertmanager-user-workload-0 6/6 Running 0 38s alertmanager-user-workload-1 6/6 Running 0 38s ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.2.2. ユーザー定義プロジェクトのアラートルーティングを設定するためのユーザーへの権限の付与 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのアラートルーティングを設定する権限をユーザーに付与できます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 - ロールを割り当てるユーザーアカウントがすでに存在している。
-
OpenShift CLI (
oc
) がインストールされている。
手順
ユーザー定義プロジェクトのユーザーに
alert-routing-edit
クラスターロールを割り当てます。oc -n <namespace> adm policy add-role-to-user alert-routing-edit <user>
$ oc -n <namespace> adm policy add-role-to-user alert-routing-edit <user>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<namespace>
は、ns1
などのユーザー定義プロジェクトの namespace に置き換えます。<user>
は、ロールを割り当てるアカウントのユーザー名に置き換えます。
3.2. ユーザーワークロードモニタリングのパフォーマンスとスケーラビリティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
モニタリングスタックを設定して、クラスターのパフォーマンスとスケールを最適化できます。次のドキュメントでは、モニタリングコンポーネントを分散する方法と、モニタリングスタックが CPU およびメモリーリソースに与える影響を制御する方法を説明します。
3.2.1. モニタリングコンポーネントの配置と分散の制御 リンクのコピーリンクがクリップボードにコピーされました!
次の方法で、モニタリングスタックコンポーネントを特定のノードに移動できます。
-
ラベル付きノードで
nodeSelector
制約を使用して、任意のモニタリングスタックコンポーネントを特定のノードに移動します。 - taint されたノードにコンポーネントを移動できるように toleration を割り当てます。
これにより、クラスター全体のモニタリングコンポーネントの配置と分散を制御できます。
モニタリングコンポーネントの配置と分散を制御して、システムリソースの使用を最適化し、パフォーマンスを高め、特定の要件やポリシーに基づいてワークロードを分離できます。
3.2.1.1. モニタリングコンポーネントの異なるノードへの移動 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのワークロードをモニターする任意のコンポーネントを特定のワーカーノードに移動できます。
コンポーネントをコントロールプレーンまたはインフラストラクチャーノードに移動することは許可されていません。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
まだの場合は、モニタリングコンポーネントを実行するノードにラベルを追加します。
oc label nodes <node_name> <node_label>
$ oc label nodes <node_name> <node_label>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<node_name>
は、ラベルを追加するノードの名前に置き換えます。<node_label>
は、必要なラベルの名前に置き換えます。
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
ConfigMap
オブジェクトを編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data/config.yaml
でコンポーネントのnodeSelector
制約のノードラベルを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記nodeSelector
の制約を設定した後もモニタリングコンポーネントがPending
状態のままになっている場合は、Pod イベントで taint および toleration に関連するエラーの有無を確認します。- 変更を適用するためにファイルを保存します。新しい設定で指定されたコンポーネントは自動的に新しいノードに移動され、新しい設定の影響を受ける Pod は再デプロイされます。
3.2.1.2. モニタリングコンポーネントへの toleration の割り当て リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトをモニターするコンポーネントに許容値を割り当てて、テイントされたワーカーノードにプロジェクトを移動できるようにすることができます。コントロールプレーンまたはインフラストラクチャーノードでのスケジューリングは許可されていません。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトは、openshift-user-workload-monitoring
namespace に存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンポーネントの
tolerations
を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow <component>
および<toleration_specification>
を随時置き換えます。たとえば、
oc adm taint nodes node1 key1=value1:NoSchedule
は、キーがkey1
で、値がvalue1
のnode1
に taint を追加します。これにより、モニタリングコンポーネントがnode1
に Pod をデプロイするのを防ぎます。ただし、その taint に対して toleration が設定されている場合を除きます。以下の例では、サンプルの taint を容認するようにthanosRuler
コンポーネントを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
3.2.2. モニタリングコンポーネントの CPU およびメモリーリソースの管理 リンクのコピーリンクがクリップボードにコピーされました!
モニタリングコンポーネントを実行するコンテナーに十分な CPU リソースとメモリーリソースを確保するには、これらのコンポーネントのリソース制限および要求の値を指定します。
openshift-user-workload-monitoring
namespace で、ユーザー定義プロジェクトを監視するモニタリングコンポーネントのリソース制限および要求を設定できます。
3.2.2.1. 制限および要求の指定 リンクのコピーリンクがクリップボードにコピーされました!
CPU およびメモリーリソースを設定するには、openshift-user-workload-monitoring
namespace の user-workload-monitoring-config
ConfigMap
オブジェクトでリソース制限と要求の値を指定します。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとして、またはopenshift-user-workload-monitoring
プロジェクトのuser-workload-monitoring-config-edit
ロールを持つユーザーとして、クラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 値を追加して、設定する各コンポーネントのリソース制限および要求を定義します。
重要制限に設定した値が常に要求に設定された値よりも大きくなることを確認してください。そうでない場合、エラーが発生し、コンテナーは実行されません。
リソース制限とリクエストの設定例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
3.2.3. ユーザー定義プロジェクトでバインドされていないメトリクス属性の影響の制御 リンクのコピーリンクがクリップボードにコピーされました!
dedicated-admin
は、以下の手段を使用して、ユーザー定義プロジェクトでのバインドされていないメトリクス属性の影響を制御できます。
- ユーザー定義プロジェクトでターゲットスクレイピングごとの許容可能なサンプル数を制限する
- スクレイピングするラベルの数、ラベル名の長さ、ラベル値の長さを制限する
- 連続するスクレイピング間および Prometheus ルール評価間の間隔を設定する
スクレイピングサンプル数を制限すると、ラベルにバインドされない属性を多数追加することによって発生する問題を防ぐことができます。さらに開発者は、メトリクスに定義するバインドされていない属性の数を制限することにより、根本的な原因を防ぐことができます。使用可能な値の制限されたセットにバインドされる属性を使用すると、可能なキーと値のペアの組み合わせの数が減ります。
3.2.3.1. ユーザー定義プロジェクトのスクレイピング間隔、評価間隔、および制限適用の設定 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトに対して、次のスクレイピングおよびラベルの制限を設定できます。
- ターゲットスクレイピングごとの許容可能なサンプル数を制限する
- スクレイピングするラベルの数を制限する
- ラベル名とラベル値の長さを制限する
連続するスクレイピング間および Prometheus ルール評価間の間隔を設定することもできます。
サンプルまたはラベルの制限を設定している場合、制限に達した後にそのターゲット収集に関する追加のサンプルデータは取得されません。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
ConfigMap
オブジェクトを編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 適用する制限と時間間隔の設定を
data/config.yaml
に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このパラメーターが指定されている場合は、値が必要です。この
enforcedSampleLimit
の例では、ユーザー定義プロジェクトのターゲット収集ごとに受け入れ可能なサンプル数を 50,000 に制限します。 - 2
- 収集ごとのラベルの最大数を指定します。デフォルト値は
0
で、制限は指定されません。 - 3
- ラベル名の最大文字長を指定します。デフォルト値は
0
で、制限は指定されません。 - 4
- ラベル値の最大文字長を指定します。デフォルト値は
0
で、制限は指定されません。 - 5
- 連続するスクレイピング間の間隔を指定します。間隔は 5 秒から 5 分の間で設定する必要があります。デフォルト値は
30s
です。 - 6
- Prometheus ルールの評価間隔を指定します。間隔は 5 秒から 5 分の間で設定する必要があります。Prometheus のデフォルト値は
30s
です。
注記data/config.yaml/thanosRuler
フィールドを通じて Thanos Ruler のevaluationInterval
プロパティーを設定することもできます。Thanos Ruler のデフォルト値は15s
です。- 変更を適用するためにファイルを保存します。制限は自動的に適用されます。
3.2.4. Pod トポロジー分散制約の設定 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義のモニタリング用にすべての Pod に対して Pod トポロジーの拡散制約を設定し、ゾーン全体のノードに Pod レプリカをスケジュールする方法を制御できます。これにより、ワークロードが異なるデータセンターまたは階層型インフラストラクチャーゾーンのノードに分散されるため、Pod の可用性が高まり、より効率的に実行されるようになります。
user-workload-monitoring-config
config map を使用して、Pod を監視するための Pod トポロジーの分散制約を設定できます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod トポロジーの分散制約を設定するには、
data/config.yaml
フィールドの下に次の設定を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Pod トポロジーの分散制約を設定するコンポーネントの名前を指定します。
- 2
maxSkew
の数値を指定します。これは、どの程度まで Pod が不均等に分散されることを許可するか定義します。- 3
topologyKey
にノードラベルのキーを指定します。このキーと同じ値のラベルを持つノードは、同じトポロジーにあると見なされます。スケジューラーは、各ドメインにバランスの取れた数の Pod を配置しようとします。- 4
whenUnsatisfiable
の値を指定します。利用可能なオプションはDoNotSchedule
とScheduleAnyway
です。maxSkew
値で、ターゲットトポロジー内の一致する Pod の数とグローバル最小値との間で許容される最大差を定義する場合は、DoNotSchedule
を指定します。スケジューラーが引き続き Pod をスケジュールするが、スキューを減らす可能性のあるノードにより高い優先度を与える場合は、ScheduleAnyway
を指定します。- 5
- 一致する Pod を見つけるには、
labelSelector
を指定します。このラベルセレクターに一致する Pod は、対応するトポロジードメイン内の Pod の数を決定するためにカウントされます。
Thanos Ruler の設定例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
3.3. ユーザーワークロードモニタリングのデータの保存と記録 リンクのコピーリンクがクリップボードにコピーされました!
メトリクスとアラートデータの保存および記録、ログの設定と記録するアクティビティーの指定、Prometheus が保存されたデータを保持する期間の制御、データの最大ディスク領域の設定を行います。これらのアクションは、データを保護し、データをトラブルシューティングに使用するのに役立ちます。
3.3.1. 永続ストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
永続ストレージを使用してクラスターモニタリングを実行すると、次の利点が得られます。
- メトリクスとアラートデータを永続ボリューム (PV) に保存することで、データ損失から保護します。その結果、Pod が再起動または再作成されても存続できます。
- Alertmanager Pod が再起動したときに、重複した通知を受信したり、アラートのサイレンスが失われたりするのを回避します。
実稼働環境では、永続ストレージを設定することを強く推奨します。
マルチノードクラスターでは、高可用性を実現するために、Prometheus、Alertmanager、および Thanos Ruler の永続ストレージを設定する必要があります。
3.3.1.1. 永続ストレージの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- ストレージのブロックタイプを使用します。
3.3.1.2. 永続ボリューム要求の設定 リンクのコピーリンクがクリップボードにコピーされました!
コンポーネントの監視に永続ボリューム (PV) を使用するには、永続ボリューム要求 (PVC) を設定する必要があります。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンポーネントの PVC 設定を
data/config.yaml
の下に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例では、Thanos Ruler の永続ストレージを要求する PVC を設定します。
PVC 設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記thanosRuler
コンポーネントのストレージ要件は、評価されルールの数や、各ルールが生成するサンプル数により異なります。変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされ、新しいストレージ設定が適用されます。
警告PVC 設定で config map を更新すると、影響を受ける
StatefulSet
オブジェクトが再作成され、一時的なサービス停止が発生します。
3.3.2. Prometheus メトリクスデータの保持期間およびサイズの変更 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Prometheus はユーザー定義のプロジェクトを監視するためにメトリクスデータを 24 時間保持します。データの削除時に Prometheus インスタンスが変更する保持時間を変更できます。保持されるメトリクスデータが使用するディスク容量の最大量を設定することもできます。
データコンパクションは 2 時間ごとに実行されます。そのため、コンパクションが実行される前に永続ボリューム (PV) がいっぱいになり、retentionSize
制限を超える可能性があります。その場合、PV 上のスペースが retentionSize
制限を下回るまで、KubePersistentVolumeFillingUp
アラートが発生します。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保持期間およびサイズ設定を
data/config.yaml
に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の例では、Prometheus インスタンスの保持時間を 24 時間、保持サイズを 10 ギガバイトに設定します。
Prometheus の保持期間を設定する例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
3.3.2.1. Thanos Ruler メトリクスデータの保持期間の変更 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ユーザー定義のプロジェクトでは、Thanos Ruler は 24 時間にわたりメトリクスデータを自動的に保持します。openshift-user-workload-monitoring
namespace の user-workload-monitoring-config
の config map に時間の値を指定して、このデータの保持期間を変更できます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
ConfigMap
オブジェクトを編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保持期間の設定を
data/config.yaml
に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 保持時間は、
ms
(ミリ秒)、s
(秒)、m
(分)、h
(時)、d
(日)、w
(週)、y
(年) が直後に続く数字で指定します。1h30m15s
などの特定の時間に時間値を組み合わせることもできます。デフォルトは24h
です。
以下の例では、Thanos Ruler データの保持期間を 10 日間に設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
3.3.3. モニタリングコンポーネントのログレベルの設定 リンクのコピーリンクがクリップボードにコピーされました!
Alertmanager、Prometheus Operator、Prometheus および Thanos Ruler のログレベルを設定できます。
以下のログレベルは、user-workload-monitoring-config
ConfigMap
オブジェクトの関連コンポーネントに適用できます。
-
debug
:デバッグ、情報、警告、およびエラーメッセージをログに記録します。 -
info
:情報、警告およびエラーメッセージをログに記録します。 -
warn
:警告およびエラーメッセージのみをログに記録します。 -
error
:エラーメッセージのみをログに記録します。
デフォルトのログレベルは info
です。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンポーネントの
logLevel: <log_level>
をdata/config.yaml
の下に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
関連するプロジェクトでデプロイメントまたは Pod 設定を確認し、ログレベルが適用されていることを確認します。以下の例では、
prometheus-operator
デプロイメントのログレベルを確認します。oc -n openshift-user-workload-monitoring get deploy prometheus-operator -o yaml | grep "log-level"
$ oc -n openshift-user-workload-monitoring get deploy prometheus-operator -o yaml | grep "log-level"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
- --log-level=debug
- --log-level=debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンポーネントの Pod が実行中であることを確認します。次の例では、Pod のステータスをリスト表示します。
oc -n openshift-user-workload-monitoring get pods
$ oc -n openshift-user-workload-monitoring get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記認識されない
logLevel
値がConfigMap
オブジェクトに含まれる場合は、コンポーネントの Pod が正常に再起動しない可能性があります。
3.3.4. Prometheus のクエリーログファイルの有効化 リンクのコピーリンクがクリップボードにコピーされました!
エンジンによって実行されたすべてのクエリーをログファイルに書き込むように Prometheus を設定できます。
ログローテーションはサポートされていないため、問題のトラブルシューティングが必要な場合にのみ、この機能を一時的に有効にします。トラブルシューティングが終了したら、ConfigMap
オブジェクトに加えた変更を元に戻してクエリーログを無効にし、機能を有効にします。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Prometheus の
queryLogFile
パラメーターをdata/config.yaml
の下に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クエリーが記録されるファイルへの完全なパスを追加します。
- 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
コンポーネントの Pod が実行中であることを確認します。次のコマンド例は、Pod のステータスを表示します。
oc -n openshift-user-workload-monitoring get pods
$ oc -n openshift-user-workload-monitoring get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クエリーログを読みます。
oc -n openshift-user-workload-monitoring exec prometheus-user-workload-0 -- cat <path>
$ oc -n openshift-user-workload-monitoring exec prometheus-user-workload-0 -- cat <path>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ログに記録されたクエリー情報を確認した後、config map の設定を元に戻します。
3.4. ユーザーワークロードモニタリングのメトリクスの設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスターコンポーネントと独自のワークロードのパフォーマンスを監視するためのメトリクスのコレクションを設定します。
取り込んだメトリクスをリモートシステムに送信して長期保存したり、別のクラスターからのデータを識別するためにメトリクスにクラスター ID ラベルを追加したりできます。
3.4.1. リモート書き込みストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
リモート書き込みストレージを設定して、Prometheus が取り込んだメトリクスをリモートシステムに送信して長期保存できるようにします。これを行っても、Prometheus がメトリクスを保存する方法や期間には影響はありません。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。 リモート書き込み互換性のあるエンドポイント (Thanos) を設定し、エンドポイント URL を把握している。リモート書き込み機能と互換性のないエンドポイントの情報ては、Prometheus リモートエンドポイントおよびストレージに関するドキュメント を参照してください。
重要Red Hat は、リモート書き込み送信側の設定に関する情報のみを提供し、受信側エンドポイントの設定に関するガイダンスは提供しません。お客様は、リモート書き込みと互換性のある独自のエンドポイントを設定する責任があります。エンドポイントレシーバー設定に関する問題は、Red Hat 製品サポートには含まれません。
リモート書き込みエンドポイントの
Secret
オブジェクトに認証クレデンシャルを設定している。シークレットはopenshift-user-workload-monitoring
namespace に作成する必要があります。警告セキュリティーリスクを軽減するには、HTTPS および認証を使用してメトリクスをエンドポイントに送信します。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例のように、
data/config.yaml/prometheus
の下にremoteWrite:
セクションを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 認証クレデンシャルの後に、書き込みの再ラベル設定値を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- リモートエンドポイントに送信するメトリクスの設定を追加します。
my_metric
という単一メトリクスを転送する例Copy to Clipboard Copied! Toggle word wrap Toggle overflow my_namespace
namespace にmy_metric_1
およびmy_metric_2
というメトリクスを転送する例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定は自動的に適用されます。
3.4.1.1. サポート対象のリモート書き込み認証設定 リンクのコピーリンクがクリップボードにコピーされました!
異なる方法を使用して、リモート書き込みエンドポイントとの認証を行うことができます。現時点でサポートされている認証方法は AWS 署名バージョン 4、Basic 認証、認可、OAuth 2.0、および TLS クライアントです。以下の表は、リモート書き込みで使用するサポート対象の認証方法の詳細を示しています。
認証方法 | config map フィールド | 説明 |
---|---|---|
AWS 署名バージョン 4 |
| この方法では、AWS Signature Version 4 認証を使用して要求を署名します。この方法は、認可、OAuth 2.0、または Basic 認証と同時に使用することはできません。 |
Basic 認証 |
| Basic 認証は、設定されたユーザー名とパスワードを使用してすべてのリモート書き込み要求に承認ヘッダーを設定します。 |
認可 |
|
Authorization は、設定されたトークンを使用して、すべてのリモート書き込みリクエストに |
OAuth 2.0 |
|
OAuth 2.0 設定は、クライアントクレデンシャル付与タイプを使用します。Prometheus は、リモート書き込みエンドポイントにアクセスするために、指定されたクライアント ID およびクライアントシークレットを使用して |
TLS クライアント |
| TLS クライアント設定は、TLS を使用してリモート書き込みエンドポイントサーバーで認証するために使用される CA 証明書、クライアント証明書、およびクライアントキーファイル情報を指定します。設定例は、CA 証明書ファイル、クライアント証明書ファイル、およびクライアントキーファイルがすでに作成されていることを前提としています。 |
3.4.1.2. リモート書き込み認証の設定例 リンクのコピーリンクがクリップボードにコピーされました!
次のサンプルは、リモート書き込みエンドポイントに接続するために使用できるさまざまな認証設定を示しています。各サンプルでは、認証情報やその他の関連設定を含む対応する Secret
オブジェクトを設定する方法も示しています。各サンプルは openshift-user-workload-monitoring
namespace 内のユーザー定義プロジェクトのモニタリングで使用する認証を設定します。
3.4.1.2.1. AWS 署名バージョン 4 認証のサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
以下は、openshift-user-workload-monitoring
namespace の sigv4-credentials
という名前の sigv4
シークレットの設定を示しています。
以下は、openshift-user-workload-monitoring
namespace の sigv4-credentials
という名前の Secret
オブジェクトを使用する AWS Signature Version 4 リモート書き込み認証のサンプルを示しています。
3.4.1.2.2. Basic 認証用のサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
以下は、openshift-user-workload-monitoring
namespace の rw-basic-auth
という名前の Secret
オブジェクトの Basic 認証設定の例を示しています。
以下の例は、openshift-user-workload-monitoring
namespace の rw-basic-auth
という名前の Secret
オブジェクトを使用する basicAuth
リモート書き込み設定を示しています。これは、エンドポイントの認証認証情報がすでに設定されていることを前提としています。
3.4.1.2.3. Secret オブジェクトを使用したベアラートークンによる認証のサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
以下は、openshift-user-workload-monitoring
namespace の rw-bearer-auth
という名前の Secret
オブジェクトのベアラートークン設定を示しています。
- 1
- 認証トークン。
以下は、openshift-user-workload-monitoring
namespace の rw-bearer-auth
という名前の Secret
オブジェクトを使用するベアラートークン設定マップの設定例を示しています。
3.4.1.2.4. OAuth 2.0 認証のサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
以下は、openshift-user-workload-monitoring
namespace の oauth2-credentials
という名前の Secret
オブジェクトの OAuth 2.0 設定のサンプルを示しています。
以下は、openshift-user-workload-monitoring
namespace の oauth2-credentials
という Secret
オブジェクトを使用した oauth2
リモート書き込み認証のサンプル設定です。
- 1 3
- 対応する
Secret
オブジェクトの名前。ClientId
はConfigMap
オブジェクトを参照することもできますが、clientSecret
はSecret
オブジェクトを参照する必要があることに注意してください。 - 2 4
- 指定された
Secret
オブジェクトの OAuth 2.0 認証情報が含まれるキー。 - 5
- 指定された
clientId
およびclientSecret
でトークンを取得するために使用される URL。 - 6
- 認可要求の OAuth 2.0 スコープ。これらのスコープは、トークンがアクセスできるデータを制限します。
- 7
- 認可サーバーに必要な OAuth 2.0 認可要求パラメーター。
3.4.1.2.5. TLS クライアント認証のサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
以下は、openshift-user-workload-monitoring
namespace 内の mtls-bundle
という名前の tls
Secret
オブジェクトに対する TLS クライアント設定のサンプルです。
以下の例は、mtls-bundle
という名前の TLS Secret
オブジェクトを使用する tlsConfig
リモート書き込み認証設定を示しています。
3.4.1.3. リモート書き込みキューの設定例 リンクのコピーリンクがクリップボードにコピーされました!
リモート書き込み用の queueConfig
オブジェクトを使用して、リモート書き込みキューパラメーターを調整できます。以下の例は、キューパラメーターと、openshift-user-workload-monitoring
namespace のユーザー定義プロジェクトのモニタリング用のデフォルト値を示しています。
デフォルト値を使用したリモート書き込みパラメーターの設定例
- 1
- キューから削除される前にシャードごとにバッファーリングするサンプルの数。
- 2
- シャードの最小数。
- 3
- シャードの最大数
- 4
- 送信ごとの最大サンプル数。
- 5
- サンプルがバッファー内で待機する最大時間。
- 6
- 失敗したリクエストを再試行する前に待機する最初の時間。
maxbackoff
の時間になるまで、再試行するたびに時間が 2 倍になります。 - 7
- 失敗したリクエストを再試行するまでに待機する最大時間。
- 8
- リモート書き込みストレージから 429 ステータスコードを受信した後に要求を再試行するには、このパラメーターを
true
に設定します。 - 9
sampleAgeLimit
制限よりも古いサンプルはキューから削除されます。値が未定義であるか、0s
に設定されている場合、パラメーターは無視されます。
3.4.1.4. リモート書き込みメトリクスの表 リンクのコピーリンクがクリップボードにコピーされました!
次の表に、リモート書き込みおよびリモート書き込み関連のメトリクスと、リモート書き込みの設定時に発生する問題を解決するのに役立つ詳細な説明を記載します。
メトリクス | 説明 |
---|---|
| 任意のサンプルについて、Prometheus が先行書き込みログ (WAL) に保存した最新のタイムスタンプを表示します。 |
| リモート書き込みキューが正常に送信した最新のタイムスタンプを表示します。 |
| リモート書き込みが送信に失敗し、リモートストレージに再送信する必要があったサンプルの数。このメトリクスの値が一定して高い場合は、ネットワークまたはリモートストレージエンドポイントに問題があります。 |
| 各リモートエンドポイントで現在実行されているシャードの数を示します。 |
| 現在の書き込みスループットと、受信サンプルと送信サンプルの比率に基づいて計算された必要なシャードの数を示します。 |
| 現在の設定に基づくシャードの最大数を示します。 |
| 現在の設定に基づくシャードの最小数を示します。 |
| Prometheus が現在新しいデータを書き込んでいる WAL セグメントファイル。 |
| 各リモート書き込みインスタンスが現在読み取っている WAL セグメントファイル。 |
3.4.2. メトリクスのクラスター ID ラベルの作成 リンクのコピーリンクがクリップボードにコピーされました!
openshift-user-workload-monitoring
namespace の user-workload-monitoring-config
config map にリモート書き込みストレージの write_relabel
設定を追加することで、メトリクスのクラスター ID ラベルを作成できます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap オブジェクトを編集します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。 - リモート書き込みストレージを設定している。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data/config.yaml/prometheus/remoteWrite
の下にあるwriteRelabelConfigs:
セクションで、クラスター ID の再ラベル付け設定値を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のサンプルは、クラスター ID ラベル
cluster_id
を使用してメトリクスを転送する方法を示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- システムは最初に
__tmp_openshift_cluster_id__
という名前の一時的なクラスター ID ソースラベルを適用します。この一時的なラベルは、指定するクラスター ID ラベル名に置き換えられます。 - 2
- リモート書き込みストレージに送信されるメトリクスのクラスター ID ラベルの名前を指定します。メトリクスにすでに存在するラベル名を使用する場合、その値はこのクラスター ID ラベルの名前で上書きされます。ラベル名には
__tmp_openshift_cluster_id__
は使用しないでください。最後の再ラベル手順では、この名前を使用するラベルを削除します。 - 3
replace
置き換えラベルの再設定アクションは、一時ラベルを送信メトリクスのターゲットラベルに置き換えます。このアクションはデフォルトであり、アクションが指定されていない場合に適用されます。
- 変更を適用するためにファイルを保存します。新しい設定は自動的に適用されます。
3.4.3. ユーザー定義プロジェクトのメトリクス収集の設定 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMonitor
リソースを作成して、ユーザー定義プロジェクトのサービスエンドポイントからメトリクスを収集できます。これは、アプリケーションが Prometheus クライアントライブラリーを使用してメトリクスを /metrics
の正規の名前に公開していることを前提としています。
このセクションでは、ユーザー定義のプロジェクトでサンプルサービスをデプロイし、次にサービスのモニター方法を定義する ServiceMonitor
リソースを作成する方法を説明します。
3.4.3.1. サンプルサービスのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義のプロジェクトでサービスのモニタリングをテストするには、サンプルサービスをデプロイできます。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとして、または namespace の管理権限を持つユーザーとして、クラスターにアクセスできる。
手順
-
サービス設定の YAML ファイルを作成します。この例では、
prometheus-example-app.yaml
という名前です。 以下のデプロイメントおよびサービス設定の詳細をファイルに追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定は、
prometheus-example-app
という名前のサービスをユーザー定義のns1
プロジェクトにデプロイします。このサービスは、カスタムversion
メトリクスを公開します。設定をクラスターに適用します。
oc apply -f prometheus-example-app.yaml
$ oc apply -f prometheus-example-app.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスをデプロイするには多少時間がかかります。
Pod が実行中であることを確認できます。
oc -n ns1 get pod
$ oc -n ns1 get pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE prometheus-example-app-7857545cb7-sbgwq 1/1 Running 0 81m
NAME READY STATUS RESTARTS AGE prometheus-example-app-7857545cb7-sbgwq 1/1 Running 0 81m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.3.2. サービスのモニター方法の指定 リンクのコピーリンクがクリップボードにコピーされました!
サービスが公開するメトリクスを使用するには、OpenShift Dedicated モニタリングを、/metrics
エンドポイントからメトリクスを収集できるように設定する必要があります。これは、サービスのモニタリング方法を指定する ServiceMonitor
カスタムリソース定義、または Pod のモニタリング方法を指定する PodMonitor
CRD を使用して実行できます。前者の場合は Service
オブジェクトが必要ですが、後者の場合は不要です。これにより、Prometheus は Pod によって公開されるメトリクスエンドポイントからメトリクスを直接収集することができます。
この手順では、ユーザー定義プロジェクトでサービスの ServiceMonitor
リソースを作成する方法を説明します。
前提条件
-
dedicated-admin
ロールまたはmonitoring-edit
ロールを持つユーザーとしてクラスターにアクセスできる。 この例では、
prometheus-example-app
サンプルサービスをns1
プロジェクトにデプロイしている。注記prometheus-example-app
サンプルサービスは TLS 認証をサポートしません。
手順
-
example-app-service-monitor.yaml
という名前の新しい YAML 設定ファイルを作成します。 ServiceMonitor
リソースを YAML ファイルに追加します。以下の例では、prometheus-example-monitor
という名前のサービスモニターを作成し、ns1
namespace のprometheus-example-app
サービスによって公開されるメトリクスを収集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ユーザー定義の namespace の
ServiceMonitor
リソースは、同じ namespace のサービスのみを検出できます。つまり、ServiceMonitor
リソースのnamespaceSelector
フィールドは常に無視されます。設定をクラスターに適用します。
oc apply -f example-app-service-monitor.yaml
$ oc apply -f example-app-service-monitor.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ServiceMonitor
をデプロイするのに多少時間がかかります。ServiceMonitor
リソースが実行されていることを確認します。oc -n <namespace> get servicemonitor
$ oc -n <namespace> get servicemonitor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE prometheus-example-monitor 81m
NAME AGE prometheus-example-monitor 81m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.3.3. サービスエンドポイント認証設定の例 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMonitor
および PodMonitor
カスタムリソース定義 (CRD) を使用して、ユーザー定義のプロジェクト監視用のサービスエンドポイントの認証を設定できます。
次のサンプルは、ServiceMonitor
リソースのさまざまな認証設定を示しています。各サンプルでは、認証認証情報やその他の関連設定を含む対応する Secret
オブジェクトを設定する方法を示します。
3.4.3.3.1. ベアラートークンを使用した YAML 認証の例 リンクのコピーリンクがクリップボードにコピーされました!
以下の例は、ns1
namespace の example-bearer-auth
という名前の Secret
オブジェクトのベアラートークン設定を示しています。
ベアラートークンシークレットの例
- 1
- 認証トークンを指定します。
以下の例は、ServiceMonitor
CRD のベアラートークン認証設定を示しています。この例では、example-bearer-auth
という名前の Secret
オブジェクトを使用しています。
ベアラートークンの認証設定の例
bearerTokenFile
を使用してベアラートークンを設定しないでください。bearerTokenFile
設定を使用する場合、ServiceMonitor
リソースは拒否されます。
3.4.3.3.2. Basic 認証用のサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
次のサンプルは、ns1
の example-basic-auth
という名前の Secret
オブジェクトの Basic 認証設定を示しています。
Basic 認証シークレットの例
以下の例は、ServiceMonitor
CRD の Basic 認証設定を示しています。この例では、example-basic-auth
という名前の Secret
オブジェクトを使用しています。
Basic 認証の設定例
3.4.3.3.3. OAuth 2.0 を使用した YAML 認証のサンプル リンクのコピーリンクがクリップボードにコピーされました!
以下の例は、ns1
namespace の example-oauth2
という名前の Secret
オブジェクトの OAuth 2.0 設定を示しています。
OAuth 2.0 シークレットの例
以下の例は、ServiceMonitor
CRD の OAuth 2.0 認証設定を示しています。この例では、example-oauth2
という名前の Secret
オブジェクトを使用します。
OAuth 2.0 認証の設定例
3.5. ユーザーワークロードモニタリングのアラートと通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
ローカルまたは外部の Alertmanager インスタンスを設定して、Prometheus からエンドポイントレシーバーにアラートをルーティングできます。すべての時系列とアラートにカスタムラベルを割り当てて、便利なメタデータ情報を追加することもできます。
3.5.1. 外部 Alertmanager インスタンスの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated モニタリングスタックには、Prometheus からアラートをルーティングするローカル Alertmanager インスタンスが含まれています。
外部 Alertmanager インスタンスを追加して、ユーザー定義プロジェクトのアラートをルーティングできます。
複数のクラスターに同じ外部 Alertmanager 設定を追加し、クラスターごとにローカルインスタンスを無効にする場合には、単一の外部 Alertmanager インスタンスを使用して複数のクラスターのアラートルーティングを管理できます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data/config.yaml/<component>
下に、設定の詳細を含むadditionalAlertmanagerConfigs
セクションを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のサンプル config map は、クライアント TLS 認証でベアラートークンを使用して、Thanos Ruler 用の追加の Alertmanager を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
3.5.2. Alertmanager のシークレットの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated モニタリングスタックには、Prometheus からエンドポイントレシーバーにアラートをルーティングする Alertmanager が含まれています。Alertmanager がアラートを送信できるようにレシーバーで認証する必要がある場合は、レシーバーの認証認証情報を含むシークレットを使用するように Alertmanager を設定できます。
たとえば、シークレットを使用して、プライベート認証局 (CA) によって発行された証明書を必要とするエンドポイント受信者を認証するように Alertmanager を設定できます。また、基本 HTTP 認証用のパスワードファイルを必要とする受信者で認証するためにシークレットを使用するように Alertmanager を設定することもできます。いずれの場合も、認証の詳細は、ConfigMap
オブジェクトではなく Secret
オブジェクトに含まれています。
3.5.2.1. Alertmanager 設定へのシークレットの追加 リンクのコピーリンクがクリップボードにコピーされました!
openshift-user-workload-monitoring
プロジェクトの user-workload-monitoring-config
config map を編集することで、Alertmanager 設定にシークレットを追加できます。
config map にシークレットを追加すると、シークレットは、Alertmanager Pod の alertmanager
コンテナー内の /etc/alertmanager/secrets/<secret_name>
にボリュームとしてマウントされます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
openshift-user-workload-monitoring
プロジェクトの Alertmanager で設定するシークレットを作成しました。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の設定で、
data/config.yaml/alertmanager
の下にsecrets:
セクションを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の config map 設定の例では、
test-secret-basic-auth
およびtest-secret-api-token
という名前の 2 つのSecret
オブジェクトを使用するように Alertmanager を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定は自動的に適用されます。
3.5.3. 追加ラベルの時系列 (time series) およびアラートへの割り当て リンクのコピーリンクがクリップボードにコピーされました!
Prometheus の外部ラベル機能を使用して、Prometheus から送信されるすべての時系列とアラートにカスタムラベルを付けることができます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data/config.yaml
の下の各メトリクスに追加するラベルを定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<key>: <value>
をキーと値のペアに置き換えます。<key>
は新しいラベルの一意の名前、<value>
はその値です。
警告-
prometheus
またはprometheus_replica
は予約され、上書きされるため、これらをキー名として使用しないでください。 -
キー名に
cluster
またはmanaged_cluster
を使用しないでください。これらを使用すると、開発者ダッシュボードでデータが表示されなくなる問題が発生する可能性があります。
注記openshift-user-workload-monitoring
プロジェクトでは、Prometheus はメトリクスを処理し、Thanos Ruler はアラートおよび記録ルールを処理します。user-workload-monitoring-config
ConfigMap
オブジェクトでprometheus
のexternalLabels
を設定すると、すべてのルールではなく、メトリクスの外部ラベルのみが設定されます。たとえば、リージョンと環境に関するメタデータをすべての時系列とアラートに追加するには、次の例を使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
3.5.4. アラート通知の設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、dedicated-admin
ユーザーは、ユーザー定義プロジェクト用の別の Alertmanager インスタンスを使用して、ユーザー定義プロジェクトのアラートルーティングを有効にできます。
alert-routing-edit
クラスターロールを持つ開発者およびその他のユーザーは、アラートレシーバーを設定することによって、ユーザー定義プロジェクトのカスタムアラート通知を設定できます。
ユーザー定義プロジェクトのアラートルーティングに関する次の制限事項を確認してください。
-
ユーザー定義のアラートルーティングのスコープは、リソースが定義されている namespace に指定されます。たとえば、namespace
ns1
のルーティング設定は、同じ namespace のPrometheusRules
リソースにのみ適用されます。 -
namespace がユーザー定義のモニタリングから除外される場合、namespace の
AlertmanagerConfig
リソースは、Alertmanager 設定の一部ではなくなります。
3.5.4.1. ユーザー定義プロジェクトのアラートルーティングの設定 リンクのコピーリンクがクリップボードにコピーされました!
alert-routing-edit
クラスターロールが付与されている管理者以外のユーザーの場合は、ユーザー定義プロジェクトのアラートルーティングを作成または編集できます。
前提条件
- アラートルーティングがユーザー定義プロジェクトに対して有効になりました。
-
アラートルーティングを作成する必要のあるプロジェクトの
alert-routing-edit
クラスターロールを持つユーザーとしてログインしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
-
アラートルーティングの YAML ファイルを作成します。この手順の例では、
example-app-alert-routing.yaml
という名前のファイルを使用します。 AlertmanagerConfig
YAML 定義をファイルに追加します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存します。
リソースをクラスターに適用します。
oc apply -f example-app-alert-routing.yaml
$ oc apply -f example-app-alert-routing.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定は Alertmanager Pod に自動的に適用されます。
3.5.4.2. Alertmanager シークレットを使用したユーザー定義プロジェクトのアラートルーティングの設定 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義のアラートルーティング専用の Alertmanager の別のインスタンスを有効にしている場合は、openshift-user-workload-monitoring
namespace の alertmanager-user-workload
シークレットを編集して、インスタンスが通知を送信する場所と方法をカスタマイズできます。
サポート対象のアップストリームバージョンの Alertmanager 機能はすべて、OpenShift Dedicated Alertmanager 設定でもサポートされます。サポート対象のアップストリーム Alertmanager バージョンのあらゆる設定オプションを確認するには、Alertmanager configuration (Prometheus ドキュメント) を参照してください。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
現在アクティブな Alertmanager 設定をファイル
alertmanager.yaml
に出力します。oc -n openshift-user-workload-monitoring get secret alertmanager-user-workload --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
$ oc -n openshift-user-workload-monitoring get secret alertmanager-user-workload --template='{{ index .data "alertmanager.yaml" }}' | base64 --decode > alertmanager.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow alertmanager.yaml
で設定を編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規設定をファイルで適用します。
oc -n openshift-user-workload-monitoring create secret generic alertmanager-user-workload --from-file=alertmanager.yaml --dry-run=client -o=yaml | oc -n openshift-user-workload-monitoring replace secret --filename=-
$ oc -n openshift-user-workload-monitoring create secret generic alertmanager-user-workload --from-file=alertmanager.yaml --dry-run=client -o=yaml | oc -n openshift-user-workload-monitoring replace secret --filename=-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5.4.3. デフォルトのプラットフォームアラートとユーザー定義アラートに異なるアラートレシーバーを設定する リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのプラットフォームアラートとユーザー定義アラートに異なるアラートレシーバーを設定して、次の結果を確実に得ることができます。
- すべてのデフォルトのプラットフォームアラートは、これらのアラートを担当するチームが所有する受信機に送信されます。
- すべてのユーザー定義アラートは別の受信者に送信されるため、チームはプラットフォームアラートにのみ集中できます。
これを実現するには、Cluster Monitoring Operator によってすべてのプラットフォームアラートに追加される openshift_io_alert_source="platform"
ラベルを使用します。
-
デフォルトのプラットフォームアラートを一致させるには、
openshift_io_alert_source="platform"
マッチャーを使用します。 -
ユーザー定義のアラートを一致させるには、
openshift_io_alert_source!="platform"
または'openshift_io_alert_source=""'
マッチャーを使用します。
ユーザー定義アラート専用の Alertmanager の別のインスタンスを有効にしている場合、この設定は適用されません。
第4章 メトリクスへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
4.1. 管理者としてメトリクスにアクセスする リンクのコピーリンクがクリップボードにコピーされました!
メトリクスにアクセスして、クラスターコンポーネントとワークロードのパフォーマンスを監視できます。
4.1.1. OpenShift Dedicated Web コンソールを使用したすべてのプロジェクトのメトリクスのクエリー リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated メトリクスクエリーブラウザーを使用して Prometheus Query Language (PromQL) でクエリーを実行し、グラフでメトリクスを可視化して検証できます。この機能により、クラスターの状態と、モニターしているユーザー定義のワークロードに関する情報が提供されます。
dedicated-admin
またはすべてのプロジェクトの表示パーミッションを持つユーザーとして、メトリクス UI ですべてのデフォルト OpenShift Dedicated およびユーザー定義プロジェクトのメトリクスにアクセスできます。
専任の管理者のみが、OpenShift Dedicated モニタリングで提供されるサードパーティーの UI にアクセスできます。
メトリクス UI には、すべてのプロジェクトの CPU、メモリー、帯域幅、ネットワークパケットなどの定義済みクエリーが含まれています。カスタムの Prometheus Query Language (PromQL) クエリーを実行することもできます。
前提条件
-
dedicated-admin
ロールまたはすべてのプロジェクトの表示パーミッションを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
- OpenShift Dedicated Web コンソールで、Observe → Metrics をクリックします。
1 つ以上のクエリーを追加するために、次のいずれかの操作を実行します。
Expand オプション 説明 既存のクエリーを選択する
Select query ドロップダウンリストから、既存のクエリーを選択します。
カスタムクエリーを作成する
Prometheus Query Language (PromQL) クエリーを Expression フィールドに追加します。
PromQL 式を入力すると、オートコンプリートの提案がドロップダウンリストに表示されます。これらの提案には、関数、メトリクス、ラベル、および時間トークンが含まれます。キーボードの矢印を使用して、提案された項目の中から 1 つを選択し、Enter キーを押して、その項目を式に追加します。提案された項目の上にマウスポインターを移動すると、その項目の簡単な説明が表示されます。
複数のクエリーを追加する
Add query をクリックします。
既存のクエリーを複製する
クエリーの横にあるオプションメニュー
をクリックし、Duplicate query を選択します。
クエリーの実行を無効する
クエリーの横にあるオプションメニュー
をクリックし、Disable query を選択します。
作成したクエリーを実行するために、Run queries をクリックします。クエリーからのメトリクスはプロットで可視化されます。クエリーが無効な場合は、UI にエラーメッセージが表示されます。
注記- 時系列グラフを描画する場合、大量のデータを操作するクエリーにより、タイムアウトが発生したり、ブラウザーに過負荷がかかったりする可能性があります。これを回避するには、Hide graph をクリックし、メトリクステーブルのみを使用してクエリーを調整してください。次に、使用できるクエリーを確認した後に、グラフを描画できるようにプロットを有効にします。
- デフォルトでは、クエリーテーブルに、すべてのメトリクスとその現在の値をリスト表示する拡張ビューが表示されます。クエリーの拡張ビューを最小化するには、下矢印 (˅) をクリックします。
- オプション: このクエリーのセットを今後再度使用するには、ページの URL を保存します。
視覚化されたメトリクスを調べます。最初に、有効な全クエリーの全メトリクスがプロットに表示されます。次のいずれかの操作を実行して、表示するメトリクスを選択します。
Expand オプション 説明 クエリーのすべてのメトリクスを非表示にする
クエリーのオプションメニュー
をクリックし、Hide all series をクリックします。
特定のメトリクスを非表示にする
クエリーテーブルに移動し、メトリクス名の近くにある色付きの四角形をクリックします。
プロットを拡大し、時間範囲を変更する
次のいずれかの操作を実行します。
- プロットを水平にクリックし、ドラッグして、時間範囲を視覚的に選択します。
- メニューを使用して時間範囲を選択します。
時間範囲をリセットする
Reset zoom をクリックします。
特定の時点におけるすべてのクエリーの出力を表示する
プロット上の目的のポイントにマウスを移動します。クエリーの出力がポップアップボックスに表示されます。
プロットを非表示にする
Hide graph をクリックします。
4.1.2. メトリクスターゲットに関する詳細情報の取得を参照してください。 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated Web コンソールを使用すると、現在スクレイピングの対象となっているエンドポイントを表示、検索、フィルタリングすることができ、問題の特定とトラブルシューティングに役立ちます。たとえば、対象エンドポイントの現在のステータスを表示して、OpenShift Dedicated モニタリングが対象コンポーネントからメトリクスを取得できないタイミングを確認できます。
Metrics targets ページには、ユーザー定義プロジェクトのターゲットが表示されます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
OpenShift Dedicated Web コンソールで、Observe → Targets に移動します。Metrics targets ページが開き、メトリクス用にスクレイピングされているすべてのサービスエンドポイントターゲットのリストが表示されます。
このページには、デフォルトの OpenShift Dedicated プロジェクトとユーザー定義プロジェクトのターゲットの詳細が表示されます。このページには、ターゲットごとに以下の情報がリスト表示されます。
- スクレイピングされるサービスエンドポイント URL
-
モニター対象の
ServiceMonitor
リソース - ターゲットの アップ または ダウン ステータス
- Namespace
- 最後のスクレイプ時間
- 最後のスクレイピングの継続期間
オプション: 特定のターゲットを検索するには、次のいずれかのアクションを実行します。
Expand オプション 説明 ステータスとソースによってターゲットをフィルタリングします。
Filter リストでフィルターを選択します。
以下のフィルタリングオプションが利用できます。
ステータス フィルター:
- Up.ターゲットは現在 up で、メトリクスに対してアクティブにスクレイピングされています。
- Down.ターゲットは現在 down しており、メトリクス用にスクレイピングされていません。
Source フィルター:
- Platform。プラットフォームレベルのターゲットは、デフォルトの Red Hat OpenShift Service on AWS プロジェクトにのみ該当します。これらのプロジェクトは、Red Hat OpenShift Service on AWS のコア機能を提供します。
- User。ユーザーターゲットは、ユーザー定義プロジェクトに関連します。これらのプロジェクトはユーザーが作成したもので、カスタマイズすることができます。
名前またはラベルでターゲットを検索します。
検索ボックスの横にある Text または Label フィールドに検索語を入力します。
ターゲットを並べ替えます。
Endpoint Status、Namespace、Last Scrape、および Scrape Duration 列ヘッダーの 1 つ以上をクリックします。
ターゲットの Endpoint 列の URL をクリックすると、その Target details ページに移動します。このページには、ターゲットに関する以下の情報が表示されます。
- メトリクスのためにスクレイピングされているエンドポイント URL
- 現在のターゲットのステータス (Up または Down)
- namespace へのリンク
-
ServiceMonitor
リソースの詳細へのリンク - ターゲットに割り当てられたラベル
- ターゲットがメトリクス用にスクレイピングされた直近の時間
4.1.3. クラスター管理者としてのモニタリングダッシュボードの確認 リンクのコピーリンクがクリップボードにコピーされました!
管理者は、OpenShift Dedicated クラスターのコアコンポーネントに関連するダッシュボードを表示できます。
OpenShift Dedicated 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。
すべてのユーザーが、OpenShift Dedicated Web コンソールのすべての機能を操作できます。ただし、クラスター所有者でない場合は、特定の機能に対する権限をクラスター所有者に要求する必要がある場合があります。
引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
- OpenShift Dedicated Web コンソールで、Observe → Dashboards に移動します。
- Dashboard 一覧でダッシュボードを選択します。etcd や Prometheus ダッシュボードなどの一部のダッシュボードは、選択時に追加のサブメニューを生成します。
必要に応じて、Time Range 一覧でグラフの時間範囲を選択します。
- 事前定義された期間を選択します。
Time Range リストで Custom time range をクリックして、カスタムの時間範囲を設定します。
- From および To の日付と時間を入力または選択します。
- Save をクリックして、カスタムの時間範囲を保存します。
- オプション: Refresh Interval を選択します。
- ダッシュボードの各グラフにカーソルを合わせて、特定の項目に関する詳細情報を表示します。
4.2. 開発者としてメトリクスにアクセスする リンクのコピーリンクがクリップボードにコピーされました!
メトリクスにアクセスして、クラスターワークロードのパフォーマンスを監視できます。
4.2.1. OpenShift Dedicated Web コンソールを使用したユーザー定義プロジェクトのメトリクスのクエリー リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated メトリクスクエリーブラウザーを使用して Prometheus Query Language (PromQL) でクエリーを実行し、グラフでメトリクスを可視化して検証できます。この機能により、モニタリングしているユーザー定義ワークロードに関する情報が提供されます。
開発者として、メトリクスのクエリー時にプロジェクト名を指定する必要があります。選択したプロジェクトのメトリクスを表示するには、必要な権限が必要です。
メトリクス UI には、CPU、メモリー、帯域幅、ネットワークパケットなどの定義済みクエリーが含まれています。これらのクエリーは、選択したプロジェクトに制限されています。プロジェクト用のカスタムの Prometheus Query Language (PromQL) クエリーを実行することもできます。
開発者は OpenShift Dedicated モニタリングで提供されるサードパーティーの UI にアクセスできません。
前提条件
- 開発者として、またはメトリクスで表示しているプロジェクトの表示権限を持つユーザーとしてクラスターへのアクセスがある。
- ユーザー定義プロジェクトのモニタリングが有効化されている。
- ユーザー定義プロジェクトにサービスをデプロイしている。
-
サービスのモニター方法を定義するために、サービスの
ServiceMonitor
カスタムリソース定義 (CRD) を作成している。
手順
- OpenShift Dedicated Web コンソールで、Observe → Metrics をクリックします。
1 つ以上のクエリーを追加するために、次のいずれかの操作を実行します。
Expand オプション 説明 既存のクエリーを選択する
Select query ドロップダウンリストから、既存のクエリーを選択します。
カスタムクエリーを作成する
Prometheus Query Language (PromQL) クエリーを Expression フィールドに追加します。
PromQL 式を入力すると、オートコンプリートの提案がドロップダウンリストに表示されます。これらの提案には、関数、メトリクス、ラベル、および時間トークンが含まれます。キーボードの矢印を使用して、提案された項目の中から 1 つを選択し、Enter キーを押して、その項目を式に追加します。提案された項目の上にマウスポインターを移動すると、その項目の簡単な説明が表示されます。
複数のクエリーを追加する
Add query をクリックします。
既存のクエリーを複製する
クエリーの横にあるオプションメニュー
をクリックし、Duplicate query を選択します。
クエリーの実行を無効する
クエリーの横にあるオプションメニュー
をクリックし、Disable query を選択します。
作成したクエリーを実行するために、Run queries をクリックします。クエリーからのメトリクスはプロットで可視化されます。クエリーが無効な場合は、UI にエラーメッセージが表示されます。
注記- 時系列グラフを描画する場合、大量のデータを操作するクエリーにより、タイムアウトが発生したり、ブラウザーに過負荷がかかったりする可能性があります。これを回避するには、Hide graph をクリックし、メトリクステーブルのみを使用してクエリーを調整してください。次に、使用できるクエリーを確認した後に、グラフを描画できるようにプロットを有効にします。
- デフォルトでは、クエリーテーブルに、すべてのメトリクスとその現在の値をリスト表示する拡張ビューが表示されます。クエリーの拡張ビューを最小化するには、下矢印 (˅) をクリックします。
- オプション: このクエリーのセットを今後再度使用するには、ページの URL を保存します。
視覚化されたメトリクスを調べます。最初に、有効な全クエリーの全メトリクスがプロットに表示されます。次のいずれかの操作を実行して、表示するメトリクスを選択します。
Expand オプション 説明 クエリーのすべてのメトリクスを非表示にする
クエリーのオプションメニュー
をクリックし、Hide all series をクリックします。
特定のメトリクスを非表示にする
クエリーテーブルに移動し、メトリクス名の近くにある色付きの四角形をクリックします。
プロットを拡大し、時間範囲を変更する
次のいずれかの操作を実行します。
- プロットを水平にクリックし、ドラッグして、時間範囲を視覚的に選択します。
- メニューを使用して時間範囲を選択します。
時間範囲をリセットする
Reset zoom をクリックします。
特定の時点におけるすべてのクエリーの出力を表示する
プロット上の目的のポイントにマウスを移動します。クエリーの出力がポップアップボックスに表示されます。
プロットを非表示にする
Hide graph をクリックします。
4.2.2. 開発者が行うモニタリングダッシュボードの確認 リンクのコピーリンクがクリップボードにコピーされました!
開発者は、パーミッションを持つプロジェクトに関連するダッシュボードを表示できます。
OpenShift Dedicated 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。
すべてのユーザーが、OpenShift Dedicated Web コンソールのすべての機能を操作できます。ただし、クラスター所有者でない場合は、特定の機能に対する権限をクラスター所有者に要求する必要がある場合があります。
引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。
前提条件
- 開発者またはユーザーとしてクラスターにアクセスできる。
- ダッシュボードを表示するプロジェクトの表示権限がある。
- クラスター管理者が Web コンソールで Developer パースペクティブを有効にした。
手順
- OpenShift Dedicated Web コンソールの Developer パースペクティブで、Observe をクリックし、Dashboards タブに移動します。
- Project: ドロップダウンリストからプロジェクトを選択します。
- Dashboard ドロップダウンリストからダッシュボードを選択し、フィルターされたメトリクスを表示します。
必要に応じて、Time Range 一覧でグラフの時間範囲を選択します。
- 事前定義された期間を選択します。
Time Range リストで Custom time range をクリックして、カスタムの時間範囲を設定します。
- From および To の日付と時間を入力または選択します。
- Save をクリックして、カスタムの時間範囲を保存します。
- オプション: Refresh Interval を選択します。
- ダッシュボードの各グラフにカーソルを合わせて、特定の項目に関する詳細情報を表示します。
4.3. CLI を使用した API のモニタリング リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated 4 では、コマンドラインインターフェイス (CLI) から一部のモニタリングコンポーネントの Web サービス API にアクセスできます。
特定の状況では、特にエンドポイントを使用して大量のメトリクスデータを取得、送信、またはクエリーする場合、API エンドポイントにアクセスするとクラスターのパフォーマンスとスケーラビリティーが低下する可能性があります。
この問題を回避するには、次の推奨事項を考慮してください。
- エンドポイントに頻繁にクエリーを実行しないようにします。クエリーを 30 秒ごとに最大 1 つに制限します。
-
Prometheus の
/federate
エンドポイントを介してすべてのメトリクスデータを取得しないでください。このエンドポイントにクエリーを実行するのは、集約された限られたデータセットを取得する場合だけにしてください。たとえば、各要求で 1,000 未満のサンプルを取得すると、パフォーマンスが低下するリスクを最小限に抑えることができます。
4.3.1. モニタリング Web サービス API へのアクセスについて リンクのコピーリンクがクリップボードにコピーされました!
次の監視スタックコンポーネントのコマンドラインから Web サービス API エンドポイントに直接アクセスできます。
- Prometheus
- Alertmanager
- Thanos Ruler
- Thanos Querier
Thanos Ruler および Thanos Querier サービス API にアクセスするには、要求元のアカウントが namespace リソースに対するアクセス許可を get
している必要があります。これは、アカウントに cluster-monitoring-view
クラスターロールをバインドして付与することで実行できます。
モニタリングコンポーネントの Web サービス API エンドポイントにアクセスする場合は、以下の制限事項に注意してください。
- Bearer Token 認証のみを使用して API エンドポイントにアクセスできます。
-
ルートの
/api
パスのエンドポイントにのみアクセスできます。Web ブラウザーで API エンドポイントにアクセスしようとすると、Application is not available
エラーが発生します。Web ブラウザーでモニタリング機能にアクセスするには、OpenShift Dedicated Web コンソールを使用して、モニタリングダッシュボードを確認します。
4.3.2. 監視 Web サービス API へのアクセス リンクのコピーリンクがクリップボードにコピーされました!
次の例は、コアプラットフォームの監視で使用される Alertmanager サービスのサービス API レシーバーをクエリーする方法を示しています。同様の方法を使用して、コアプラットフォーム Prometheus の prometheus-k8s
サービスと Thanos Ruler の thanos-ruler
サービスにアクセスできます。
前提条件
-
openshift-monitoring
namespace のmonitoring-alertmanager-edit
ロールにバインドされているアカウントにログインしている。 Alertmanager API ルートを取得する権限を持つアカウントにログインしている。
注記アカウントに Alertmanager API ルートの取得権限がない場合、クラスター管理者はルートの URL を提供できます。
手順
次のコマンドを実行して認証トークンを抽出します。
TOKEN=$(oc whoami -t)
$ TOKEN=$(oc whoami -t)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
alertmanager-main
API ルート URL を抽出します。HOST=$(oc -n openshift-monitoring get route alertmanager-main -ojsonpath='{.status.ingress[].host}')
$ HOST=$(oc -n openshift-monitoring get route alertmanager-main -ojsonpath='{.status.ingress[].host}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、サービス API レシーバーに Alertmanager をクエリーを実行します。
curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v2/receivers"
$ curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v2/receivers"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.3. Prometheus のフェデレーションエンドポイントを使用したメトリクスのクエリー リンクのコピーリンクがクリップボードにコピーされました!
Prometheus のフェデレーションエンドポイントを使用して、クラスターの外部のネットワークの場所からプラットフォームとユーザー定義のメトリクスを収集できます。これを行うには、OpenShift Dedicated ルートを介してクラスターの Prometheus /federate
エンドポイントにアクセスします。
メトリクスデータの取得の遅延は、フェデレーションを使用すると発生します。この遅延は、収集されたメトリクスの精度とタイムラインに影響を与えます。
フェデレーションエンドポイントを使用すると、特にフェデレーションエンドポイントを使用して大量のメトリクスデータを取得する場合に、クラスターのパフォーマンスおよびスケーラビリティーを低下させることもできます。これらの問題を回避するには、以下の推奨事項に従ってください。
- Prometheus のフェデレーションエンドポイントを介してすべてのメトリクスデータを取得しようとしないでください。制限された集約されたデータセットを取得する場合のみ、クエリーを実行します。たとえば、各要求で 1,000 未満のサンプルを取得すると、パフォーマンスが低下するリスクを最小限に抑えることができます。
- Prometheus のフェデレーションエンドポイントに対して頻繁にクエリーすることは避けてください。クエリーを 30 秒ごとに最大 1 つに制限します。
クラスター外に大量のデータを転送する必要がある場合は、代わりにリモート書き込みを使用します。詳細は、リモート書き込みストレージの設定 セクションを参照してください。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 cluster-monitoring-view
クラスターロールを持つユーザーとしてクラスターにアクセスできるか、namespace
リソースのget
権限を持つベアラートークンを取得している。注記Prometheus フェデレーションエンドポイントへのアクセスには、ベアラートークン認証のみを使用できます。
Prometheus フェデレーションルートを取得する権限を持つアカウントにログインしている。
注記アカウントに Prometheus フェデレーションルートを取得する権限がない場合、クラスター管理者はルートの URL を提供できます。
手順
次のコマンドを実行してベアラートークンを取得します。
TOKEN=$(oc whoami -t)
$ TOKEN=$(oc whoami -t)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Prometheus フェデレーションルート URL を取得します。
HOST=$(oc -n openshift-monitoring get route prometheus-k8s-federate -ojsonpath='{.status.ingress[].host}')
$ HOST=$(oc -n openshift-monitoring get route prometheus-k8s-federate -ojsonpath='{.status.ingress[].host}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /federate
ルートからメトリクスをクエリーを実行します。次のコマンド例は、up
メトリクスをクエリーを実行します。curl -G -k -H "Authorization: Bearer $TOKEN" https://$HOST/federate --data-urlencode 'match[]=up'
$ curl -G -k -H "Authorization: Bearer $TOKEN" https://$HOST/federate --data-urlencode 'match[]=up'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
TYPE up untyped
# TYPE up untyped up{apiserver="kube-apiserver",endpoint="https",instance="10.0.143.148:6443",job="apiserver",namespace="default",service="kubernetes",prometheus="openshift-monitoring/k8s",prometheus_replica="prometheus-k8s-0"} 1 1657035322214 up{apiserver="kube-apiserver",endpoint="https",instance="10.0.148.166:6443",job="apiserver",namespace="default",service="kubernetes",prometheus="openshift-monitoring/k8s",prometheus_replica="prometheus-k8s-0"} 1 1657035338597 up{apiserver="kube-apiserver",endpoint="https",instance="10.0.173.16:6443",job="apiserver",namespace="default",service="kubernetes",prometheus="openshift-monitoring/k8s",prometheus_replica="prometheus-k8s-0"} 1 1657035343834 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.4. カスタムアプリケーションに関するクラスター外からのメトリクスへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトを使用して独自のサービスを監視する場合は、クラスターの外部から Prometheus メトリクスをクエリーできます。このデータには、thanos-querier
ルートを使用してクラスターの外部からアクセスします。
このアクセスは、認証に Bearer Token を使用することのみをサポートします。
前提条件
- 「ユーザー定義プロジェクトのモニタリングの有効化」の手順に従い、独自のサービスをデプロイしている。
-
Thanos Querier API へのアクセス権限を持つ
cluster-monitoring-view
クラスターロールでアカウントにログインしている。 Thanos Querier API ルートの取得権限を持つアカウントにログインしています。
注記アカウントに Thanos Querier API ルートの取得権限がない場合、クラスター管理者はルートの URL を提供できます。
手順
次のコマンドを実行して、Prometheus に接続するための認証トークンを展開します。
TOKEN=$(oc whoami -t)
$ TOKEN=$(oc whoami -t)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
thanos-querier
API ルート URL を展開します。HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath='{.status.ingress[].host}')
$ HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath='{.status.ingress[].host}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、サービスが実行されている namespace に namespace を設定します。
NAMESPACE=ns1
$ NAMESPACE=ns1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、コマンドラインで独自のサービスのメトリクスに対してクエリーを実行します。
curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}"
$ curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、Prometheus がスクレイピングしている各アプリケーション Pod のステータスが表示されます。
フォーマット済み出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記-
フォーマット済み出力例では、
jq
などのフィルタリングツールを使用して、フォーマット済みのインデントされた JSON を出力しています。jq
の使用に関する詳細は、jq Manual (jq ドキュメント) を参照してください。 - このコマンドは、ある時点でセレクターを評価する Thanos Querier サービスのインスタントクエリーエンドポイントを要求します。
-
フォーマット済み出力例では、
4.3.5. Cluster Monitoring Operator のリソースリファレンス リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントでは、Cluster Monitoring Operator (CMO) によってデプロイおよび管理される次のリソースを説明します。
メトリクスデータを取得、送信、または照会するために API エンドポイント接続を設定する場合は、この情報を使用します。
特定の状況では、特にエンドポイントを使用して大量のメトリクスデータを取得、送信、またはクエリーする場合、エンドポイントにアクセスするとクラスターのパフォーマンスとスケーラビリティーが低下する可能性があります。
これらの問題を回避するには、以下の推奨事項に従ってください。
- エンドポイントに頻繁にクエリーを実行しないようにします。クエリーを 30 秒ごとに最大 1 つに制限します。
-
/federate
エンドポイントを介してすべてのメトリクスデータを取得しようとしないでください。制限された集約されたデータセットを取得する場合のみ、クエリーを実行します。たとえば、各要求で 1,000 未満のサンプルを取得すると、パフォーマンスが低下するリスクを最小限に抑えることができます。
4.3.5.1. CMO ルートリソース リンクのコピーリンクがクリップボードにコピーされました!
4.3.5.1.1. openshift-monitoring/alertmanager-main リンクのコピーリンクがクリップボードにコピーされました!
ルーター経由で alertmanager-main
サービスの /api
エンドポイントを公開します。
4.3.5.1.2. openshift-monitoring/prometheus-k8s リンクのコピーリンクがクリップボードにコピーされました!
ルーター経由で prometheus-k8s
サービスの /api
エンドポイントを公開します。
4.3.5.1.3. openshift-monitoring/prometheus-k8s-federate リンクのコピーリンクがクリップボードにコピーされました!
ルーター経由で prometheus-k8s
サービスの /federate
エンドポイントを公開します。
4.3.5.1.4. openshift-user-workload-monitoring/federate リンクのコピーリンクがクリップボードにコピーされました!
ルーター経由で prometheus-user-workload
サービスの /federate
エンドポイントを公開します。
4.3.5.1.5. openshift-monitoring/thanos-querier リンクのコピーリンクがクリップボードにコピーされました!
ルーター経由で thanos-querier
サービスの /api
エンドポイントを公開します。
4.3.5.1.6. openshift-user-workload-monitoring/thanos-ruler リンクのコピーリンクがクリップボードにコピーされました!
ルーター経由で thanos-ruler
サービスの /api
エンドポイントを公開します。
4.3.5.2. CMO サービスリソース リンクのコピーリンクがクリップボードにコピーされました!
4.3.5.2.1. openshift-monitoring/prometheus-operator-admission-webhook リンクのコピーリンクがクリップボードにコピーされました!
ポート 8443 で PrometheusRules
および AlertmanagerConfig
カスタムリソースを検証するアドミッション Webhook サービスを公開します。
4.3.5.2.2. openshift-user-workload-monitoring/alertmanager-user-workload リンクのコピーリンクがクリップボードにコピーされました!
次のポートでクラスター内のユーザー定義の Alertmanager Web サーバーを公開します。
-
ポート 9095 は Alertmanager エンドポイントへのアクセスを提供します。アクセスを許可するには、
openshift-user-workload-monitoring
プロジェクトのmonitoring-alertmanager-api-reader
ロール (読み取り専用操作の場合) またはmonitoring-alertmanager-api-writer
ロールにユーザーをバインドする必要があります。 -
ポート 9092 は、特定のプロジェクトに制限された Alertmanager エンドポイントへのアクセスを提供します。アクセスを許可するには、ユーザーをプロジェクト内の
monitoring-rules-edit
クラスターロールまたはmonitoring-edit
クラスターロールにバインドする必要があります。 -
ポート 9097 は、
/metrics
エンドポイントへのアクセスのみを提供します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.3. openshift-monitoring/alertmanager-main リンクのコピーリンクがクリップボードにコピーされました!
次のポートでクラスター内の Alertmanager Web サーバーを公開します。
-
ポート 9094 は、すべての Alertmanager エンドポイントへのアクセスを提供します。アクセスを許可するには、ユーザーを
openshift-monitoring
プロジェクトのmonitoring-alertmanager-view
ロール (読み取り専用操作の場合) またはmonitoring-alertmanager-edit
ロールにバインドする必要があります。 -
ポート 9092 は、特定のプロジェクトに制限された Alertmanager エンドポイントへのアクセスを提供します。アクセスを許可するには、ユーザーをプロジェクト内の
monitoring-rules-edit
クラスターロールまたはmonitoring-edit
クラスターロールにバインドする必要があります。 -
ポート 9097 は、
/metrics
エンドポイントへのアクセスのみを提供します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.4. openshift-monitoring/kube-state-metrics リンクのコピーリンクがクリップボードにコピーされました!
次のポートでクラスター内の kube-state-metrics /metrics
エンドポイントを公開します。
- ポート 8443 は、Kubernetes リソースメトリクスへのアクセスを提供します。このポートは内部使用のためであり、他の用途では保証されません。
- ポート 9443 は、内部 kube-state-metrics メトリクスへのアクセスを提供します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.5. openshift-monitoring/metrics-server リンクのコピーリンクがクリップボードにコピーされました!
ポート 443 でメトリクス metrics-server Web サーバーを公開します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.6. openshift-monitoring/monitoring-plugin リンクのコピーリンクがクリップボードにコピーされました!
モニタリングプラグインサービスをポート 9443 で公開します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.7. openshift-monitoring/node-exporter リンクのコピーリンクがクリップボードにコピーされました!
ポート 9100 で /metrics
エンドポイントを公開します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.8. openshift-monitoring/openshift-state-metrics リンクのコピーリンクがクリップボードにコピーされました!
次のポートでクラスター内の openshift-state-metrics /metrics
エンドポイントを公開します。
- ポート 8443 は OpenShift リソースメトリクスへのアクセスを提供します。このポートは内部使用のためであり、他の用途では保証されません。
-
ポート 9443 は、内部
openshift-state-metrics
メトリクスへのアクセスを提供します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.9. openshift-monitoring/prometheus-k8s リンクのコピーリンクがクリップボードにコピーされました!
クラスター内の Prometheus Web サーバーを次のポートで公開します。
-
ポート 9091 は、すべての Prometheus エンドポイントへのアクセスを提供します。アクセスを許可するには、ユーザーを
cluster-monitoring-view
クラスターロールにバインドする必要があります。 -
ポート 9092 は、
/metrics
および/federate
エンドポイントへのアクセスのみを提供します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.10. openshift-user-workload-monitoring/prometheus-operator リンクのコピーリンクがクリップボードにコピーされました!
ポート 8443 で /metrics
エンドポイントを公開します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.11. openshift-monitoring/prometheus-operator リンクのコピーリンクがクリップボードにコピーされました!
ポート 8443 で /metrics
エンドポイントを公開します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.12. openshift-user-workload-monitoring/prometheus-user-workload リンクのコピーリンクがクリップボードにコピーされました!
クラスター内の Prometheus Web サーバーを次のポートで公開します。
-
ポート 9091 は、
/metrics
エンドポイントへのアクセスのみを提供します。このポートは内部使用のためであり、他の用途では保証されません。 -
ポート 9092 は
/federate
エンドポイントへのアクセスのみを提供します。アクセスを許可するには、ユーザーをcluster-monitoring-view
クラスターロールにバインドする必要があります。
これにより、ポート 10902 上の Thanos サイドカー Web サーバーの /metrics
エンドポイントも公開されます。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.13. openshift-monitoring/telemeter-client リンクのコピーリンクがクリップボードにコピーされました!
ポート 8443 で /metrics
エンドポイントを公開します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.14. openshift-monitoring/thanos-querier リンクのコピーリンクがクリップボードにコピーされました!
次のポートでクラスター内の Thanos Querier Web サーバーを公開します。
-
ポート 9091 は、すべての Thanos Querier エンドポイントへのアクセスを提供します。アクセスを許可するには、ユーザーを
cluster-monitoring-view
クラスターロールにバインドする必要があります。 -
ポート 9092 は、特定のプロジェクトに制限された
/api/v1/query
、/api/v1/query_range/
、/api/v1/labels
、/api/v1/label/*/values
、および/api/v1/series
エンドポイントへのアクセスを提供します。アクセスを許可するには、ユーザーをプロジェクト内のview
クラスターロールにバインドする必要があります。 -
ポート 9093 は、特定のプロジェクトに制限された
/api/v1/alerts
および/api/v1/rules
エンドポイントへのアクセスを提供します。アクセスを許可するには、ユーザーをプロジェクトのmonitoring-rules-edit
、monitoring-edit
、またはmonitoring-rules-view
クラスターロールにバインドする必要があります。 -
ポート 9094 は、
/metrics
エンドポイントへのアクセスのみを提供します。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.15. openshift-user-workload-monitoring/thanos-ruler リンクのコピーリンクがクリップボードにコピーされました!
次のポートでクラスター内の Thanos Ruler Web サーバーを公開します。
-
ポート 9091 は、すべての Thanos Ruler エンドポイントへのアクセスを提供します。アクセスを許可するには、ユーザーを
cluster-monitoring-view
クラスターロールにバインドする必要があります。 -
ポート 9092 は
/metrics
エンドポイントへのアクセスのみを提供します。このポートは内部使用のためであり、他の用途では保証されません。
これにより、ポート 10901 上の gRPC エンドポイントも公開されます。このポートは内部使用のためであり、他の用途では保証されません。
4.3.5.2.16. openshift-monitoring/cluster-monitoring-operator リンクのコピーリンクがクリップボードにコピーされました!
ポート 8443 で /metrics
エンドポイントおよび /validate-webhook
エンドポイントを公開します。このポートは内部使用のためであり、他の用途では保証されません。
第5章 アラートの管理 リンクのコピーリンクがクリップボードにコピーされました!
5.1. 管理者としてアラートを管理する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、アラート UI を使用してアラート、サイレンス、およびアラートルールを管理できます。
OpenShift Dedicated 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。
すべてのユーザーが、OpenShift Dedicated Web コンソールのすべての機能を操作できます。ただし、クラスター所有者でない場合は、特定の機能に対する権限をクラスター所有者に要求する必要がある場合があります。
引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。
アラート UI で利用可能なアラート、サイレンス、およびアラートルールは、アクセス可能なプロジェクトに関連付けられます。たとえば、管理者としてログインしている場合は、すべてのアラート、サイレンス、アラートルールにアクセスできます。
5.1.1. アラート UI へのアクセス リンクのコピーリンクがクリップボードにコピーされました!
アラート UI は OpenShift Dedicated Web コンソールからアクセスできます。
- OpenShift Dedicated Web コンソールで、Observe → Alerting に移動します。このパースペクティブのアラート UI には主要なページが 3 つあり、それが Alerts ページ、Silences ページ、Alerting rules ページです。
5.1.2. アラート、サイレンスおよびアラートルールに関する情報の取得 リンクのコピーリンクがクリップボードにコピーされました!
アラート UI は、アラートおよびそれらを規定するアラートルールおよびサイレンスの詳細情報を提供します。
前提条件
- アラートを表示しているプロジェクトの表示権限を持つユーザーとしてクラスターにアクセスできる。
手順
アラートに関する情報を取得するには、以下を実行します。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Alerts ページに移動します。
- オプション: 検索リストで Name フィールドを使用し、アラートを名前で検索します。
- オプション: Filter リストでフィルターを選択し、アラートを状態、重大度およびソースでフィルターします。
- オプション: 1 つ以上の Name、Severity、State、および Source 列ヘッダーをクリックし、アラートを並べ替えます。
アラートの名前をクリックして、Alert details ページを表示します。このページには、アラートの時系列データを示すグラフが含まれます。アラートに関する次の情報も提供されます。
- アラートの説明
- アラートに関連付けられたメッセージ
- アラートの GitHub 上の Runbook ページへのリンク (ページが存在する場合)
- アラートに割り当てられるラベル
- アラートを規定するアラートルールへのリンク
- アラートが存在する場合のアラートのサイレンス
サイレンスの情報を取得するには、以下を実行します。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Silences ページに移動します。
- オプション: Search by name フィールドを使用し、サイレンスを名前でフィルターします。
- オプション: Filter リストでフィルターを選択し、サイレンスをフィルターします。デフォルトでは、Active および Pending フィルターが適用されます。
- オプション: Name、Firing alerts、State、Creator 列のヘッダーを 1 つ以上クリックして、サイレンスを並べ替えます。
サイレンスの名前を選択すると、その Silence details ページが表示されます。このページには、以下の詳細が含まれます。
- アラート仕様
- 開始時間
- 終了時間
- サイレンス状態
- 発生するアラートの数およびリスト
アラートルールの情報を取得するには、以下を実行します。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Alerting rules ページに移動します。
- オプション: Filter 一覧でフィルターを選択し、アラートルールを状態、重大度およびソースでフィルターします。
- オプション: Name、Severity、Alert State、Source 列のヘッダーを 1 つ以上クリックし、アラートルールを並べ替えます。
アラートルールの名前を選択して、その Alerting rule details ページを表示します。このページには、アラートルールに関する以下の情報が含まれます。
- アラートルール名、重大度、説明
- アラートを発動する条件を定義する式
- 条件が true で持続してアラートが発生するまでの期間
- アラートルールで管理される各アラートのグラフ。アラートが発動される値が表示されます。
- アラートルールで管理されるすべてのアラートを示す表。
5.1.3. サイレンスの管理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated Web コンソールでアラートのサイレンスを作成できます。サイレンスを作成した後、それらを表示、編集、および期限切れにすることができます。また、アラートが発生しても、サイレンスが適用されたアラートに関する通知は届きません。
サイレンスを作成すると、それらは Alertmanager Pod 全体に複製されます。ただし、Alertmanager の永続ストレージを設定しないと、サイレンスが失われる可能性があります。これは、たとえば、すべての Alertmanager Pod が同時に再起動した場合に発生する可能性があります。
5.1.3.1. アラートをサイレントにする リンクのコピーリンクがクリップボードにコピーされました!
特定のアラート、または定義する仕様に一致するアラートのいずれかをサイレンスにすることができます。
前提条件
-
クラスター管理者の場合は、
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
アラートの作成と無音化を許可する
monitoring-alertmanager-edit
ロール。
-
Alertmanager へのアクセスを許可する
手順
特定のアラートをサイレントにするには、以下を実行します。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Alerts に移動します。
-
サイレントにするアラートに対して、
をクリックし、Silence alert を選択すると、選択したアラートのデフォルト設定を含む Silence alert ページが開きます。
オプション: サイレンスのデフォルト設定の詳細を変更します。
注記サイレンスを保存する前にコメントを追加する必要があります。
- サイレンスを保存するには、Silence をクリックします。
一連のアラートをサイレントにします。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Silences に移動します。
- Create silence をクリックします。
Create silence フォームで、アラートのスケジュール、期間、およびラベルの詳細を設定します。
注記サイレンスを保存する前にコメントを追加する必要があります。
- 入力したラベルと一致するアラートのサイレンスを作成するには、Silence をクリックします。
5.1.3.2. サイレンスの編集 リンクのコピーリンクがクリップボードにコピーされました!
サイレンスを編集すると、既存のサイレンスが期限切れになり、変更された設定で新しいサイレンスが作成されます。
前提条件
-
クラスター管理者の場合は、
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
アラートの作成と無音化を許可する
monitoring-alertmanager-edit
ロール。
-
Alertmanager へのアクセスを許可する
手順
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Silences に移動します。
変更するサイレンスの
をクリックして Edit silence を選択します。
または、Actions をクリックし、サイレンスの Silence details ページで Edit silence を選択することもできます。
- Edit silence ページで変更を加え、Silence をクリックします。これにより、既存のサイレンスが期限切れになり、更新された設定でサイレンスが作成されます。
5.1.3.3. 有効期限切れにするサイレンス リンクのコピーリンクがクリップボードにコピーされました!
単一のサイレンスまたは複数のサイレンスを期限切れにすることができます。サイレンスを期限切れにすると、そのサイレンスは永久に非アクティブ化されます。
サイレンスが適用された期限切れのアラートは削除できません。120 時間を超えて期限切れになったサイレンスはガベージコレクションされます。
前提条件
-
クラスター管理者の場合は、
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
アラートの作成と無音化を許可する
monitoring-alertmanager-edit
ロール。
-
Alertmanager へのアクセスを許可する
手順
- Observe → Alerting → Silences に移動します。
- 期限切れにするサイレンスは、対応する行のチェックボックスを選択します。
Expire 1 silence をクリックして選択した 1 つのサイレンスを期限切れにするか、Expire <n> silences をクリックして複数の沈黙を期限切れにします (<n> は選択した沈黙の数になります)。
または、単一の沈黙を期限切れにするには、Actions をクリックし、サイレンスの Silence details ページで Expire silence を選択します。
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
になるとアラートを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定ファイルをクラスターに適用します。
oc apply -f example-app-alerting-rule.yaml
$ oc apply -f example-app-alerting-rule.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.4.2. ユーザー定義プロジェクトのクロスプロジェクトアラートルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
user-workload-monitoring-config
config map でプロジェクトを設定することにより、元のプロジェクトにバインドされないアラートルールを作成できます。このプロジェクトで作成された PrometheusRule
オブジェクトは、すべてのプロジェクトに適用できます。
そのため、各ユーザープロジェクトに個別の PrometheusRule
オブジェクトを用意する代わりに、複数のユーザー定義プロジェクトに適用される汎用のアラートルールを設定できます。PrometheusRule
オブジェクトで PromQL クエリーを使用すると、アラートルールに追加または除外するプロジェクトをフィルタリングできます。
前提条件
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。注記管理者以外のユーザーであっても、アラートルールを作成するプロジェクトに対して、
monitoring-rules-edit
クラスターロールを持っている場合は、プロジェクト間アラートルールを作成できます。ただし、そのプロジェクトはuser-workload-monitoring-config
config map のnamespacesWithoutLabelEnforcement
プロパティーで設定する必要があり、これはクラスター管理者のみが実行できます。-
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のプロジェクトにバインドされないアラートルールを作成するプロジェクトを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クロスプロジェクトアラートルールを作成するプロジェクトを 1 つ以上指定します。ユーザー定義のモニタリング用の Prometheus および Thanos Ruler は、これらのプロジェクトで作成された
PrometheusRule
オブジェクトのnamespace
ラベルを適用しません。そのため、PrometheusRule
オブジェクトはすべてのプロジェクトに適用できます。
-
アラートルールの YAML ファイルを作成します。この例では、
example-cross-project-alerting-rule.yaml
という名前です。 アラートルール設定を YAML ファイルに追加します。次の例では、
example-security
という名前の新しいクロスプロジェクトアラートルールを作成します。ユーザープロジェクトが制限付き Pod セキュリティーポリシーを適用しない場合、このアラートルールが起動します。クロスプロジェクトアラートルールの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要namespacesWithoutLabelEnforcement
フィールドで指定したプロジェクトのうちの 1 つにだけ、特定のクロスプロジェクトアラートルールを作成してください。複数のプロジェクトで同じクロスプロジェクトアラートルールを作成すると、アラートが繰り返し発生します。設定ファイルをクラスターに適用します。
oc apply -f example-cross-project-alerting-rule.yaml
$ oc apply -f example-cross-project-alerting-rule.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.4.3. 単一ビューでのすべてのプロジェクトのアラートルールのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
dedicated-admin
として、コア OpenShift Dedicated プロジェクトとユーザー定義プロジェクトのアラートルールを 1 つのビューにまとめてリストできます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Alerting rules に移動します。
Filter ドロップダウンメニューで、Platform および User ソースを選択します。
注記Platform ソースはデフォルトで選択されます。
5.1.4.4. ユーザー定義プロジェクトのアラートルールの削除 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのアラートルールを削除できます。
前提条件
- ユーザー定義プロジェクトのモニタリングが有効化されている。
-
アラートルールを作成するプロジェクトのクラスター管理者または
monitoring-rules-edit
クラスターロールを持つユーザーとしてログインする。 -
OpenShift CLI (
oc
) がインストールされている。
手順
<namespace>
内のルール<alerting_rule>
を削除するには、次のコマンドを実行します。oc -n <namespace> delete prometheusrule <alerting_rule>
$ oc -n <namespace> delete prometheusrule <alerting_rule>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.4.5. ユーザー定義プロジェクトのクロスプロジェクトアラートルールの無効化 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのクロスプロジェクトアラートルールの作成は、デフォルトで有効になっています。クラスター管理者は、次の理由により、cluster-monitoring-config
config map でこの機能を無効にできます。
- ユーザー定義のモニタリングによってクラスターモニタリングスタックが過負荷になるのを防止するため。
- バグのあるアラートルールがクラスターに適用されないようにして、問題の原因となるルールを特定する必要を排除するため。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-monitoring
プロジェクトでcluster-monitoring-config
config map を編集します。oc -n openshift-monitoring edit configmap cluster-monitoring-config
$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster-monitoring-config
config map で、data/config.yaml/userWorkload
のrulesWithoutLabelEnforcementAllowed
値をfalse
に設定して、クロスプロジェクトアラートルールを作成するオプションを無効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。
5.2. 開発者としてアラートを管理する リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、アラート UI を使用してアラート、サイレンス、およびアラートルールを管理できます。
OpenShift Dedicated 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。
すべてのユーザーが、OpenShift Dedicated Web コンソールのすべての機能を操作できます。ただし、クラスター所有者でない場合は、特定の機能に対する権限をクラスター所有者に要求する必要がある場合があります。
引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。
アラート UI で利用可能なアラート、サイレンス、およびアラートルールは、アクセス可能なプロジェクトに関連付けられます。
5.2.1. アラート UI へのアクセス リンクのコピーリンクがクリップボードにコピーされました!
アラート UI は OpenShift Dedicated Web コンソールからアクセスできます。
- OpenShift Dedicated Web コンソールで、Observe → Alerting に移動します。このパースペクティブのアラート UI には主要なページが 3 つあり、それが Alerts ページ、Silences ページ、Alerting rules ページです。
5.2.2. アラート、サイレンスおよびアラートルールに関する情報の取得 リンクのコピーリンクがクリップボードにコピーされました!
アラート UI は、アラートおよびそれらを規定するアラートルールおよびサイレンスの詳細情報を提供します。
前提条件
- アラートを表示しているプロジェクトの表示権限を持つユーザーとしてクラスターにアクセスできる。
手順
アラートに関する情報を取得するには、以下を実行します。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Alerts ページに移動します。
- オプション: 検索リストで Name フィールドを使用し、アラートを名前で検索します。
- オプション: Filter リストでフィルターを選択し、アラートを状態、重大度およびソースでフィルターします。
- オプション: 1 つ以上の Name、Severity、State、および Source 列ヘッダーをクリックし、アラートを並べ替えます。
アラートの名前をクリックして、Alert details ページを表示します。このページには、アラートの時系列データを示すグラフが含まれます。アラートに関する次の情報も提供されます。
- アラートの説明
- アラートに関連付けられたメッセージ
- アラートの GitHub 上の Runbook ページへのリンク (ページが存在する場合)
- アラートに割り当てられるラベル
- アラートを規定するアラートルールへのリンク
- アラートが存在する場合のアラートのサイレンス
サイレンスの情報を取得するには、以下を実行します。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Silences ページに移動します。
- オプション: Search by name フィールドを使用し、サイレンスを名前でフィルターします。
- オプション: Filter リストでフィルターを選択し、サイレンスをフィルターします。デフォルトでは、Active および Pending フィルターが適用されます。
- オプション: Name、Firing alerts、State、Creator 列のヘッダーを 1 つ以上クリックして、サイレンスを並べ替えます。
サイレンスの名前を選択すると、その Silence details ページが表示されます。このページには、以下の詳細が含まれます。
- アラート仕様
- 開始時間
- 終了時間
- サイレンス状態
- 発生するアラートの数およびリスト
アラートルールの情報を取得するには、以下を実行します。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Alerting rules ページに移動します。
- オプション: Filter 一覧でフィルターを選択し、アラートルールを状態、重大度およびソースでフィルターします。
- オプション: Name、Severity、Alert State、Source 列のヘッダーを 1 つ以上クリックし、アラートルールを並べ替えます。
アラートルールの名前を選択して、その Alerting rule details ページを表示します。このページには、アラートルールに関する以下の情報が含まれます。
- アラートルール名、重大度、説明
- アラートを発動する条件を定義する式
- 条件が true で持続してアラートが発生するまでの期間
- アラートルールで管理される各アラートのグラフ。アラートが発動される値が表示されます。
- アラートルールで管理されるすべてのアラートを示す表。
5.2.3. サイレンスの管理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated Web コンソールでアラートのサイレンスを作成できます。サイレンスを作成した後、それらを表示、編集、および期限切れにすることができます。また、アラートが発生しても、サイレンスが適用されたアラートに関する通知は届きません。
サイレンスを作成すると、それらは Alertmanager Pod 全体に複製されます。ただし、Alertmanager の永続ストレージを設定しないと、サイレンスが失われる可能性があります。これは、たとえば、すべての Alertmanager Pod が同時に再起動した場合に発生する可能性があります。
5.2.3.1. アラートをサイレントにする リンクのコピーリンクがクリップボードにコピーされました!
特定のアラート、または定義する仕様に一致するアラートのいずれかをサイレンスにすることができます。
前提条件
-
クラスター管理者の場合は、
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
アラートの作成と無音化を許可する
monitoring-alertmanager-edit
ロール。
-
Alertmanager へのアクセスを許可する
手順
特定のアラートをサイレントにするには、以下を実行します。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Alerts に移動します。
-
サイレントにするアラートに対して、
をクリックし、Silence alert を選択すると、選択したアラートのデフォルト設定を含む Silence alert ページが開きます。
オプション: サイレンスのデフォルト設定の詳細を変更します。
注記サイレンスを保存する前にコメントを追加する必要があります。
- サイレンスを保存するには、Silence をクリックします。
一連のアラートをサイレントにします。
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Silences に移動します。
- Create silence をクリックします。
Create silence フォームで、アラートのスケジュール、期間、およびラベルの詳細を設定します。
注記サイレンスを保存する前にコメントを追加する必要があります。
- 入力したラベルと一致するアラートのサイレンスを作成するには、Silence をクリックします。
5.2.3.2. サイレンスの編集 リンクのコピーリンクがクリップボードにコピーされました!
サイレンスを編集すると、既存のサイレンスが期限切れになり、変更された設定で新しいサイレンスが作成されます。
前提条件
-
クラスター管理者の場合は、
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
アラートの作成と無音化を許可する
monitoring-alertmanager-edit
ロール。
-
Alertmanager へのアクセスを許可する
手順
- OpenShift Dedicated Web コンソールで、Observe → Alerting → Silences に移動します。
変更するサイレンスの
をクリックして Edit silence を選択します。
または、Actions をクリックし、サイレンスの Silence details ページで Edit silence を選択することもできます。
- Edit silence ページで変更を加え、Silence をクリックします。これにより、既存のサイレンスが期限切れになり、更新された設定でサイレンスが作成されます。
5.2.3.3. 有効期限切れにするサイレンス リンクのコピーリンクがクリップボードにコピーされました!
単一のサイレンスまたは複数のサイレンスを期限切れにすることができます。サイレンスを期限切れにすると、そのサイレンスは永久に非アクティブ化されます。
サイレンスが適用された期限切れのアラートは削除できません。120 時間を超えて期限切れになったサイレンスはガベージコレクションされます。
前提条件
-
クラスター管理者の場合は、
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
アラートの作成と無音化を許可する
monitoring-alertmanager-edit
ロール。
-
Alertmanager へのアクセスを許可する
手順
- Observe → Alerting → Silences に移動します。
- 期限切れにするサイレンスは、対応する行のチェックボックスを選択します。
Expire 1 silence をクリックして選択した 1 つのサイレンスを期限切れにするか、Expire <n> silences をクリックして複数の沈黙を期限切れにします (<n> は選択した沈黙の数になります)。
または、単一の沈黙を期限切れにするには、Actions をクリックし、サイレンスの Silence details ページで Expire silence を選択します。
5.2.4. ユーザー定義プロジェクトのアラートルールの管理 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated では、ユーザー定義プロジェクトのアラートルールを作成、表示、編集、削除できます。これらのアラートルールは、選択したメトリクスの値に基づいてアラートをトリガーします。
5.2.4.1. ユーザー定義プロジェクトのアラートルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義のプロジェクトに対してアラートルールを作成できます。これらのアラートルールは、選択したメトリクスの値に基づいてアラートをトリガーします。
ユーザーがアラートの影響と原因を理解できるように、アラートルールにアラートメッセージと重大度値が含まれていることを確認します。
前提条件
- ユーザー定義プロジェクトのモニタリングが有効化されている。
-
アラートルールを作成するプロジェクトのクラスター管理者または
monitoring-rules-edit
クラスターロールを持つユーザーとしてログインする。 -
OpenShift CLI (
oc
) がインストールされている。
手順
-
アラートルールの YAML ファイルを作成します。この例では、
example-app-alerting-rule.yaml
という名前です。 アラートルール設定を YAML ファイルに追加します。以下の例では、
example-alert
という名前の新規アラートルールを作成します。アラートルールは、サンプルサービスによって公開されるversion
メトリクスが0
になるとアラートを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定ファイルをクラスターに適用します。
oc apply -f example-app-alerting-rule.yaml
$ oc apply -f example-app-alerting-rule.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.4.2. ユーザー定義プロジェクトのクロスプロジェクトアラートルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
user-workload-monitoring-config
config map でプロジェクトを設定することにより、元のプロジェクトにバインドされないアラートルールを作成できます。このプロジェクトで作成された PrometheusRule
オブジェクトは、すべてのプロジェクトに適用できます。
そのため、各ユーザープロジェクトに個別の PrometheusRule
オブジェクトを用意する代わりに、複数のユーザー定義プロジェクトに適用される汎用のアラートルールを設定できます。PrometheusRule
オブジェクトで PromQL クエリーを使用すると、アラートルールに追加または除外するプロジェクトをフィルタリングできます。
前提条件
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。注記管理者以外のユーザーであっても、アラートルールを作成するプロジェクトに対して、
monitoring-rules-edit
クラスターロールを持っている場合は、プロジェクト間アラートルールを作成できます。ただし、そのプロジェクトはuser-workload-monitoring-config
config map のnamespacesWithoutLabelEnforcement
プロパティーで設定する必要があり、これはクラスター管理者のみが実行できます。-
user-workload-monitoring-config
ConfigMap
オブジェクトが存在します。このオブジェクトは、クラスターの作成時にデフォルトで作成されます。 -
OpenShift CLI (
oc
) がインストールされている。
手順
openshift-user-workload-monitoring
プロジェクトでuser-workload-monitoring-config
config map を編集します。oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のプロジェクトにバインドされないアラートルールを作成するプロジェクトを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クロスプロジェクトアラートルールを作成するプロジェクトを 1 つ以上指定します。ユーザー定義のモニタリング用の Prometheus および Thanos Ruler は、これらのプロジェクトで作成された
PrometheusRule
オブジェクトのnamespace
ラベルを適用しません。そのため、PrometheusRule
オブジェクトはすべてのプロジェクトに適用できます。
-
アラートルールの YAML ファイルを作成します。この例では、
example-cross-project-alerting-rule.yaml
という名前です。 アラートルール設定を YAML ファイルに追加します。次の例では、
example-security
という名前の新しいクロスプロジェクトアラートルールを作成します。ユーザープロジェクトが制限付き Pod セキュリティーポリシーを適用しない場合、このアラートルールが起動します。クロスプロジェクトアラートルールの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要namespacesWithoutLabelEnforcement
フィールドで指定したプロジェクトのうちの 1 つにだけ、特定のクロスプロジェクトアラートルールを作成してください。複数のプロジェクトで同じクロスプロジェクトアラートルールを作成すると、アラートが繰り返し発生します。設定ファイルをクラスターに適用します。
oc apply -f example-cross-project-alerting-rule.yaml
$ oc apply -f example-cross-project-alerting-rule.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.4.3. ユーザー定義プロジェクトのアラートルールへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのアラートルールを一覧表示するには、プロジェクトの monitoring-rules-view
クラスターロールが割り当てられている必要があります。
前提条件
- ユーザー定義プロジェクトのモニタリングが有効化されている。
-
プロジェクトの
monitoring-rules-view
クラスターロールを持つユーザーとしてログインしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
<project>
でアラートルールを一覧表示するには、以下を実行します。oc -n <project> get prometheusrule
$ oc -n <project> get prometheusrule
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アラートルールの設定をリスト表示するには、以下を実行します。
oc -n <project> get prometheusrule <rule> -o yaml
$ oc -n <project> get prometheusrule <rule> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.4.4. ユーザー定義プロジェクトのアラートルールの削除 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのアラートルールを削除できます。
前提条件
- ユーザー定義プロジェクトのモニタリングが有効化されている。
-
アラートルールを作成するプロジェクトのクラスター管理者または
monitoring-rules-edit
クラスターロールを持つユーザーとしてログインする。 -
OpenShift CLI (
oc
) がインストールされている。
手順
<namespace>
内のルール<alerting_rule>
を削除するには、次のコマンドを実行します。oc -n <namespace> delete prometheusrule <alerting_rule>
$ oc -n <namespace> delete prometheusrule <alerting_rule>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 モニタリング関連の問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのモニタリングに関する一般的な問題のトラブルシューティング手順を参照してください。
6.1. ユーザー定義プロジェクトのメトリクスが利用できない理由の判別 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのモニタリング時にメトリクスが表示されない場合は、以下の手順を実行して問題のトラブルシューティングを実行します。
手順
メトリクス名に対してクエリーを実行し、プロジェクトが正しいことを確認します。
- Web コンソールの Developer パースペクティブで、Observe をクリックし、Metrics タブに移動します。
- Project: 一覧でメトリクスで表示するプロジェクトを選択します。
Select query リストから既存のクエリーを選択するか、Expression フィールドに PromQL クエリーを追加してカスタムクエリーを実行します。
メトリクスはグラフに表示されます。
クエリーはプロジェクトごとに実行される必要があります。表示されるメトリクスは、選択したプロジェクトに関連するメトリクスです。
メトリクスが必要な Pod がアクティブにメトリクスを提供していることを確認します。以下の
oc exec
コマンドを Pod で実行し、podIP
、port
、および/metrics
をターゲットにします。oc exec <sample_pod> -n <sample_namespace> -- curl <target_pod_IP>:<port>/metrics
$ oc exec <sample_pod> -n <sample_namespace> -- curl <target_pod_IP>:<port>/metrics
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記curl
がインストールされている Pod でコマンドを実行する必要があります。以下の出力例は、有効なバージョンのメトリクスを含む結果を示しています。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 無効な出力は、対応するアプリケーションに問題があることを示しています。
-
PodMonitor
CRD を使用している場合は、PodMonitor
CRD がラベル一致を使用して適切な Pod を参照するよう設定されていることを確認します。詳細は、Prometheus Operator のドキュメントを参照してください。 ServiceMonitor
CRD を使用し、Pod の/metrics
エンドポイントがメトリクスデータを表示している場合は、以下の手順を実行して設定を確認します。サービスが正しい
/metrics
エンドポイントを参照していることを確認します。この出力のサービスlabels
は、後続の手順でサービスが定義するサービスモニターのlabels
と/metrics
エンドポイントと一致する必要があります。oc get service
$ oc get service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow serviceIP
、port
、および/metrics
エンドポイントを取得し、以前に Pod で実行したcurl
コマンドと同じメトリクスがあるかどうかを確認します。以下のコマンドを実行してサービス IP を見つけます。
oc get service -n <target_namespace>
$ oc get service -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /metrics
エンドポイントを取得します。oc exec <sample_pod> -n <sample_namespace> -- curl <service_IP>:<port>/metrics
$ oc exec <sample_pod> -n <sample_namespace> -- curl <service_IP>:<port>/metrics
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例では、有効なメトリクスが返されます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ラベルのマッチングを使用して、
ServiceMonitor
オブジェクトが必要なサービスを参照するように設定されていることを確認します。これを実行するには、oc get service
出力のService
オブジェクトをoc get servicemonitor
出力のServiceMonitor
オブジェクトと比較します。メトリクスを表示するには、ラベルが一致している必要があります。たとえば、直前の手順の
Service
オブジェクトにapp: prometheus-example-app
ラベルがあり、ServiceMonitor
オブジェクトに同じapp: prometheus-example-app
一致ラベルがある点に注意してください。
- すべて有効になっていても、メトリクスが利用できない場合は、サポートチームにお問い合わせください。
6.2. Prometheus が大量のディスク領域を消費している理由の特定 リンクのコピーリンクがクリップボードにコピーされました!
開発者は、キーと値のペアの形式でメトリクスの属性を定義するためにラベルを作成できます。使用できる可能性のあるキーと値のペアの数は、属性に使用できる可能性のある値の数に対応します。数が無制限の値を持つ属性は、バインドされていない属性と呼ばれます。たとえば、customer_id
属性は、使用できる値が無限にあるため、バインドされていない属性になります。
割り当てられるキーと値のペアにはすべて、一意の時系列があります。ラベルに多数のバインドされていない値を使用すると、作成される時系列の数が指数関数的に増加する可能性があります。これは Prometheus のパフォーマンスに影響する可能性があり、多くのディスク領域を消費する可能性があります。
Prometheus が多くのディスクを消費する場合、以下の手段を使用できます。
- どのラベルが最も多くの時系列データを作成しているか詳しく知るには、Prometheus HTTP API を使用して時系列データベース (TSDB) のステータスを確認 します。これを実行するには、クラスター管理者権限が必要です。
- 収集されている スクレイプサンプルの数を確認 します。
ユーザー定義メトリクスに割り当てられるバインドされていない属性の数を減らすことで、作成される一意の時系列の数を減らします。
注記使用可能な値の制限されたセットにバインドされる属性を使用すると、可能なキーと値のペアの組み合わせの数が減ります。
- ユーザー定義のプロジェクト全体で スクレイピングできるサンプルの数に制限を適用 します。これには、クラスター管理者の権限が必要です。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
- OpenShift Dedicated Web コンソールで、Observe → Metrics に移動します。
Expression フィールドに、Prometheus Query Language (PromQL) クエリーを入力します。次のクエリー例は、ディスク領域の消費量の増加につながる可能性のある高カーディナリティメトリクスを識別するのに役立ちます。
次のクエリーを実行すると、スクレイプサンプルの数が最も多いジョブを 10 個特定できます。
topk(10, max by(namespace, job) (topk by(namespace, job) (1, scrape_samples_post_metric_relabeling)))
topk(10, max by(namespace, job) (topk by(namespace, job) (1, scrape_samples_post_metric_relabeling)))
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のクエリーを実行すると、過去 1 時間に最も多くの時系列データを作成したジョブを 10 個特定して、時系列のチャーンを正確に特定できます。
topk(10, sum by(namespace, job) (sum_over_time(scrape_series_added[1h])))
topk(10, sum by(namespace, job) (sum_over_time(scrape_series_added[1h])))
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
想定よりもサンプルのスクレイプ数が多いメトリクスに割り当てられたラベルで、値が割り当てられていないものの数を確認します。
- メトリクスがユーザー定義のプロジェクトに関連する場合、ワークロードに割り当てられたメトリクスのキーと値のペアを確認します。これらのライブラリーは、アプリケーションレベルで Prometheus クライアントライブラリーを使用して実装されます。ラベルで参照されるバインドされていない属性の数の制限を試行します。
- メトリクスがコア OpenShift Dedicated プロジェクトに関連している場合 は、Red Hat Customer Portal で Red Hat サポートケースを作成します。
以下の手順に従い、
dedicated-admin
としてログインし、Prometheus HTTP API を使用して TSDB ステータスを確認します。次のコマンドを実行して、Prometheus API ルート URL を取得します。
HOST=$(oc -n openshift-monitoring get route prometheus-k8s -ojsonpath='{.status.ingress[].host}')
$ HOST=$(oc -n openshift-monitoring get route prometheus-k8s -ojsonpath='{.status.ingress[].host}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して認証トークンを抽出します。
TOKEN=$(oc whoami -t)
$ TOKEN=$(oc whoami -t)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Prometheus の TSDB ステータスのクエリーを実行します。
curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/status/tsdb"
$ curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/status/tsdb"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3. Prometheus に対する KubePersistentVolumeFillingUp アラートの解決 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、Prometheus に対してトリガーされている KubePersistentVolumeFillingUp
アラートを解決できます。
openshift-monitoring
プロジェクトの prometheus-k8s-*
Pod によって要求された永続ボリューム (PV) の合計残り容量が 3% 未満になると、重大アラートが発生します。これにより、Prometheus の動作異常が発生する可能性があります。
KubePersistentVolumeFillingUp
アラートは 2 つあります。
-
重大アラート: マウントされた PV の合計残り容量が 3% 未満になると、
severity="critical"
ラベルの付いたアラートがトリガーされます。 -
警告アラート: マウントされた PV の合計空き容量が 15% 未満になり、4 日以内にいっぱいになると予想される場合、
severity="warning"
ラベルの付いたアラートがトリガーされます。
この問題に対処するには、Prometheus 時系列データベース (TSDB) のブロックを削除して、PV 用のスペースを増やすことができます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
次のコマンドを実行して、すべての TSDB ブロックのサイズを古いものから新しいものの順にリスト表示します。
oc debug <prometheus_k8s_pod_name> -n openshift-monitoring \ -c prometheus --image=$(oc get po -n openshift-monitoring <prometheus_k8s_pod_name> \ -o jsonpath='{.spec.containers[?(@.name=="prometheus")].image}') \ -- sh -c 'cd /prometheus/;du -hs $(ls -dtr */ | grep -Eo "[0-9|A-Z]{26}")'
$ oc debug <prometheus_k8s_pod_name> -n openshift-monitoring \
1 -c prometheus --image=$(oc get po -n openshift-monitoring <prometheus_k8s_pod_name> \
2 -o jsonpath='{.spec.containers[?(@.name=="prometheus")].image}') \ -- sh -c 'cd /prometheus/;du -hs $(ls -dtr */ | grep -Eo "[0-9|A-Z]{26}")'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 削除できるブロックとその数を特定し、ブロックを削除します。次のコマンド例は、
prometheus-k8s-0
Pod から最も古い 3 つの Prometheus TSDB ブロックを削除します。oc debug prometheus-k8s-0 -n openshift-monitoring \ -c prometheus --image=$(oc get po -n openshift-monitoring prometheus-k8s-0 \ -o jsonpath='{.spec.containers[?(@.name=="prometheus")].image}') \ -- sh -c 'ls -latr /prometheus/ | egrep -o "[0-9|A-Z]{26}" | head -3 | \ while read BLOCK; do rm -r /prometheus/$BLOCK; done'
$ oc debug prometheus-k8s-0 -n openshift-monitoring \ -c prometheus --image=$(oc get po -n openshift-monitoring prometheus-k8s-0 \ -o jsonpath='{.spec.containers[?(@.name=="prometheus")].image}') \ -- sh -c 'ls -latr /prometheus/ | egrep -o "[0-9|A-Z]{26}" | head -3 | \ while read BLOCK; do rm -r /prometheus/$BLOCK; done'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、マウントされた PV の使用状況を確認し、十分な空き容量があることを確認します。
oc debug <prometheus_k8s_pod_name> -n openshift-monitoring \ --image=$(oc get po -n openshift-monitoring <prometheus_k8s_pod_name> \ -o jsonpath='{.spec.containers[?(@.name=="prometheus")].image}') -- df -h /prometheus/
$ oc debug <prometheus_k8s_pod_name> -n openshift-monitoring \
1 --image=$(oc get po -n openshift-monitoring <prometheus_k8s_pod_name> \
2 -o jsonpath='{.spec.containers[?(@.name=="prometheus")].image}') -- df -h /prometheus/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の出力例は、
prometheus-k8s-0
Pod によって要求されるマウントされた PV に、63% の空き容量が残っていることを示しています。出力例
Starting pod/prometheus-k8s-0-debug-j82w4 ... Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p4 40G 15G 40G 37% /prometheus Removing debug pod ...
Starting pod/prometheus-k8s-0-debug-j82w4 ... Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p4 40G 15G 40G 37% /prometheus Removing debug pod ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第7章 Cluster Monitoring Operator の config map 参照 リンクのコピーリンクがクリップボードにコピーされました!
7.1. Cluster Monitoring Operator 設定リファレンス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dedicated クラスターモニタリングの一部は設定可能です。API には、さまざまな config map で定義されるパラメーターを設定してアクセスできます。
-
ユーザー定義プロジェクトを監視するモニタリングコンポーネントを設定するには、
openshift-user-workload-monitoring
namespace でuser-workload-monitoring-config
という名前のConfigMap
オブジェクトを編集します。これらの設定は UserWorkloadConfiguration で定義されます。
設定ファイルは、常に config map データの config.yaml
キーで定義されます。
- モニタリングスタックのすべての設定パラメーターが公開されるわけではありません。このリファレンスにリストされているパラメーターとフィールドのみが設定でサポートされます。サポートされる設定の詳細は、メンテナンスおよび監視のサポート を参照してください。
- クラスターモニタリングの設定はオプションです。
- 設定が存在しないか、空の場合には、デフォルト値が使用されます。
-
設定に無効な YAML データが含まれる場合、初期検証をすり抜けた、未対応のフィールドや、重複したフィールドが含まれる場合、Cluster Monitoring Operator は、リソースの調整を停止し、Operator のステータス条件において
Degraded=True
ステータスを報告します。
7.2. AdditionalAlertmanagerConfig リンクのコピーリンクがクリップボードにコピーされました!
7.2.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
AdditionalAlertmanagerConfig
リソースは、コンポーネントが追加の Alertmanager インスタンスと通信する方法の設定を定義します。
7.2.2. 必須 リンクのコピーリンクがクリップボードにコピーされました!
-
apiVersion
出現場所: PrometheusK8sConfig、PrometheusRestrictedConfig、ThanosRulerConfig
プロパティー | タイプ | 説明 |
---|---|---|
apiVersion | string |
Alertmanager の API バージョンを定義します。 |
bearerToken | *v1.SecretKeySelector | Alertmanager への認証時に使用するベアラートークンを含むシークレットキー参照を定義します。 |
pathPrefix | string | プッシュエンドポイントパスの前に追加するパス接頭辞を定義します。 |
scheme | string |
Alertmanager インスタンスとの通信時に使用する URL スキームを定義します。使用できる値は |
staticConfigs | []string |
|
timeout | *文字列 | アラートの送信時に使用されるタイムアウト値を定義します。 |
tlsConfig | Alertmanager 接続に使用する TLS 設定を定義します。 |
7.3. AlertmanagerMainConfig リンクのコピーリンクがクリップボードにコピーされました!
7.3.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
AlertmanagerMainConfig
リソースは、openshift-monitoring
namespace で Alertmanager コンポーネントの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
enabled | *bool |
|
enableUserAlertmanagerConfig | bool |
|
logLevel | string |
Alertmanager のログレベル設定を定義します。使用できる値は、 |
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
resources | *v1.ResourceRequirements | Alertmanager コンテナーのリソース要求および制限を定義します。 |
secrets | []string |
Alertmanager にマウントされるシークレットの一覧を定義します。シークレットは、Alertmanager オブジェクトと同じ namespace 内になければなりません。これらは |
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
volumeClaimTemplate | *monv1.EmbeddedPersistentVolumeClaim | Alertmanager の永続ストレージを定義します。この設定を使用して、ストレージクラス、ボリュームサイズ、名前などの永続ボリューム要求を設定します。 |
7.4. AlertmanagerUserWorkloadConfig リンクのコピーリンクがクリップボードにコピーされました!
7.4.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
AlertmanagerUserWorkloadConfig
リソースは、ユーザー定義プロジェクトに使用される Alertmanager インスタンスの設定を定義します。
表示場所: UserWorkloadConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
enabled | bool |
|
enableAlertmanagerConfig | bool |
|
logLevel | string |
ユーザーワークロードモニタリング用の Alertmanager のログレベル設定を定義します。使用できる値は、 |
resources | *v1.ResourceRequirements | Alertmanager コンテナーのリソース要求および制限を定義します。 |
secrets | []string |
Alertmanager にマウントされるシークレットの一覧を定義します。シークレットは、Alertmanager オブジェクトと同じ namespace 内に配置する必要があります。これらは |
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
volumeClaimTemplate | *monv1.EmbeddedPersistentVolumeClaim | Alertmanager の永続ストレージを定義します。この設定を使用して、ストレージクラス、ボリュームサイズ、名前などの永続ボリューム要求を設定します。 |
7.5. ClusterMonitoringConfiguration リンクのコピーリンクがクリップボードにコピーされました!
7.5.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ClusterMonitoringConfiguration
リソースは、openshift-monitoring
namespace の cluster-monitoring-config
config map を使用してデフォルトのプラットフォームモニタリングスタックをカスタマイズする設定を定義します。
プロパティー | タイプ | 説明 |
---|---|---|
alertmanagerMain |
| |
enableUserWorkload | *bool |
|
userWorkload |
| |
kubeStateMetrics |
| |
metricsServer |
| |
prometheusK8s |
| |
prometheusOperator |
| |
prometheusOperatorAdmissionWebhook |
| |
openshiftStateMetrics |
| |
telemeterClient |
| |
thanosQuerier |
| |
nodeExporter |
| |
monitoringPlugin |
|
7.6. KubeStateMetricsConfig リンクのコピーリンクがクリップボードにコピーされました!
7.6.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
KubeStateMetricsConfig
リソースは、kube-state-metrics
エージェントの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
resources | *v1.ResourceRequirements |
|
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
7.7. MetricsServerConfig リンクのコピーリンクがクリップボードにコピーされました!
7.7.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
MetricsServerConfig
リソースは、Metrics Server コンポーネントの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
audit | *Audit |
Metrics Server インスタンスで使用される監査設定を定義します。使用できる値は |
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
toleration | []v1.Toleration | Pod の toleration を定義します。 |
resources | *v1.ResourceRequirements | Metrics Server コンテナーのリソース要求および制限を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
7.8. MonitoringPluginConfig リンクのコピーリンクがクリップボードにコピーされました!
7.8.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
MonitoringPluginConfig
リソースは、openshift-monitoring
namespace の Web コンソールプラグインコンポーネントの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | 型 | 説明 |
---|---|---|
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
resources | *v1.ResourceRequirements |
|
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
7.9. NodeExporterCollectorBuddyInfoConfig リンクのコピーリンクがクリップボードにコピーされました!
7.9.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorBuddyInfoConfig
リソースは、node-exporter
エージェントの buddyinfo
コレクターのオン/オフスイッチとして機能します。デフォルトでは、buddyinfo
コレクターは無効になっています。
表示場所: NodeExporterCollectorConfig
プロパティー | 型 | 説明 |
---|---|---|
enabled | bool |
|
7.10. NodeExporterCollectorConfig リンクのコピーリンクがクリップボードにコピーされました!
7.10.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorConfig
リソースは、node-exporter
エージェントの個別コレクターの設定を定義します。
表示場所: NodeExporterConfig
プロパティー | 型 | 説明 |
---|---|---|
cpufreq |
CPU 周波数の統計情報を収集する | |
tcpstat |
TCP 接続の統計情報を収集する | |
netdev |
ネットワークデバイスの統計情報を収集する | |
netclass |
ネットワークデバイスに関する情報を収集する | |
buddyinfo |
| |
mountstats |
NFS ボリューム I/O アクティビティーに関する統計を収集する | |
ksmd |
カーネルの同一ページ結合デーモンから統計を収集する | |
processes |
システム内で実行しているプロセスとスレッドから統計を収集する | |
systemd |
systemd デーモンとそのマネージドサービスに関する統計を収集する |
7.11. NodeExporterCollectorCpufreqConfig リンクのコピーリンクがクリップボードにコピーされました!
7.11.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorCpufreqConfig
リソースを使用して、node-exporter
エージェントの cpufreq
コレクターを有効または無効にします。デフォルトでは、cpufreq
コレクターは無効になっています。特定の状況下で cpufreq
コレクターを有効にすると、多数のコアを持つマシンの CPU 使用率が増加します。マシンに多数のコアがある場合にこのコレクターを有効にする際は、CPU の過剰使用がないかシステムを監視してください。
表示場所: NodeExporterCollectorConfig
プロパティー | 型 | 説明 |
---|---|---|
enabled | bool |
|
7.12. NodeExporterCollectorKSMDConfig リンクのコピーリンクがクリップボードにコピーされました!
7.12.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorKSMDConfig
リソースを使用して、node-exporter
エージェントの ksmd
コレクターを有効または無効にします。デフォルトでは、ksmd
コレクターは無効になっています。
表示場所: NodeExporterCollectorConfig
プロパティー | 型 | 説明 |
---|---|---|
enabled | bool |
|
7.13. NodeExporterCollectorMountStatsConfig リンクのコピーリンクがクリップボードにコピーされました!
7.13.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorMountStatsConfig
リソースを使用して、node-exporter
エージェントの mountstats
コレクターを有効または無効にします。デフォルトでは、mountstats
コレクターは無効になっています。コレクターを有効にすると、node_mountstats_nfs_read_bytes_total
、node_mountstats_nfs_write_bytes_total
、node_mountstats_nfs_operations_requests_total
のメトリクスが使用可能になります。これらのメトリクスはカーディナリティが高くなる可能性があることに注意してください。このコレクターを有効にした場合は、prometheus-k8s
Pod のメモリー使用量の増加を注意深く監視してください。
表示場所: NodeExporterCollectorConfig
プロパティー | タイプ | 説明 |
---|---|---|
enabled | bool |
|
7.14. NodeExporterCollectorNetClassConfig リンクのコピーリンクがクリップボードにコピーされました!
7.14.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorNetClassConfig
リソースを使用して、node-exporter
エージェントの netclass
コレクターを有効または無効にします。デフォルトでは、netclass
コレクターが有効になっています。無効にすると、次のメトリクスが利用できなくなります (node_network_info
、node_network_address_assign_type
、node_network_carrier
、node_network_carrier_changes_total
、node_network_carrier_up_changes_total
、node_network_carrier_down_changes_total
、node_network_device_id
、node_network_dormant
、node_network_flags
、node_network_iface_id
、node_network_iface_link
、node_network_iface_link_mode
、node_network_mtu_bytes
、node_network_name_assign_type
、node_network_net_dev_group
、node_network_speed_bytes
、node_network_transmit_queue_length
、および node_network_protocol_type
)。
表示場所: NodeExporterCollectorConfig
プロパティー | タイプ | 説明 |
---|---|---|
enabled | bool |
|
useNetlink | bool |
|
7.15. NodeExporterCollectorNetDevConfig リンクのコピーリンクがクリップボードにコピーされました!
7.15.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorNetDevConfig
リソースを使用して、node-exporter
エージェントの netdev
コレクターを有効または無効にします。デフォルトでは、netdev
コレクターが有効になっています。無効にすると、次のメトリクスが利用できなくなります (node_network_receive_bytes_total
、node_network_receive_compressed_total
、node_network_receive_drop_total
、node_network_receive_errs_total
、node_network_receive_fifo_total
、node_network_receive_frame_total
、node_network_receive_multicast_total
、node_network_receive_nohandler_total
、node_network_receive_packets_total
、node_network_transmit_bytes_total
、node_network_transmit_carrier_total
、node_network_transmit_colls_total
、node_network_transmit_compressed_total
、node_network_transmit_drop_total
、node_network_transmit_errs_total
、node_network_transmit_fifo_total
、および node_network_transmit_packets_total
)。
表示場所: NodeExporterCollectorConfig
プロパティー | タイプ | 説明 |
---|---|---|
enabled | bool |
|
7.16. NodeExporterCollectorProcessesConfig リンクのコピーリンクがクリップボードにコピーされました!
7.16.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorProcessesConfig
リソースを使用して、node-exporter
エージェントの processes
コレクターを有効または無効にします。コレクターが有効な場合は、次のメトリクスが使用可能になります (node_processes_max_processes
、node_processes_pids
、node_processes_state
、node_processes_threads
、node_processes_threads_state
)。メトリクス node_processes_state
と node_processes_threads_state
には、プロセスとスレッドの状態に応じて、それぞれ最大 5 つのシリーズを含めることができます。プロセスまたはスレッドの可能な状態は、D
(UNINTERRUPTABLE_SLEEP)、R
(RUNNING & RUNNABLE)、S
(INTERRUPTABLE_SLEEP)、T
(STOPPED)、または Z
(ZOMBIE) です。デフォルトでは、processes
コレクターは無効になっています。
表示場所: NodeExporterCollectorConfig
プロパティー | タイプ | 説明 |
---|---|---|
enabled | bool |
|
7.17. NodeExporterCollectorSystemdConfig リンクのコピーリンクがクリップボードにコピーされました!
7.17.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorSystemdConfig
リソースを使用して、node-exporter
エージェントの systemd
コレクターを有効または無効にします。デフォルトでは、systemd
コレクターは無効になっています。有効にすると、次のメトリクスが使用可能になります (node_systemd_system_running
、node_systemd_units
、node_systemd_version
)。ユニットがソケットを使用する場合、次のメトリクスも生成します (node_systemd_socket_accepted_connections_total
、node_systemd_socket_current_connections
、node_systemd_socket_refused_connections_total
)。units
パラメーターを使用して、systemd
コレクターに含める systemd
ユニットを選択できます。選択したユニットは、各 systemd
ユニットの状態を示す node_systemd_unit_state
メトリクスを生成するために使用されます。ただし、このメトリクスのカーディナリティーは高くなる可能性があります (ノードごとのユニットごとに少なくとも 5 シリーズ)。選択したユニットの長いリストを使用してこのコレクターを有効にする場合は、過剰なメモリー使用量がないか prometheus-k8s
デプロイメントを注意深く監視してください。node_systemd_timer_last_trigger_seconds
メトリクスは、units
パラメーターの値を logrotate.timer
として設定した場合にのみ表示されることに注意してください。
表示場所: NodeExporterCollectorConfig
プロパティー | タイプ | 説明 |
---|---|---|
enabled | bool |
|
units | []string |
|
7.18. NodeExporterCollectorTcpStatConfig リンクのコピーリンクがクリップボードにコピーされました!
7.18.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterCollectorTcpStatConfig
リソースは、node-exporter
エージェントの tcpstat
コレクターのオン/オフスイッチとして機能します。デフォルトでは、tcpstat
コレクターは無効になっています。
表示場所: NodeExporterCollectorConfig
プロパティー | タイプ | 説明 |
---|---|---|
enabled | bool |
|
7.19. NodeExporterConfig リンクのコピーリンクがクリップボードにコピーされました!
7.19.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
NodeExporterConfig
リソースは、node-exporter
エージェントの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
コレクター | 有効にするコレクターと、それらの追加の設定パラメーターを定義します。 | |
maxProcs | uint32 |
node-exporter のプロセスが実行する CPU のターゲット数。デフォルト値は |
ignoredNetworkDevices | *[]string |
|
resources | *v1.ResourceRequirements |
|
7.20. OpenShiftStateMetricsConfig リンクのコピーリンクがクリップボードにコピーされました!
7.20.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
OpenShiftStateMetricsConfig
リソースは、openshift-state-metrics
エージェントの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
resources | *v1.ResourceRequirements |
|
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
7.21. PrometheusK8sConfig リンクのコピーリンクがクリップボードにコピーされました!
7.21.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
PrometheusK8sConfig
リソースは、Prometheus コンポーネントの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
additionalAlertmanagerConfigs | Prometheus コンポーネントからアラートを受信する追加の Alertmanager インスタンスを設定します。デフォルトでは、追加の Alertmanager インスタンスは設定されません。 | |
enforcedBodySizeLimit | string |
Prometheus がスクレイピングしたメトリクスにボディーサイズの制限を適用します。収集された対象のボディーの応答が制限値よりも大きい場合には、スクレイピングは失敗します。制限なしを指定する空の値、Prometheus サイズ形式の数値 ( |
externalLabels | map[string]string | フェデレーション、リモートストレージ、Alertmanager などの外部システムと通信する際に、任意の時系列またはアラートに追加されるラベルを定義します。デフォルトでは、ラベルは追加されません。 |
logLevel | string |
Prometheus のログレベル設定を定義します。使用できる値は、 |
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
queryLogFile | string |
PromQL クエリーがログに記録されるファイルを指定します。この設定は、ファイル名 (クエリーが |
remoteWrite | URL、認証、再ラベル付け設定など、リモート書き込み設定を定義します。 | |
resources | *v1.ResourceRequirements |
|
retention | string |
Prometheus がデータを保持する期間を定義します。この定義は、次の正規表現パターンを使用して指定する必要があります ( |
retentionSize | string |
データブロックと先行書き込みログ (WAL) によって使用されるディスク領域の最大量を定義します。サポートされる値は、 |
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
collectionProfile | CollectionProfile |
Prometheus がプラットフォームコンポーネントからメトリクスを収集するために使用するメトリクスコレクションプロファイルを定義します。使用可能な値は、 |
volumeClaimTemplate | *monv1.EmbeddedPersistentVolumeClaim | Prometheus の永続ストレージを定義します。この設定を使用して、ストレージクラス、ボリュームサイズ、名前などの永続ボリューム要求を設定します。 |
7.22. PrometheusOperatorConfig リンクのコピーリンクがクリップボードにコピーされました!
7.22.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
PrometheusOperatorConfig
リソースは、Prometheus Operator コンポーネントの設定を定義します。
表示場所: ClusterMonitoringConfiguration、UserWorkloadConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
logLevel | string |
Prometheus Operator のログレベル設定を定義します。使用できる値は、 |
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
resources | *v1.ResourceRequirements |
|
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
7.23. PrometheusOperatorAdmissionWebhookConfig リンクのコピーリンクがクリップボードにコピーされました!
7.23.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
PrometheusOperatorAdmissionWebhookConfig
リソースは、Prometheus Operator のアドミッション Webhook ワークロードの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
resources | *v1.ResourceRequirements |
|
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
7.24. PrometheusRestrictedConfig リンクのコピーリンクがクリップボードにコピーされました!
7.24.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
PrometheusRestrictedConfig
リソースは、ユーザー定義プロジェクトをモニターする Prometheus コンポーネントの設定を定義します。
表示場所: UserWorkloadConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
scrapeInterval | string |
|
evaluationInterval | string |
|
additionalAlertmanagerConfigs | Prometheus コンポーネントからアラートを受信する追加の Alertmanager インスタンスを設定します。デフォルトでは、追加の Alertmanager インスタンスは設定されません。 | |
enforcedLabelLimit | *uint64 |
サンプルで受け入れられるラベルの数に、収集ごとの制限を指定します。メトリクスの再ラベル後にラベルの数がこの制限を超えると、スクレイプ全体が失敗として扱われます。デフォルト値は |
enforcedLabelNameLengthLimit | *uint64 |
サンプルのラベル名の長さにスクレイプごとの制限を指定します。ラベル名の長さがメトリクスの再ラベル付け後にこの制限を超える場合には、スクレイプ全体が失敗として扱われます。デフォルト値は |
enforcedLabelValueLengthLimit | *uint64 |
サンプルのラベル値の長さにスクレイプごとの制限を指定します。ラベル値の長さがメトリクスの再ラベル付け後にこの制限を超える場合、スクレイプ全体が失敗として扱われます。デフォルト値は |
enforcedSampleLimit | *uint64 |
受け入れられるスクレイプされたサンプル数のグローバル制限を指定します。この設定は、値が |
enforcedTargetLimit | *uint64 |
収集された対象数に対してグローバル制限を指定します。この設定は、値が |
externalLabels | map[string]string | フェデレーション、リモートストレージ、Alertmanager などの外部システムと通信する際に、任意の時系列またはアラートに追加されるラベルを定義します。デフォルトでは、ラベルは追加されません。 |
logLevel | string |
Prometheus のログレベル設定を定義します。使用できる値は、 |
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
queryLogFile | string |
PromQL クエリーがログに記録されるファイルを指定します。この設定は、ファイル名 (クエリーが |
remoteWrite | URL、認証、再ラベル付け設定など、リモート書き込み設定を定義します。 | |
resources | *v1.ResourceRequirements | Prometheus コンテナーのリソース要求および制限を定義します。 |
retention | string |
Prometheus がデータを保持する期間を定義します。この定義は、次の正規表現パターンを使用して指定する必要があります ( |
retentionSize | string |
データブロックと先行書き込みログ (WAL) によって使用されるディスク領域の最大量を定義します。サポートされる値は、 |
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
volumeClaimTemplate | *monv1.EmbeddedPersistentVolumeClaim | Prometheus の永続ストレージを定義します。この設定を使用して、ボリュームのストレージクラスおよびサイズを設定します。 |
7.25. RemoteWriteSpec リンクのコピーリンクがクリップボードにコピーされました!
7.25.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
RemoteWriteSpec
リソースは、リモート書き込みストレージの設定を定義します。
7.25.2. 必須 リンクのコピーリンクがクリップボードにコピーされました!
-
url
出現場所: PrometheusK8sConfig、PrometheusRestrictedConfig
プロパティー | タイプ | 説明 |
---|---|---|
認可 | *monv1.SafeAuthorization | リモート書き込みストレージの認証設定を定義します。 |
basicAuth | *monv1.BasicAuth | リモート書き込みエンドポイント URL の Basic 認証設定を定義します。 |
bearerTokenFile | string | リモート書き込みエンドポイントのベアラートークンが含まれるファイルを定義します。ただし、シークレットを Pod にマウントできないため、実際にはサービスアカウントのトークンのみを参照できます。 |
headers | map[string]string | 各リモート書き込み要求とともに送信されるカスタム HTTP ヘッダーを指定します。Prometheus によって設定されるヘッダーは上書きできません。 |
metadataConfig | *monv1.MetadataConfig | シリーズのメタデータをリモート書き込みストレージに送信するための設定を定義します。 |
name | string | リモート書き込みキューの名前を定義します。この名前は、メトリクスとロギングでキューを区別するために使用されます。指定する場合、この名前は一意である必要があります。 |
oauth2 | *monv1.OAuth2 | リモート書き込みエンドポイントの OAuth2 認証設定を定義します。 |
proxyUrl | string | オプションのプロキシー URL を定義します。クラスター全体のプロキシーが有効になっている場合は、proxyUrl 設定が置き換えられます。クラスター全体のプロキシーは HTTP プロキシーと HTTPS プロキシーの両方をサポートし、HTTPS が優先されます。 |
queueConfig | *monv1.QueueConfig | リモート書き込みキューパラメーターの調整を許可します。 |
remoteTimeout | string | リモート書き込みエンドポイントへの要求のタイムアウト値を定義します。 |
sendExemplars | *bool | リモート書き込みによるエグザンプラーの送信を有効にします。この設定を有効にすると、最大 100,000 個のエグザンプラーをメモリーに保存するように Prometheus が設定されます。この設定はユーザー定義のモニタリングにのみ適用され、コアプラットフォームのモニタリンには適用されません。 |
sigv4 | *monv1.Sigv4 | AWS 署名バージョン 4 の認証設定を定義します。 |
tlsConfig | *monv1.SafeTLSConfig | リモート書き込みエンドポイントの TLS 認証設定を定義します。 |
url | string | サンプルの送信先となるリモート書き込みエンドポイントの URL を定義します。 |
writeRelabelConfigs | []monv1.RelabelConfig | リモート書き込みの再ラベル設定のリストを定義します。 |
7.26. TLSConfig リンクのコピーリンクがクリップボードにコピーされました!
7.26.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
TLSConfig
リソースは、TLS 接続の設定を設定します。
7.26.2. 必須 リンクのコピーリンクがクリップボードにコピーされました!
-
insecureSkipVerify
表示場所: AdditionalAlertmanagerConfig
プロパティー | タイプ | 説明 |
---|---|---|
ca | *v1.SecretKeySelector | リモートホストに使用する認証局 (CA) を含む秘密鍵の参照を定義します。 |
cert | *v1.SecretKeySelector | リモートホストに使用する公開証明書を含む秘密鍵の参照を定義します。 |
key | *v1.SecretKeySelector | リモートホストに使用する秘密鍵を含む秘密鍵の参照を定義します。 |
serverName | string | 返された証明書のホスト名を確認するために使用されます。 |
insecureSkipVerify | bool |
|
7.27. TelemeterClientConfig リンクのコピーリンクがクリップボードにコピーされました!
7.27.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
TelemeterClientConfig
は、Telemeter Client コンポーネントの設定を定義します。
7.27.2. 必須 リンクのコピーリンクがクリップボードにコピーされました!
-
nodeSelector
-
toleration
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
resources | *v1.ResourceRequirements |
|
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
7.28. ThanosQuerierConfig リンクのコピーリンクがクリップボードにコピーされました!
7.28.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ThanosQuerierConfig
リソースは、Thanos Querier コンポーネントの設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
enableRequestLogging | bool |
要求ロギングを有効または無効にするブール値フラグ。デフォルト値は |
logLevel | string |
Thanos Querier のログレベル設定を定義します。使用できる値は、 |
enableCORS | bool |
CORS ヘッダーの設定を可能にするブール型フラグ。ヘッダーにより、あらゆる発信元からのアクセスが許可されます。デフォルト値は |
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
resources | *v1.ResourceRequirements | Thanos Querier コンテナーのリソース要求および制限を定義します。 |
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
7.29. ThanosRulerConfig リンクのコピーリンクがクリップボードにコピーされました!
7.29.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
ThanosRulerConfig
リソースは、ユーザー定義プロジェクトの Thanos Ruler インスタンスの設定を定義します。
表示場所: UserWorkloadConfiguration
プロパティー | 型 | 説明 |
---|---|---|
additionalAlertmanagerConfigs |
Thanos Ruler コンポーネントが追加の Alertmanager インスタンスと通信する方法を設定します。Cluster Monitoring Operator は、クラスター全体のプロキシー設定を読み取り、Alertmanager エンドポイントに適切なプロキシー URL を設定します。このグループ内のすべての Alertmanager エンドポイントは、同じプロキシー URL を使用することが想定されています。クラスタープロキシーをバイパスするエンドポイントは、別のグループに配置する必要があります。デフォルト値は | |
evaluationInterval | string |
|
logLevel | string |
Thanos Ruler のログレベル設定を定義します。使用できる値は、 |
nodeSelector | map[string]string | Pod がスケジュールされるノードを定義します。 |
resources | *v1.ResourceRequirements | Alertmanager コンテナーのリソース要求および制限を定義します。 |
retention | string |
Prometheus がデータを保持する期間を定義します。この定義は、次の正規表現パターンを使用して指定する必要があります ( |
toleration | []v1.Toleration | Pod の toleration を定義します。 |
topologySpreadConstraints | []v1.TopologySpreadConstraint | Pod のトポロジー分散制約を定義します。 |
volumeClaimTemplate | *monv1.EmbeddedPersistentVolumeClaim | Thanos Ruler の永続ストレージを定義します。この設定を使用して、ボリュームのストレージクラスおよびサイズを設定します。 |
7.30. UserWorkloadConfig リンクのコピーリンクがクリップボードにコピーされました!
7.30.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
UserWorkloadConfig
リソースは、ユーザー定義プロジェクトの監視の設定を定義します。
表示場所: ClusterMonitoringConfiguration
プロパティー | タイプ | 説明 |
---|---|---|
rulesWithoutLabelEnforcementAllowed | *bool |
|
7.31. UserWorkloadConfiguration リンクのコピーリンクがクリップボードにコピーされました!
7.31.1. 説明 リンクのコピーリンクがクリップボードにコピーされました!
UserWorkloadConfiguration
リソースは、openshift-user-workload-monitoring
namespace の user-workload-monitoring-config
config map でユーザー定義プロジェクトに対応する設定を定義します。UserWorkloadConfiguration
は、openshift-monitoring
namespace の下にある cluster-monitoring-config
config map で enableUserWorkload
を true
に設定した後にのみ有効にできます。
プロパティー | タイプ | 説明 |
---|---|---|
alertmanager | ユーザーワークロードモニタリングで Alertmanager コンポーネントの設定を定義します。 | |
prometheus | ユーザーワークロードモニタリングで Prometheus コンポーネントの設定を定義します。 | |
prometheusOperator | ユーザーワークロードモニタリングでの Prometheus Operator コンポーネントの設定を定義します。 | |
thanosRuler | ユーザーワークロードモニタリングで Thanos Ruler コンポーネントの設定を定義します。 | |
namespacesWithoutLabelEnforcement | []string |
ユーザー定義のモニタリングでは、Prometheus および Thanos Ruler に対し、
結果のアラートとメトリクスをプロジェクトユーザーに表示されるようにするには、クエリー式で、値が空でない |
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.