Observability
Observability により、クラスターの健全性と使用率、およびクラスター群全体のワークロードを把握する方法を説明します。
概要
第1章 可観測性サービス リンクのコピーリンクがクリップボードにコピーされました!
可観測性により、追加のテストやサポートなしでパフォーマンスの問題を特定して評価できます。Red Hat Advanced Cluster Management for Kubernetes の可観測性コンポーネントは、クラスターの健全性と使用率、およびクラスター全体のワークロードを把握するために使用できるサービスです。可観測性サービスを使用することで、可観測性の範囲内のコンポーネントを自動化および管理できるようになります。
可観測性サービスでは、オープンソースコミュニティーの既存の広く採用されている可観測性ツールを使用します。デフォルトでは、マルチクラスター可観測性 Operator は Red Hat Advanced Cluster Management のインストール中に有効になります。Thanos は、長期的にメトリクスを格納するためにハブクラスター内にデプロイされます。observability-endpoint-operator は、インポートまたは作成された各マネージドクラスターに自動的にデプロイされます。このコントローラーは、Red Hat OpenShift Container Platform Prometheus からデータを収集するメトリクスコレクターを起動し、そのデータを Red Hat Advanced Cluster Management ハブクラスターに送信します。
可観測性コンポーネントの詳細は、次のドキュメントを参照してください。
1.1. 可観測性アーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
multiclusterhub-operator は、デフォルトで multicluster-observability-operator Pod を有効にします。multicluster-observability-operator Pod を設定する必要があります。
1.1.1. 可観測性オープンソースコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
可観測性サービスは、コミュニティーからのオープンソースの可観測性ツールを使用します。製品の可観測性サービス以外のツールについて、次の説明を参照してください。
- Thanos: 複数の Prometheus インスタンスにわたってグローバルクエリーを実行するために使用できるコンポーネントのツールキット。Prometheus データを長期保存するには、S3 互換のストレージに保存します。可用性が高くスケーラブルなメトリクスシステムを設定することもできます。
- Prometheus: アプリケーションからメトリクスを収集し、それらのメトリクスを時系列データとして保存するために使用できる監視およびアラートツール。スクレイピングされたすべてのサンプルをローカルに保存し、ルールを実行して既存のデータから新しい時系列を集計および記録し、アラートを生成します。
- Alertmanager: Prometheus からのアラートを管理および受信するためのツール。アラートを重複排除、グループ化し、メール、Slack、PagerDuty などのインテグレーションにルーティングします。特定のアラートの通知をオフ、および抑制するように Alertmanager を設定します。
1.1.2. 可観測性アーキテクチャーの図 リンクのコピーリンクがクリップボードにコピーされました!
次の図は、可観測性の設定要素を示しています。
可観測性アーキテクチャーのコンポーネントには次の項目が含まれます。
-
マルチクラスターハブオペレーター (
multiclusterhub-operatorPod とも呼ばれます) は、multicluster-observability-operatorPod をデプロイします。これは、ManifestWorksリソースの生成を通じて、ハブクラスター上のメトリクスストアやマネージドクラスター上のコレクターなどの Red Hat Advanced Cluster Management Observability サービスのリソースをデプロイするルートコンポーネントです。 - 可観測性アドオンコントローラー は、マネージドクラスターのログを自動的に更新する API サーバーです。
Thanos インフラストラクチャーには、
multicluster-observability-operatorPod によってデプロイされる Thanos Compactor が含まれます。Thanos Compactor は、保持設定とストレージ内のデータの圧縮を使用して、クエリーが適切に実行されることを保証します。Thanos Compactor でいつ問題が発生しているかを特定するには、その正常性を監視する 4 つのデフォルトのアラートを使用します。次のデフォルトアラートの表を確認してください。
Expand 表1.1 デフォルトの Thanos アラートの表 アラート Severity 説明 ACMThanosCompactHaltedcritical
コンパクターが停止するとアラートが送信されます。
ACMThanosCompactHighCompactionFailureswarning
圧縮失敗率が 5% を超えると、アラートが送信されます。
ACMThanosCompactBucketHighOperationFailureswarning
バケット操作の失敗率が 5% を超えると、アラートが送信されます。
ACMThanosCompactHasNotRunwarning
コンパクターが過去 24 時間以内に何もアップロードしなかった場合、アラートが送信されます。
- 可観測性コンポーネントは、Grafana のインスタンスをデプロイして、ダッシュボード (静的) またはデータ探索によるデータの視覚化を可能にします。Red Hat Advanced Cluster Management は、Grafana のバージョン 11.1.5 をサポートします。Grafana ダッシュボードを設計することもできます。詳細は、Grafana ダッシュボードの設計 を参照してください。
- Prometheus Alertmanager を使用すると、サードパーティーアプリケーションでアラートを転送できます。カスタムのレコーディングルールまたはアラートルールを作成して、可観測性サービスをカスタマイズできます。Red Hat Advanced Cluster Management は、Prometheus Alertmanager のバージョン 0.25 をサポートします。
1.1.3. 可観測性サービスで使用される永続ストア リンクのコピーリンクがクリップボードにコピーされました!
重要: 永続ストレージにローカルボリュームを使用するローカルストレージ Operator またはストレージクラスを使用しないでください。再起動後に Pod が別のノードで再起動されると、データが失われる可能性があります。これが発生すると、Pod はノード上のローカルストレージにアクセスできなくなります。データの損失を回避するために、receive Pod および receive Pod の永続ボリュームにアクセスできることを確認してください。
Red Hat Advanced Cluster Management をインストールするときは、次の永続ボリューム (PV) を作成して、Persistent Volume Claims (PVC) を自動的にアタッチできるようにする必要があります。デフォルトのストレージクラスが指定されていない場合、またはデフォルト以外のストレージクラスを使用して PV をホストする場合は、MultiClusterObservability カスタムリソースでストレージクラスを定義する必要があります。Prometheus が使用するものと同様の、ブロックストレージを使用することを推奨します。また、alertmanager、thanos-compactor、thanos-ruler、thanos-receive-default、および thanos-store-shard の各レプリカには、独自の PV が必要です。次の表を参照します。
| コンポーネント名 | 目的 |
| alertmanager |
alertmanager は |
| observability-thanos-compactor | コンパクターは、処理の中間データとバケット状態キャッシュの保存にローカルのディスク領域が必要です。必要な領域は、下層にあるブロックサイズにより異なります。コンパクターには、すべてのソースブロックをダウンロードして、ディスクで圧縮ブロックを構築するのに十分な領域が必要です。ディスク上のデータは、次回の再起動までに安全に削除でき、最初の試行でクラッシュループコンパクターの停止が解決されるはずです。ただし、次の再起動までにバケットの状態キャッシュを効果的に使用するには、コンパクターの永続ディスクを用意することが推奨されます。 |
| observability-thanos-rule |
thanos ruler は、固定の間隔でクエリーを発行して、選択したクエリー API に対して Prometheus 記録およびアラートルールを評価します。ルールの結果は、Prometheus 2.0 ストレージ形式でディスクに書き込まれます。このステートフルセットで保持されるデータの期間 (時間または日) は、API バージョンの |
| observability-thanos-receive-default |
Thanos receiver は、受信データ (Prometheus リモート書き込みリクエスト) を受け入れて Prometheus TSDB のローカルインスタンスに書き込みます。TSDB ブロックは定期的 (2 時間) に、長期的に保存および圧縮するためにオブジェクトストレージにアップロードされます。ローカルキャッシュを実行するこのステートフルセットで保持される期間 (時間または日) は、API バージョン |
| observability-thanos-store-shard | これは、主に API ゲートウェイとして機能するため、大量のローカルディスク容量は必要ありません。これは、起動時に Thanos クラスターに参加して、アクセスできるデータを広告します。ローカルディスク上のすべてのリモートブロックに関する情報のサイズを小さく保ち、バケットと同期させます。このデータは通常、起動時間が長くなると、再起動時に安全に削除できます。 |
注記: 時系列の履歴データはオブジェクトストアに保存されます。Thanos は、オブジェクトストレージをメトリクスおよび関連するメタデータのプライマリーストレージとして使用します。オブジェクトストレージおよび downsampling 機能の詳細は、可観測性サービスの有効化 を参照してください。
1.1.4. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
可観測性とインテグレーションコンポーネントの詳細は、次のトピックを参照してください。
- 可観測性サービス を参照してください。
- 可観測性の設定 を参照してください。
- 可観測性サービスの有効化 を参照してください。
- Thanos のドキュメント を参照してください。
- Prometheus の概要 を参照してください。
- Alertmanager のドキュメント を参照してください。
1.2. 可観測性の設定 リンクのコピーリンクがクリップボードにコピーされました!
可観測性サービスが有効になっている場合、ハブクラスターは、ハブの自己管理が有効になっているかどうかに関係なく、設定された Thanos インスタンスにメトリクスを収集して送信するように常に設定されます。ハブクラスターがセルフマネージドの場合、disableHubSelfManagement パラメーターはデフォルトの設定である false に設定されます。multiclusterhub-operator は、デフォルトで multicluster-observability-operator Pod を有効にします。multicluster-observability-operator Pod を設定する必要があります。
ハブクラスターのメトリクスとアラートは、local-cluster namespace に表示されます。local-cluster は、ハブの自己管理が有効になっている場合にのみ使用できます。Grafana エクスプローラーで local-cluster メトリクスをクエリーできます。可観測性コンポーネントで収集できるメトリクスと、可観測性 Pod の容量に関する情報を理解するには、次のセクションも確認してください。
1.2.1. メトリクスのタイプ リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、OpenShift Container Platform は Telemetry サービスを使用してメトリクスを Red Hat に送信します。acm_managed_cluster_info は、Red Hat Advanced Cluster Management で利用でき、Telemetry に含まれていますが、Red Hat Advanced Cluster Management Observe 環境の概要 ダッシュボードには表示され ません。
フレームワークでサポートされているメトリクスタイプは、次の表を参照してください。
| メトリクス名 | メトリクスのタイプ | ラベル/タグ | ステータス |
|---|---|---|---|
|
| ゲージ |
| Stable |
|
| ヒストグラム | なし | Stable。詳細は、ガバナンスメトリクス を参照してください。 |
|
| ヒストグラム | なし | Stable。詳細は、ガバナンスメトリクス を参照してください。 |
|
| ヒストグラム | なし | Stable。詳細は、ガバナンスメトリクス を参照してください。 |
|
| ゲージ |
| Stable。詳細は、ガバナンスメトリクス を参照してください。 |
|
| ゲージ |
| Stable。詳細は、insight _PolicyReports_ の管理 を参照してください。 |
|
| カウンター | なし | Stable。コンソールでの検索 ドキュメントの 検索コンポーネント のセクションを参照してください。 |
|
| ヒストグラム | なし | Stable。コンソールでの検索 ドキュメントの 検索コンポーネント のセクションを参照してください。 |
|
| ヒストグラム | なし | Stable。コンソールでの検索 ドキュメントの 検索コンポーネント のセクションを参照してください。 |
|
| カウンター | なし | Stable。コンソールでの検索 ドキュメントの 検索コンポーネント のセクションを参照してください。 |
|
| ヒストグラム | なし | Stable。コンソールでの検索 ドキュメントの 検索コンポーネント のセクションを参照してください。 |
|
| ゲージ | なし | Stable。コンソールでの検索 ドキュメントの 検索コンポーネント のセクションを参照してください。 |
|
| ヒストグラム | なし | Stable。コンソールでの検索 ドキュメントの 検索コンポーネント のセクションを参照してください。 |
1.2.2. デフォルトのメトリクス リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのメトリクスを表示するには、次のコマンドを実行して observability-metrics-allowlist を確認します。
oc -n open-cluster-management-observability get cm observability-metrics-allowlist -o yaml
oc -n open-cluster-management-observability get cm observability-metrics-allowlist -o yaml
注記: 許可リスト内のデフォルトのメトリクスを変更することはできません。
1.2.3. 可観測性 Pod の容量要求 リンクのコピーリンクがクリップボードにコピーされました!
可観測性サービスをインストールするには、可観測性コンポーネントで 2701mCPU および 11972Mi のメモリーが必要です。以下の表は、observability-addons が有効なマネージドクラスター 5 台の Pod 容量要求のリストです。
| デプロイメントまたは StatefulSet | コンテナー名 | CPU (mCPU) | メモリー (Mi) | レプリカ | Pod の合計 CPU | Pod の合計メモリー |
|---|---|---|---|---|---|---|
| observability-alertmanager | alertmanager | 4 | 200 | 3 | 12 | 600 |
| config-reloader | 4 | 25 | 3 | 12 | 75 | |
| alertmanager-proxy | 1 | 20 | 3 | 3 | 60 | |
| observability-grafana | grafana | 4 | 100 | 2 | 8 | 200 |
| grafana-dashboard-loader | 4 | 50 | 2 | 8 | 100 | |
| observability-observatorium-api | observatorium-api | 20 | 128 | 2 | 40 | 256 |
| observability-observatorium-operator | observatorium-operator | 100 | 100 | 1 | 10 | 50 |
| observability-rbac-query-proxy | rbac-query-proxy | 20 | 100 | 2 | 40 | 200 |
| oauth-proxy | 1 | 20 | 2 | 2 | 40 | |
| observability-thanos-compact | thanos-compact | 500 | 1024 | 1 | 100 | 512 |
| observability-thanos-query | thanos-query | 300 | 1024 | 2 | 600 | 2048 |
| observability-thanos-query-frontend | thanos-query-frontend | 100 | 256 | 2 | 200 | 512 |
| observability-thanos-query-frontend-memcached | memcached | 45 | 128 | 3 | 135 | 384 |
| exporter | 5 | 50 | 3 | 15 | 150 | |
| observability-thanos-receive-controller | thanos-receive-controller | 4 | 32 | 1 | 4 | 32 |
| observability-thanos-receive-default | thanos-receive | 300 | 512 | 3 | 900 | 1536 |
| observability-thanos-rule | thanos-rule | 50 | 512 | 3 | 150 | 1536 |
| configmap-reloader | 4 | 25 | 3 | 12 | 75 | |
| observability-thanos-store-memcached | memcached | 45 | 128 | 3 | 135 | 384 |
| exporter | 5 | 50 | 3 | 15 | 150 | |
| observability-thanos-store-shard | thanos-store | 100 | 1024 | 3 | 300 | 3072 |
1.2.4. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- 可観測性有効化の詳細は、可観測性サービスの有効化 を参照してください。
- 可観測性サービスをカスタマイズし、メトリクスやその他のデータを表示する方法は、可観測性のカスタマイズ を参照してください。
- Grafana ダッシュボードの使用 を参照してください。
- OpenShift Container Platform ドキュメントで、Telemetry を使用して収集されて送信されるメトリクスのタイプを確認します。詳細は、Telemetry で収集される情報 を参照してください。
- 詳細は、ガバナンスメトリクス を参照してください。
- Prometheus 記録ルール を参照してください。
- Prometheus アラートルール も参照してください。
1.3. 可観測性サービスの有効化 リンクのコピーリンクがクリップボードにコピーされました!
ハブクラスターで可観測性サービスを有効にすると、multicluster-observability-operator が新しいマネージドクラスターを監視し、メトリクスおよびアラート収集サービスをマネージドクラスターに自動的にデプロイします。メトリクスを使用して Grafana ダッシュボードを設定すると、クラスターのリソース情報を可視化し、コストを節約し、サービスの中断を防ぐことができます。
multicluster-observability-operator Pod とも呼ばれる可観測性コンポーネントを使用して、マネージドクラスターのステータスを監視します。
必要なアクセス権: クラスター管理者、open-cluster-management:cluster-manager-admin ロール、または S3 管理者。
1.3.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat Advanced Cluster Management for Kubernetes がインストールされている。詳細は、ネットワーク接続時のオンラインインストール を参照してください。
-
プラットフォームのデフォルト
storageClassを使用したくない場合は、MultiClusterObservabilityカスタムリソースのstorageConfig.storageClassフィールドを指定する必要があります。 - ハブクラスターへの直接的なネットワークアクセスが必要です。ロードバランサーおよびプロキシーへのネットワークアクセスはサポートされていません。詳細は、Networking を参照してください。
ストレージソリューションを作成するようにオブジェクトストアが設定されている。
- 重要: オブジェクトストアを設定する場合は、機密データを永続化する時に必要な暗号化要件を満たすようにしてください。可観測性サービスは、Thanos がサポートする安定したオブジェクトストアを使用します。複数の Red Hat Advanced Cluster Management 可観測性インストールでオブジェクトストアバケットを共有できない場合があります。したがって、インストールごとに個別のオブジェクトストアバケットを提供します。
Red Hat Advanced Cluster Management は、安定したオブジェクトストアで以下のクラウドプロバイダーをサポートします。
- Amazon Web Services S3 (AWS S3)
- Red Hat Ceph (S3 互換 API)
- Google Cloud Storage
- Azure ストレージ
- Red Hat OpenShift Data Foundation (旧称: Red Hat OpenShift Container Storage)
- Red Hat OpenShift on IBM Cloud
1.3.2. コマンドラインインターフェイスからの可観測性の有効化 リンクのコピーリンクがクリップボードにコピーされました!
MultiClusterObservability カスタムリソースを作成して可観測性サービスを有効にします。可観測性を有効にする前に、可観測性 Pod の容量要求 を参照してください。
注記:
-
Red Hat Advanced Cluster Management が管理する OpenShift Container Platform マネージドクラスターで可観測性を有効または無効にすると、可観測性エンドポイント Operator は、ローカル Prometheus を自動的に再起動する
alertmanager設定を追加してcluster-monitoring-configconfig map を更新します。 -
可観測性エンドポイント Operator は、ローカル Prometheus を自動的に再起動する
alertmanager設定を別途追加して、cluster-monitoring-configconfig map を更新します。OpenShift Container Platform マネージドクラスターにalertmanager設定を挿入すると、Prometheus メトリクスの保持フィールドに関連する設定が削除されます。
可観測性サービスを有効にするには、以下の手順を実行します。
- Red Hat Advanced Cluster Management ハブクラスターにログインします。
以下のコマンドを使用して可観測性サービスの namespace を作成します。
oc create namespace open-cluster-management-observability
oc create namespace open-cluster-management-observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow プルシークレットを生成します。Red Hat Advanced Cluster Management が
open-cluster-managementnamespace にインストールされている場合は、以下のコマンドを実行します。DOCKER_CONFIG_JSON=`oc extract secret/multiclusterhub-operator-pull-secret -n open-cluster-management --to=-`
DOCKER_CONFIG_JSON=`oc extract secret/multiclusterhub-operator-pull-secret -n open-cluster-management --to=-`Copy to Clipboard Copied! Toggle word wrap Toggle overflow multiclusterhub-operator-pull-secretが namespace で定義されていない場合は、次のコマンドを実行して、pull-secretをopenshift-confignamespace からopen-cluster-management-observabilitynamespace にコピーします。DOCKER_CONFIG_JSON=`oc extract secret/pull-secret -n openshift-config --to=-`
DOCKER_CONFIG_JSON=`oc extract secret/pull-secret -n openshift-config --to=-`Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
open-cluster-management-observabilitynamespace にプルシークレットを作成します。oc create secret generic multiclusterhub-operator-pull-secret \ -n open-cluster-management-observability \ --from-literal=.dockerconfigjson="$DOCKER_CONFIG_JSON" \ --type=kubernetes.io/dockerconfigjsonoc create secret generic multiclusterhub-operator-pull-secret \ -n open-cluster-management-observability \ --from-literal=.dockerconfigjson="$DOCKER_CONFIG_JSON" \ --type=kubernetes.io/dockerconfigjsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow
重要: OpenShift Container Platform ドキュメントを使用してクラスターのグローバルプルシークレットを変更する場合は、必ず可観測性 namespace のグローバルプルシークレットも更新してください。詳細は、グローバルプルシークレットの更新 を参照してください。
お使いのクラウドプロバイダーのオブジェクトストレージのシークレットを作成します。シークレットには、ストレージソリューションへの認証情報を追加する必要があります。たとえば、以下のコマンドを実行します。
oc create -f thanos-object-storage.yaml -n open-cluster-management-observability
oc create -f thanos-object-storage.yaml -n open-cluster-management-observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow サポートされるオブジェクトストアのシークレットの例を以下に示します。
Amazon S3 または S3 と互換性のある場合、シークレットは以下のファイルのようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- プロトコルなしで URL を入力します。
s3.us-east-1.amazonaws.comの URL のような Amazon S3 エンドポイントの URL を入力します。
詳細は、Amazon Simple Storage Service ユーザーガイド を参照してください。
Google Cloud Platform の場合は、以下のファイルのようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、Google Cloud Storage とは を参照してください。
Azure の場合は、以下のファイルのようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
msi_resourceパスを使用する場合、エンドポイント認証はシステム割り当てのマネージド ID を使用して完了します。値はエンドポイントhttps://<storage-account-name>.blob.core.windows.netのようにする必要があります。
user_assigned_idパスを使用する場合は、ユーザー割り当てマネージド ID を使用してエンドポイント認証が完了します。user_assigned_idを使用する場合、msi_resourceエンドポイントのデフォルト値はhttps:<storage_account>.<endpoint>です。詳細は、Azure Storage のドキュメント を参照してください。注記: Azure を Red Hat OpenShift Container Platform クラスターのオブジェクトストレージとして使用する場合には、クラスターに関連付けられたストレージアカウントはサポートされません。新規ストレージアカウントを作成する必要があります。
Red Hat OpenShift Data Foundation では、シークレットは以下のファイルのようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- プロトコルなしで URL を入力します。次の URL のような Red Hat OpenShift Data Foundation エンドポイントの URL を入力します:
example.redhat.com:443。
詳細は、Red Hat OpenShift Data Foundation を参照してください。
- Red Hat OpenShift on IBM (ROKS) では、シークレットは以下のファイルのようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- プロトコルなしで URL を入力します。次の URL のような Red Hat OpenShift Data Foundation エンドポイントの URL を入力します:
example.redhat.com:443。詳細は、IBM Cloud のドキュメント Cloud Object Storage を参照してください。サービスの認証情報を使用してオブジェクトストレージに接続するようにしてください。詳細は、IBM Cloud のドキュメント、Cloud Object Store および Service Credentials を参照してください。
1.3.2.1. AWS Security Token Service のストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
Amazon S3 または S3 と互換性のあるストレージの場合、AWS Security Token Service (AWS STS) で生成された短期間の限定特権認証情報を使用することもできます。詳細は、AWS Security Token Service ドキュメント を参照してください。
AWS Security Service を使用してアクセスキーを生成するには、次の追加の手順が必要です。
- S3 バケットへのアクセスを制限する IAM ポリシーを作成します。
- OpenShift Container Platform サービスアカウントの JWT トークンを生成するための信頼ポリシーを持つ IAM ロールを作成します。
- S3 バケットへのアクセスが必要な可観測性サービスアカウントのアノテーションを指定します。Red Hat OpenShift Service on AWS (ROSA) クラスターで可観測性を設定して AWS STS トークンを使用する方法の例は 環境の設定 ステップで確認できます。詳細は、Red Hat OpenShift Service on AWS (ROSA) を参照してください。また、STS トークンを使用するための要件とセットアップの詳細な説明は、ROSA with STS の説明 を参照してください。
1.3.2.2. AWS Security Service を使用したアクセスキーの生成 リンクのコピーリンクがクリップボードにコピーされました!
AWS Security Service を使用してアクセスキーを生成するには、次の手順を実行します。
AWS 環境をセットアップします。以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドで S3 バケットを作成します。
aws s3 mb s3://$S3_BUCKET
aws s3 mb s3://$S3_BUCKETCopy to Clipboard Copied! Toggle word wrap Toggle overflow S3 バケットにアクセスするための
s3-policyJSON ファイルを作成します。以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドでポリシーを適用します。
S3_POLICY=$(aws iam create-policy --policy-name $CLUSTER_NAME-acm-obs \ --policy-document file://$SCRATCH_DIR/s3-policy.json \ --query 'Policy.Arn' --output text) echo $S3_POLICY
S3_POLICY=$(aws iam create-policy --policy-name $CLUSTER_NAME-acm-obs \ --policy-document file://$SCRATCH_DIR/s3-policy.json \ --query 'Policy.Arn' --output text) echo $S3_POLICYCopy to Clipboard Copied! Toggle word wrap Toggle overflow TrustPolicyJSON ファイルを作成します。以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、AWS Prometheus と CloudWatch のロールを作成します。
S3_ROLE=$(aws iam create-role \ --role-name "$CLUSTER_NAME-acm-obs-s3" \ --assume-role-policy-document file://$SCRATCH_DIR/TrustPolicy.json \ --query "Role.Arn" --output text) echo $S3_ROLE
S3_ROLE=$(aws iam create-role \ --role-name "$CLUSTER_NAME-acm-obs-s3" \ --assume-role-policy-document file://$SCRATCH_DIR/TrustPolicy.json \ --query "Role.Arn" --output text) echo $S3_ROLECopy to Clipboard Copied! Toggle word wrap Toggle overflow ポリシーをロールにアタッチします。以下のコマンドを実行します。
aws iam attach-role-policy \ --role-name "$CLUSTER_NAME-acm-obs-s3" \ --policy-arn $S3_POLICY
aws iam attach-role-policy \ --role-name "$CLUSTER_NAME-acm-obs-s3" \ --policy-arn $S3_POLICYCopy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットは、次のファイルのようになる場合があります。
configセクションではsignature_version2: falseが指定されており、access_keyとsecret_keyは指定されていません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
MultiClusterObservability カスタムリソースの作成 セクションの説明に従って、
MultiClusterObservabilityカスタムリソースにサービスアカウントアノテーションを指定します。 以下のコマンドを使用して、クラウドプロバイダーの S3 アクセスキーおよび秘密鍵を取得します。シークレットの
base64文字列のデコード、編集、エンコードが必要です。クラウドプロバイダーの S3 アクセスキーを編集およびデコードするには、次のコマンドを実行します。
YOUR_CLOUD_PROVIDER_ACCESS_KEY=$(oc -n open-cluster-management-observability get secret <object-storage-secret> -o jsonpath="{.data.thanos\.yaml}" | base64 --decode | grep access_key | awk '{print $2}')YOUR_CLOUD_PROVIDER_ACCESS_KEY=$(oc -n open-cluster-management-observability get secret <object-storage-secret> -o jsonpath="{.data.thanos\.yaml}" | base64 --decode | grep access_key | awk '{print $2}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラウドプロバイダーのアクセスキーを表示するには、次のコマンドを実行します。
echo $YOUR_CLOUD_PROVIDER_ACCESS_KEY
echo $YOUR_CLOUD_PROVIDER_ACCESS_KEYCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラウドプロバイダーの秘密鍵を編集およびデコードするには、次のコマンドを実行します。
YOUR_CLOUD_PROVIDER_SECRET_KEY=$(oc -n open-cluster-management-observability get secret <object-storage-secret> -o jsonpath="{.data.thanos\.yaml}" | base64 --decode | grep secret_key | awk '{print $2}')YOUR_CLOUD_PROVIDER_SECRET_KEY=$(oc -n open-cluster-management-observability get secret <object-storage-secret> -o jsonpath="{.data.thanos\.yaml}" | base64 --decode | grep secret_key | awk '{print $2}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow - クラウドプロバイダーの秘密鍵を表示するには、次のコマンドを実行します。
echo $YOUR_CLOUD_PROVIDER_SECRET_KEY
echo $YOUR_CLOUD_PROVIDER_SECRET_KEYCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のデプロイメントとステートフルセットの Pod をチェックして、可観測性が有効になっていることを確認します。次の情報が表示される場合があります。
observability-thanos-query (deployment) observability-thanos-compact (statefulset) observability-thanos-receive-default (statefulset) observability-thanos-rule (statefulset) observability-thanos-store-shard-x (statefulsets)
observability-thanos-query (deployment) observability-thanos-compact (statefulset) observability-thanos-receive-default (statefulset) observability-thanos-rule (statefulset) observability-thanos-store-shard-x (statefulsets)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3.2.3. MultiClusterObservability カスタムリソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
MultiClusterObservability カスタムリソースを使用して、さまざまなコンポーネントの永続ボリュームのストレージサイズを指定します。MultiClusterObservability カスタムリソースの最初の作成時にストレージサイズを設定する必要があります。デプロイ後にストレージサイズ値を更新すると、ストレージクラスが動的ボリューム拡張をサポートしている場合にのみ変更が反映されます。詳細は、Red Hat OpenShift Container Platform ドキュメントの 永続ボリュームの拡張 を参照してください。
次の手順を実行して、ハブクラスターに MultiClusterObservability カスタムリソースを作成します。
multiclusterobservability_cr.yamlという名前のMultiClusterObservabilityカスタムリソースの YAML ファイルを作成します。可観測性については、以下のデフォルト YAML ファイルを確認してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow advancedセクションでretentionConfigパラメーターの値を変更する必要がある場合があります。詳細は、Thanos Downsampling resolution and retention を参照してください。マネージドクラスターの数によっては、ステートフルセットのストレージの量を更新する必要がある場合があります。S3 バケットが STS トークンを使用するように設定されている場合は、S3 ロールで STS を使用するようにサービスアカウントにアノテーションを付けます。次の設定を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、可観測性 API を参照してください。
インフラストラクチャーマシンセットにデプロイするには、
MultiClusterObservabilityYAML のnodeSelectorを更新して、セットのラベルを設定する必要があります。YAML の内容は以下のようになります。nodeSelector: node-role.kubernetes.io/infra: ""nodeSelector: node-role.kubernetes.io/infra: ""Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、インフラストラクチャーマシンセットの作成 を参照してください。
以下のコマンドを実行して可観測性 YAML をクラスターに適用します。
oc apply -f multiclusterobservability_cr.yaml
oc apply -f multiclusterobservability_cr.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記: デフォルトでは、
MultiClusterObservabilityカスタムリソースのstorageConfig.storageClassフィールドを定義しない場合、プラットフォームのデフォルトStorageClassフィールドがMultiClusterObservabilityリソースのstorageConfigセクションに入力されます。たとえば、AWS のデフォルトのstorageClassはgp2に設定されます。次のコマンドを実行して、デフォルトの
storageClassを確認します。oc get storageClass
oc get storageClassCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の出力例を参照してください。
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 151m gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 151m
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 151m gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 151mCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Grafana ダッシュボードを起動して可観測性サービスが有効になっていることを検証し、データが入力されていることを確認します。
- コンソールの 概要 ページまたは クラスター ページから、コンソールヘッダーの近くにある Grafana リンク をクリックします。
multicluster-observability-operatorデプロイメントにアクセスして、multicluster-observability-operatorPod がmulticlusterhub-operatorデプロイメントによってデプロイされていることを確認します。以下のコマンドを実行します。oc get deploy multicluster-observability-operator -n open-cluster-management --show-labels
oc get deploy multicluster-observability-operator -n open-cluster-management --show-labelsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のような結果が表示される場合があります。
NAME READY UP-TO-DATE AVAILABLE AGE LABELS multicluster-observability-operator 1/1 1 1 35m installer.name=multiclusterhub,installer.namespace=open-cluster-management
NAME READY UP-TO-DATE AVAILABLE AGE LABELS multicluster-observability-operator 1/1 1 1 35m installer.name=multiclusterhub,installer.namespace=open-cluster-managementCopy to Clipboard Copied! Toggle word wrap Toggle overflow リソースに関連付けられているラベルについて
multicluster-observability-operatorデプロイメントのlabelsセクションを表示します。labelsセクションには次の詳細が含まれる場合があります。labels: installer.name: multiclusterhub installer.namespace: open-cluster-managementlabels: installer.name: multiclusterhub installer.namespace: open-cluster-managementCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
注記: 可観測性データを収集しないように特定のマネージドクラスターを除外するには、クラスターに
observability: disabledクラスターラベルを追加します。
可観測性サービスを有効化します。可観測性サービスを有効にすると、次の機能が開始されます。
- マネージドクラスターからのアラートマネージャーはすべて、Red Hat Advanced Cluster Management ハブクラスターに転送されます。
Red Hat Advanced Cluster Management ハブクラスターに接続されたマネージドクラスターはすべて、アラートを Red Hat Advanced Cluster Management の可観測性サービスに送信できます。Red Hat Advanced Cluster Management Alertmanager を設定して、重複を排除してグループ化し、アラートをメール、PagerDuty、または OpsGenie などの適切なレシーバー統合にルーティングすることができます。アラートの通知解除や抑制にも対応できます。
注記: Red Hat Advanced Cluster Management ハブクラスターへのアラート転送機能は、サポートされている OpenShift Container Platform バージョンのマネージドクラスターでのみサポートされます。可観測性を有効にして Red Hat Advanced Cluster Management をインストールすると、アラートが自動的にハブクラスターに転送されます。詳細は、送信アラート を参照してください。
1.3.3. Red Hat OpenShift Container Platform コンソールからの可観測性の有効化 リンクのコピーリンクがクリップボードにコピーされました!
オプションで、Red Hat OpenShift Container Platform コンソールから可観測性を有効にし、open-cluster-management-observability という名前のプロジェクトを作成します。以下の手順を実行します。
-
open-cluster-management-observabilityプロジェクトで、multiclusterhub-operator-pull-secretという名前のイメージプルシークレットを作成します。 -
open-cluster-management-observabilityプロジェクトにthanos-object-storageという名前のオブジェクトストレージシークレットを作成します。 - オブジェクトストレージシークレットの詳細を入力し、Create をクリックします。シークレットの例を表示するには、可観測性の有効化 セクションの手順 4 を参照してください。
-
MultiClusterObservabilityカスタムリソースインスタンスを作成します。Observability components are deployed and runningのメッセージが表示されると、OpenShift Container Platform から可観測性サービスが正常に有効化されています。
1.3.3.1. Thanos バージョンの検証 リンクのコピーリンクがクリップボードにコピーされました!
Thanos がクラスターにデプロイされたら、コマンドラインインターフェイス (CLI) から Thanos のバージョンを確認します。
ハブクラスターにログインした後、可観測性 Pod で次のコマンドを実行して Thanos バージョンを受け取ります。
thanos --version
thanos --version
Thanos のバージョンが表示されます。
1.3.4. 可観測性の無効化 リンクのコピーリンクがクリップボードにコピーされました!
可観測性を無効にして、Red Hat Advanced Cluster Management ハブクラスターでデータ収集を停止します。
1.3.4.1. すべてのクラスターで可観測性を無効にする リンクのコピーリンクがクリップボードにコピーされました!
すべてのマネージドクラスターで可観測性コンポーネントを削除して、可観測性を無効にします。
enableMetrics を false に設定して、multicluster-observability-operator リソースを更新します。更新されたリソースは、以下のような変更内容になります。
- 1
observabilityAddonSpecパラメーターを使用して、Observability アドオンが有効になっているすべてのマネージドクラスターのグローバル設定を定義します。- 2
enableMetricsパラメーターを使用して、Observability アドオンが有効になっていて、メトリクスをハブクラスターサーバーにプッシュできることを示します。- 3
- テクノロジープレビュー:
workersパラメーターを使用して、メトリクスコレクタープロセスの内部ワーカーの数を増やします。マネージドクラスター上の Prometheus に対して内部ワーカーが分割/federateエンドポイントリクエストを送信し、ハブクラスター上の Thanos に個別のリモート書き込みリクエストを送信します。
1.3.4.2. 単一クラスターで可観測性を無効にする リンクのコピーリンクがクリップボードにコピーされました!
特定のマネージドクラスターの可観測性コンポーネントを削除して可観測性を無効にします。以下の手順を実行します。
-
managedclusters.cluster.open-cluster-management.ioのカスタムリソースにobservability: disabledラベルを追加します。 Red Hat Advanced Cluster Management コンソールの Clusters ページから、指定したクラスターに
observability=disabledラベルを追加します。注記: 可観測性コンポーネントが含まれるマネージドクラスターをデタッチすると、
metrics-collectorデプロイメントが削除されます。
1.3.5. 可観測性の削除 リンクのコピーリンクがクリップボードにコピーされました!
MultiClusterObservability カスタムリソースを削除すると、可観測性サービスが無効化され、アンインストールされます。OpenShift Container Platform コンソールナビゲーションから、Operators > Installed Operators > Advanced Cluster Manager for Kubernetes の順に選択します。MultiClusterObservability カスタムリソースを削除します。
1.3.6. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
オブジェクトストレージ情報に関するクラウドプロバイダーのドキュメントへのリンク:
- 可観測性の使用 を参照してください。
- 可観測性サービスのカスタマイズ方法の詳細は、可観測性のカスタマイズ を参照してください。
- その他の関連トピックは、Observability サービス に戻ってください。
1.4. 可観測性設定のカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
可観測性を有効にした後、環境の特定のニーズに合わせて可観測性設定をカスタマイズします。可観測性サービスが収集するクラスターフリートデータを管理および表示します。
必要なアクセス権: クラスター管理者
1.4.1. カスタムルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
可観測性リソースに、Prometheus レコードルール および アラートルール を追加して、可観測性インストールのカスタムルールを作成します。
高価な式を事前計算するには、Prometheus の記録ルール機能を使用してアラート条件を作成し、外部サービスにアラートを送信する方法に基づいて通知を送信します。結果は新たな時系列のセットとして保存されます。以下の例を参照して、thanos-ruler-custom-rules Config Map 内にカスタムアラートルールを作成します。
CPU 使用率が定義した値を超えたときに通知を受け取るには、次のカスタムアラートルールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記:
-
カスタムルールを更新すると、
observability-thanos-rulePod が自動的に再起動します。 - 設定には、複数のルールを作成できます。
-
デフォルトのアラートルールは、
open-cluster-management-observabilitynamespace のobservability-thanos-rule-default-rulesconfig map にあります。
-
カスタムルールを更新すると、
Pod のコンテナーメモリーキャッシュの合計を取得するためのカスタム記録ルールを作成するには、次のカスタムルールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記: config map に変更を加えた後、設定は自動的に再読み込みされます。この設定は、
observability-thanos-ruleサイドカー内のconfig-reloadにより、設定が再読み込みされます。
アラートルールが正しく機能していることを確認するには、Grafana ダッシュボードに移動し、Explore ページを選択して、ALERTS にクエリーを実行します。アラートを作成した場合、アラートは Grafana でのみ使用できます。
1.4.2. カスタムメトリクスの追加 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes を使用してリモートクラスターからのメトリクスを監視するには、そのメトリクスがプラットフォームまたはユーザーワークロードメトリクスとしてエクスポートされているかどうかを確認します。メトリクスタイプを確認するには、次の 3 つの方法のいずれかを使用します。
- 監視対象とするソリューションのドキュメントでメトリクスタイプを確認します。
- 製品のサポートに問い合わせてメトリクスタイプを確認します。
監視対象リソースの
ServiceMonitorが使用するアノテーションを確認して、メトリクスタイプを確認します。-
プラットフォームメトリクスは、
operator.prometheus.io/controller-id: openshift-platform-monitoring/prometheus-operatorを使用します。 -
ユーザーワークロードメトリクスは、
operator.prometheus.io/controller-id: openshift-user-workload-monitoring/prometheus-operatorを使用します。
-
プラットフォームメトリクスは、
また、コンソールで Observe > Targets に移動し、右上の Source フィルターから Platform または User を選択することで、ServiceMonitor を見つけることもできます。
注記: Source フィルターは、メトリクスのリストではなく、サービスモニターまたはターゲットの情報を提供します。
メトリクスがプラットフォームの場合は、プラットフォームメトリクスの追加 に進んでください。メトリクスがユーザーワークロードの場合は、ユーザーワークロードメトリクスの追加 に進んでください。
1.4.2.1. プラットフォームメトリクスの追加 リンクのコピーリンクがクリップボードにコピーされました!
ハブクラスターの open-cluster-management-observability namespace 内に ConfigMap を作成することで、プラットフォームメトリクスを監視できます。名前として observability-metrics-custom-allowlist を使用します。プラットフォームメトリクスを監視するために使用できる次の ConfigMap の例を参照してください。
収集するメトリクスの名前は、マネージドクラスターの record パラメーターで定義した名前と同じです。クエリー式を実行すると、メトリクス値の結果が得られます。1 つのセクションまたは両方のセクションを使用できます。これは、モニタリングが有効なすべてのクラスターに当てはまります。
1 つのマネージドクラスターからのみカスタムメトリクスを収集する場合は、次の例を使用して、マネージドクラスターの open-cluster-management-addon-observability namespace 内で config map を適用します。
収集するメトリクスの名前は、マネージドクラスターの record パラメーターで定義した名前と同じです。クエリー式を実行すると、メトリクス値の結果が得られます。1 つのセクションまたは両方のセクションを使用できます。
1.4.2.2. ユーザーワークロードメトリクスの追加 リンクのコピーリンクがクリップボードにコピーされました!
メトリクスの取得対象とする namespace 内のマネージドクラスターで設定を指定することで、ユーザーワークロードメトリクスを監視できます。名前は observability-metrics-custom-allowlist である必要があります。形式は次の例と同じである必要があります。
前の例では、namespace monitored_namespace からのユーザーワークロードメトリクス sample_metrics を監視します。代わりに、open-cluster-management-addon-observability namespace で設定を作成すると、マネージドクラスターのすべての namespace からメトリクスが収集されます。
1.4.2.3. デフォルトメトリクスの削除 リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターから特定のメトリクスのデータを収集したくない場合は、observability-metrics-custom-allowlist.yaml ファイルからメトリクスを削除します。メトリクスを削除すると、マネージドクラスターからメトリクスデータが収集されなくなります。デフォルトのメトリクスを削除するには、次の手順を実行します。
以下のコマンドを使用して、
mco observabilityが有効になっていることを確認します。oc get mco observability -o yaml
oc get mco observability -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow metrics_list.yamlパラメーターにデフォルトのメトリクスの名前を追加します。メトリクス名の先頭にハイフン-を付けます。次のメトリクスの例を参照してください。-cluster_infrastructure_provider
-cluster_infrastructure_providerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドで、
open-cluster-management-observabilitynamespace にobservability-metrics-custom-allowlistconfig map を作成します。oc apply -n open-cluster-management-observability -f observability-metrics-custom-allowlist.yaml
oc apply -n open-cluster-management-observability -f observability-metrics-custom-allowlist.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 可観測性サービスがマネージドクラスターから特定のメトリクスを収集していないことを確認します。Grafana ダッシュボードからメトリクスをクエリーしても、メトリクスは表示されません。
1.4.3. 保持の詳細設定の追加 リンクのコピーリンクがクリップボードにコピーされました!
必要に応じて各可観測性コンポーネントの保持を更新するには、advanced 設定セクションを追加します。以下の手順を実行します。
次のコマンドを使用して、
MultiClusterObservabilityカスタムリソースを編集します。oc edit mco observability -o yaml
oc edit mco observability -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルに
advancedセクションを追加します。YAML ファイルは以下の内容のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記:
-
advanced設定に追加できるすべてのパラメーターの説明は、Observability API ドキュメントを参照してください。 -
すべての解像度レベル (
retentionResolutionRaw、retentionResolution5m、retentionResolution1hなど) のデフォルトの保持期間は 365 日 (365d) です。MultiClusterObservabilityspec.advanced.retentionConfigパラメーターで、解像度保持の明示的な値を設定する必要があります。
-
以前のバージョンからアップグレードし、そのバージョン保持設定を保持する場合は、前述の設定を追加します。以下の手順を実行します。
次のコマンドを実行して、
MultiClusterObservabilityリソースに移動します。oc edit mco observability
oc edit mco observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
spec.advanced.retentionConfigパラメーターで、次の設定を適用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.4. シングルノード OpenShift クラスターの動的メトリクス リンクのコピーリンクがクリップボードにコピーされました!
動的メトリクス収集では、特定の条件に基づいて自動的にメトリクスを収集できます。デフォルトでは、シングルノードの OpenShift クラスターは Pod およびコンテナーのリソースメトリクスを収集しません。シングルノードの OpenShift クラスターが特定のレベルのリソース消費に達すると、定義された詳細なメトリクスが動的に収集されます。一定期間にわたってクラスターリソースの消費量が常にしきい値を下回ると、詳細なメトリクスの収集が停止します。
メトリクスは、収集ルールによって指定されたマネージドクラスターの条件に基づいて動的に収集されます。これらのメトリクスは動的に収集されるため、次の Red Hat Advanced Cluster Management Grafana ダッシュボードにはデータが表示されません。収集ルールがアクティブ化され、対応するメトリクスが収集されると、収集ルールが起動している期間のデータが次のパネルに表示されます。
- Kubernetes/コンピューティングリソース/namespace (Pod)
- Kubernetes/コンピューティングリソース/namespace (ワークロード)
- Kubernetes/コンピューティングリソース/ノード (Pod)
- Kubernetes/コンピューティングリソース/Pod
- Kubernetes/コンピューティングリソース/ワークロード収集ルールには次の条件が含まれます。
- 動的に収集するメトリクスのセット。
- PromQL 式として記述された条件。
-
コレクションの間隔。
trueに設定する必要があります。 - 収集ルールを評価する必要のあるクラスターを選択するための一致式。
デフォルトでは、コレクションルールは、30 秒ごとにマネージドクラスターで継続的に評価されるか、特定の間隔で評価されます。コレクションの間隔と時間間隔の最小値が優先されます。収集ルールの条件が for 属性で指定された期間持続すると、収集ルールが開始され、ルールで指定されたメトリクスがマネージドクラスターに自動的に収集されます。メトリクスの収集は、収集ルールの条件がマネージドクラスターに存在しなくなった後、開始してから少なくとも 15 分後に自動的に停止します。
収集ルールは、collect_rules という名前のパラメーターセクションとしてグループ化され、グループとして有効または無効にできます。Red Hat Advanced Cluster Management インストールには、コレクションルールグループ (HighCPUUsage および HighMemoryUsage) のデフォルトコレクションルール SNOResourceUsage が含まれます。HighCPUUsage コレクションルールは、ノードの CPU 使用率が 70% を超えると開始されます。HighMemoryUsage 収集ルールは、シングルノード OpenShift クラスターの全体的なメモリー使用率が使用可能なノードメモリーの 70% を超えると開始されます。現在、上記のしきい値は固定されており、変更できません。収集ルールが for 属性で指定された間隔を超えて開始すると、システムが dynamic_metrics セクションで指定されたメトリクスの収集を自動的に開始します。
次の YAML ファイルに含まれる collect_rules セクションの動的メトリクスのリストを参照してください。
以下の例のように、collect_rules.group は custom-allowlist で無効にできます。collect_rules.group を無効にすると、メトリクスの収集が以前の動作に戻ります。これらのメトリクスは、指定された間隔で定期的に収集されます。
collect_rules: - group: -SNOResourceUsage
collect_rules:
- group: -SNOResourceUsage
データは、ルールの開始時のみ Grafana に表示されます。
1.4.5. コンソールからの MultiClusterObservability カスタムリソースレプリカの更新 リンクのコピーリンクがクリップボードにコピーされました!
ワークロードが増加する場合は、可観測性 Pod のレプリカ数を増やします。ハブクラスターから Red Hat OpenShift Container Platform コンソールに移動します。MultiClusterObservability カスタムリソースを見つけて、レプリカを変更するコンポーネントの replicas パラメーター値を更新します。更新した YAML は以下のようになります。
spec:
advanced:
receive:
replicas: 6
spec:
advanced:
receive:
replicas: 6
mco observability カスタムリソース内のパラメーターの詳細は、可観測性 API ドキュメントを参照してください。
1.4.6. 永続ボリュームおよび永続ボリューム要求の増減 リンクのコピーリンクがクリップボードにコピーされました!
永続ボリュームと永続ボリューム要求を増減して、ストレージクラス内のストレージの量を変更します。以下の手順を実行します。
-
ストレージクラスがボリュームの拡張をサポートしている場合は、
MultiClusterObservabilityカスタムリソースを更新して、永続ボリュームのサイズを増やします。 永続ボリュームのサイズを小さくするには、永続ボリュームを使用している Pod を削除し、永続ボリュームを削除して再作成します。永続ボリュームでデータが失われる可能性があります。以下の手順を実行します。
-
MultiClusterObservabilityカスタムリソースにアノテーションmco-pause: "true"を追加して、MultiClusterObservabilityOperator を一時停止します。 目的のコンポーネントのステートフルセットまたはデプロイメントを探します。レプリカ数を
0に変更します。これによりシャットダウンが開始され、データの損失を避けるために、該当する場合はローカルデータがアップロードされます。たとえば、ThanosReceiveステートフルセットの名前はobservability-thanos-receive-defaultで、デフォルトでは 3 つのレプリカがあります。したがって、次の永続ボリューム要求を探します。-
data-observability-thanos-receive-default-0 -
data-observability-thanos-receive-default-1 -
data-observability-thanos-receive-default-2
-
- 必要なコンポーネントによって使用される永続ボリュームおよび永続ボリューム要求を削除します。
-
MultiClusterObservabilityカスタムリソースで、コンポーネントの設定のストレージサイズを、ストレージサイズフィールドで必要な量に編集します。接頭辞にはコンポーネントの名前が付いています。 -
以前に追加したアノテーションを削除して
MultiClusterObservabilityOperator の一時停止を解除します。 -
Operator を一時停止した後に調整を開始するには、
multicluster-observability-operatorおよびobservatorium-operatorPod を削除します。Pod はすぐに再作成され、調整されます。
-
-
MultiClusterObservabilityカスタムリソースをチェックして、永続ボリュームとボリューム要求が更新されていることを確認します。
1.4.7. ルート証明書のカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform ルート認証をカスタマイズする場合は、ルートを alt_names セクションに追加する必要があります。OpenShift Container Platform ルートにアクセスできるようにするには、alertmanager.apps.<domainname>、observatorium-api.apps.<domainname>、rbac-query-proxy.apps.<domainname> の情報を追加します。
詳細は、ガバナンスドキュメントの alertmanager ルートの証明書の置き換え を参照してください。
注記: ユーザーは証明書のローテーションおよび更新を行います。
1.4.8. オブジェクトストアにアクセスするための証明書のカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
認証局を含む Secret リソースを作成し、MultiClusterObservability カスタムリソースを設定することで、監視オブジェクトストアとの安全な接続を設定できます。以下の手順を実行します。
オブジェクトストア接続を検証するには、次のコマンドを使用して、認証局を含むファイルに
Secretオブジェクトを作成します。oc create secret generic <tls_secret_name> --from-file=ca.crt=<path_to_file> -n open-cluster-management-observability
oc create secret generic <tls_secret_name> --from-file=ca.crt=<path_to_file> -n open-cluster-management-observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow - あるいは、次の YAML を適用してシークレットを作成することもできます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 相互 TLS を有効にする場合は、前のシークレットに
public.crtキーとprivate.keyキーを追加する必要があります。次のコマンドを使用して、
metricObjectStorageセクションに TLS シークレットの詳細を追加します。oc edit mco observability -o yaml
oc edit mco observability -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルは次の YAML のようになります。
metricObjectStorage: key: thanos.yaml name: thanos-object-storage tlsSecretName: tls-certs-secret tlsSecretMountPath: /etc/<s3-directory>/certs
metricObjectStorage: key: thanos.yaml name: thanos-object-storage tlsSecretName: tls-certs-secret1 tlsSecretMountPath: /etc/<s3-directory>/certs2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書の詳細を含む
http_config.tls_configセクションを追加して、thanos-object-storageシークレットのthanos.yaml定義を更新します。以下の例を参照してください。必要に応じて値を置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 相互 TLS を有効にする場合は、
tls_configセクションにcert_fileキーとkey_fileキーを追加する必要があります。以下の例を参照してください。必要に応じて値を置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ca_file、cert_file、およびkey_fileのパスは、MultiClusterObservabilityカスタムリソースのtlsSecretMountPathと一致させる必要があります。ca.crt、public.crt、private.crtは、tls_secret_name>Secretリソース内のそれぞれのキーと一致させる必要があります。
オブジェクトストアにアクセスできることを確認するには、Pod がデプロイされていることを確認します。以下のコマンドを実行します。
oc -n open-cluster-management-observability get pods -l app.kubernetes.io/name=thanos-store
oc -n open-cluster-management-observability get pods -l app.kubernetes.io/name=thanos-storeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.9. 可観測性アドオンのプロキシー設定 リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターからの通信が HTTP および HTTPS プロキシーサーバー経由でハブクラスターにアクセスできるようにプロキシー設定を指定します。通常、アドオンでは、ハブクラスターとマネージドクラスターの間で HTTP および HTTPS プロキシーサーバーをサポートする特別な設定は必要ありません。ただし、可観測性アドオンを有効にしている場合は、プロキシー設定を完了する必要があります。
1.4.10. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- ハブクラスターがある。
- ハブクラスターとマネージドクラスター間のプロキシー設定が有効にしている。
可観測性アドオンのプロキシー設定を指定するには、以下の手順を実行します。
- ハブクラスターのクラスター namespace に移動します。
spec.proxyConfigパラメーターを追加して、プロキシー設定を使用してAddOnDeploymentConfigリソースを作成します。以下は、YAML の例です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow マネージドクラスターで IP アドレスを取得するには、以下のコマンドを実行します。
oc -n default describe svc kubernetes | grep IP:
oc -n default describe svc kubernetes | grep IP:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ManagedClusterAddOnリソースに移動し、作成したAddOnDeploymentConfigリソースを参照して更新します。以下は、YAML の例です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロキシー設定を検証します。プロキシー設定が正常に設定されている場合、マネージドクラスター上の可観測性アドオンエージェントによってデプロイされたメトリクスコレクターが、データをハブクラスターに送信します。以下の手順を実行します。
- ハブクラスターに移動し、Grafana ダッシュボードでマネージドクラスターに移動します。
- プロキシー設定のメトリクスを表示します。
1.4.11. 可観測性アドオンのプロキシー設定の無効化 リンクのコピーリンクがクリップボードにコピーされました!
開発に必要な変更がある場合は、ハブクラスターとマネージドクラスターに設定した可観測性アドオンのプロキシー設定を無効にすることが必要な場合があります。可観測性アドオンのプロキシー設定はいつでも無効にできます。以下の手順を実行します。
-
ManagedClusterAddOnリソースに移動します。 -
参照される
AddOnDeploymentConfigリソースを削除します。
1.4.12. マネージドクラスター Observatorium API と Alertmanager URL のカスタマイズ (テクノロジープレビュー) リンクのコピーリンクがクリップボードにコピーされました!
ロードバランサーまたはリザーブプロキシーを使用するときに、マネージドクラスターがハブクラスターとの通信に使用する Observatorium API および Alertmanager URL をカスタマイズして、すべての Red Hat Advanced Cluster Management 機能を維持できます。URL をカスタマイズするには、次の手順を実行します。
-
MultiClusterObservabilityspecのadvancedセクションに URL を追加します。以下の例を参照してください。
spec:
advanced:
customObservabilityHubURL: <yourURL>
customAlertmanagerHubURL: <yourURL>
spec:
advanced:
customObservabilityHubURL: <yourURL>
customAlertmanagerHubURL: <yourURL>
注記:
-
HTTPS URL のみがサポートされます。URL に
https://を追加しない場合、スキームは自動的に追加されます。 -
customObservabilityHubURLspecに、リモート書き込み API の標準パス/api/metrics/v1/default/api/v1/receiveを含めることができます。パスを含めない場合、Observability サービスは実行時にパスを自動的に追加します。 カスタム Observability ハブクラスター URL に使用する中間コンポーネントは MTLS 認証に依存しているため、TLS 終端を使用できません。カスタム Alertmanager ハブクラスター URL は、独自の既存の証明書手順を使用して中間コンポーネントの TLS 終端をサポートします。
-
customObservabilityHubURLを使用している場合は、次のテンプレートを使用してルートオブジェクトを作成します。<intermediate_component_url>を中間コンポーネントの URL に置き換えます。
-
-
customAlertmanagerHubURLを使用している場合は、次のテンプレートを使用してルートオブジェクトを作成します。<intermediate_component_url>を中間コンポーネントの URL に置き換えます。
1.4.13. 詳細な RBAC の設定 (テクノロジープレビュー) リンクのコピーリンクがクリップボードにコピーされました!
クラスター内の特定 namespace へのメトリクスアクセスを制限するには、詳細なロールベースアクセス制御 (RBAC) を使用します。詳細な RBAC を使用すると、アクセス権が付与された namespace のメトリクスのみの表示をアプリケーションチームに許可することができます。
ハブクラスターのユーザーのメトリクスアクセス制御は、ハブクラスター上で設定する必要があります。このハブクラスターでは、ManagedCluster カスタムリソースによってすべてのマネージドクラスターが表されます。RBAC を設定し、許可する namespace を選択するには、ManagedCluster カスタムリソースで指定されているルールとアクション動詞を使用します。
たとえば、my-awesome-app という名前のアプリケーションがあり、このアプリケーションが devcluster1 と devcluster2 という 2 つの異なるマネージドクラスター上にあるとします。どちらのクラスターも AwesomeAppNS namespace にあります。my-awesome-app-admins という名前の admin ユーザーグループがあり、このユーザーグループが、ハブクラスター上のこれら 2 つの namespace からのメトリクスにのみアクセスできるように制限するとします。
この例では、詳細な RBAC を使用してユーザーグループのアクセスを制限するために、次の手順を実行します。
メトリクスにアクセスする権限を持つ
ClusterRoleリソースを定義します。リソースは次の YAML のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow グループ
my-awesome-app-adminsをawesome-app-metrics-roleのClusterRoleリソースにバインドするClusterRoleBindingリソースを定義します。リソースは次の YAML のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これらの手順を完了すると、my-awesome-app-admins のユーザーが Grafana コンソールにログインするときに、次の制限が適用されます。
- フリートレベルのデータを要約したダッシュボードのデータがユーザーに表示されません。
-
ユーザーは、
ClusterRoleリソースで指定されているマネージドクラスターと namespace のみを選択できます。
異なるタイプのユーザーアクセスを設定するには、namespace 内の異なるマネージドクラスターを表す個別の ClusterRoles および ClusterRoleBindings リソースを定義します。
1.4.14. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- 詳細は、Prometheus の設定 を参照してください。記録ルールとアラートルールの詳細は、Prometheus ドキュメント の記録ルールとアラートルールを参照してください。
- ダッシュボードの表示の詳細は、Grafana ダッシュボードの使用 を参照してください。
- 外部エンドポイントへのメトリクスのエクスポート を参照してください。
- ユーザー定義プロジェクトのモニタリングの有効化 を 参照してください。
- 可観測性 API を参照してください。
- alertmanager ルートの証明書の更新に関する詳細は、alertmanager の 証明書の置き換え を参照してください。
- 可観測性アラートの詳細は、可観測性アラート を参照してください。
- アラート転送の詳細は、Prometheus Alertmanager ドキュメント を参照してください。
- 詳細は、可観測性アラート を参照してください。
- 可観測性サービスに関する詳細なトピックは、可観測性サービス を参照してください。
- 詳細は、管理ワークロードのパーティショニング を参照してください。
1.5. 可観測性の使用 リンクのコピーリンクがクリップボードにコピーされました!
可観測性サービスを使用して、フリート全体のクラスターの使用率を表示します。
必要なアクセス権: クラスター管理者
1.5.1. 可観測性 API を使用したメトリクスのクエリー リンクのコピーリンクがクリップボードにコピーされました!
ネットワーク接続の双方のアイデンティティーを検証する相互 TLS を使用してエンドポイントにアクセスするには、外部可観測性 API を使用して Red Hat OpenShift Container Platform rbac-query-proxy ルート経由でメトリクスのクエリーを実行します。rbac-query-proxy ルートのクエリーを取得するには、次の手順を実行します。
以下のコマンドを使用して、ルートの詳細を取得できます。
oc get route rbac-query-proxy -n open-cluster-management-observability
oc get route rbac-query-proxy -n open-cluster-management-observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform OAuth アクセストークンを使用して
rbac-query-proxyルートにアクセスするには、次のコマンドを実行してトークンを取得します。トークンは、namespace を取得するパーミッションがあるユーザーまたはサービスアカウントと関連付ける必要があります。MY_TOKEN=$(oc whoami --show-token)
MY_TOKEN=$(oc whoami --show-token)Copy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-ingressルートにアクセスするには、デフォルトの CA 証明書を取得し、tls.crtキーの内容をローカルファイルに保存します。以下のコマンドを実行します。oc -n openshift-ingress get secret router-certs-default -o jsonpath="{.data.tls\.crt}" | base64 -d > ca.crtoc -n openshift-ingress get secret router-certs-default -o jsonpath="{.data.tls\.crt}" | base64 -d > ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意: ハブクラスターが OpenShift Service on AWS で実行している場合、
router-certs-defaultシークレットは存在しません。代わりに、デフォルトの Ingress コントローラーオブジェクトでspec.defaultCertificate.nameが指す CA 証明書を使用します。tls.crtキーの内容をローカルファイルに保存します。以下の手順を実行します。次のコマンドを実行して、
spec.defaultCertificate.nameの名前を取得します。SECRET_NAME=$(oc get ingresscontroller default -n openshift-ingress-operator -o jsonpath=" {.spec.defaultCertificate.name}")SECRET_NAME=$(oc get ingresscontroller default -n openshift-ingress-operator -o jsonpath=" {.spec.defaultCertificate.name}")Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、シークレットから証明書を抽出します。
oc get secret $SECRET_NAME -n openshift-ingress -o jsonpath=" {.data.tls\.crt}" | base64 -d > ca.crtoc get secret $SECRET_NAME -n openshift-ingress -o jsonpath=" {.data.tls\.crt}" | base64 -d > ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
API からメトリクスのクエリーを実行するには、次のコマンドを実行します。
curl --cacert ./ca.crt -H "Authorization: Bearer {TOKEN}" https://{PROXY_ROUTE_URL}/api/v1/query?query={QUERY_EXPRESSION}curl --cacert ./ca.crt -H "Authorization: Bearer {TOKEN}" https://{PROXY_ROUTE_URL}/api/v1/query?query={QUERY_EXPRESSION}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記:
QUERY_EXPRESSIONは標準の Prometheus クエリー式です。たとえば、前述のコマンドの URL をhttps://{PROXY_ROUTE_URL}/api/v1/query?query=cluster_infrastructure_providerに置き換えて、メトリクスcluster_infrastructure_providerのクエリーを実行します。詳細は、Prometheus のクエリー を参照してください。-
rbac-query-proxy ルートにカスタム証明書を設定する場合は、
rbac-query-proxyルート の証明書の置き換え を参照してください。
1.5.1.1. 外部エンドポイントへのメトリクスのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
リアルタイムで Prometheus Remote-Write 仕様をサポートするには、メトリクスを外部エンドポイントにエクスポートします。メトリクスを外部エンドポイントにエクスポートするには、次の手順を実行します。
open-cluster-management-observabilitynamespace の外部エンドポイントのアクセス情報を使用して、外部エンドポイントの Kubernetes シークレットを作成します。次のシークレットの例を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ep.yamlパラメーターはコンテンツのキーであり、次のステップのMultiClusterObservabilityカスタムリソースで使用されます。現在、可観測性は、セキュリティーチェックなしで、Basic 認証を使用するか、TLSを有効にしてエンドポイントにメトリクスをエクスポートする方法をサポートしています。サポートされているパラメーターの完全なリストは、次の表を参照してください。- 2
urlパラメーターは、必須の、外部エンドポイント URL です。値を文字列として入力します。- 3
http_client_configパラメーターは、オプションの、HTTP クライアントの高度な設定です。- 4
basic_authパラメーターは、オプションの、Basic 認証用の HTTP クライアント設定です。- 5
usernameパラメーターは、オプションの、基本認可のユーザー名です。値を文字列として入力します。- 6
passwordは、オプションの、基本認可のパスワードです。値を文字列として入力します。- 7
tls_configパラメーターは、オプションの、TLS の HTTP クライアント設定です。- 8
secret_nameパラメーターは、必須の、証明書が含まれるシークレットの名前です。値を文字列として入力します。- 9
ca_file_keyパラメーターは、必須の、シークレット内の CA 証明書のキーです。このパラメーターは、insecure_skip_verifyパラメーターがtrueに設定されている場合に限りオプションとなります。値を文字列として入力します。- 10
cert_file_keyパラメーターは、必須の、シークレット内のクライアント証明書のキーです。値を文字列として入力します。- 11
key_file_keyパラメーターは、必須の、シークレット内のクライアントキーのキーです。値を文字列として入力します。- 12
insecure_skip_verifyパラメーターは、オプションであり、ターゲット証明書の検証をスキップするために使用されます。値をブール値として入力します。
エクスポートする外部エンドポイントのリストを追加するには、
MultiClusterObservabilityカスタムリソースにwriteStorageパラメーターを追加します。以下の例を参照してください。spec: storageConfig: writeStorage: - key: ep.yaml name: victoriametricsspec: storageConfig: writeStorage:1 - key: ep.yaml name: victoriametricsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 各アイテムには、name と key の 2 つの属性が含まれています。Name は、エンドポイントアクセス情報を含む Kubernetes シークレットの名前であり、key はシークレット内のコンテンツのキーです。リストに複数のアイテムを追加すると、メトリクスは複数の外部エンドポイントにエクスポートされます。
メトリクスのエクスポートが有効になった後、
acm_remote_write_requests_totalメトリクスを確認して、メトリクスのエクスポートのステータスを表示します。- ハブクラスターの OpenShift Container Platform コンソールから、Observe セクションの Metrics をクリックして Metrics ページに移動します。
-
次に、
acm_remote_write_requests_totalメトリクスにクエリーを実行します。このメトリクスの値は、1 つの Observatorium API インスタンス上の 1 つの外部エンドポイントに対する特定のレスポンスを持つリクエストの合計数です。nameラベルは、外部エンドポイントの名前です。codeラベルは、メトリクスエクスポートの HTTP リクエストのリターンコードです。
1.5.2. ダッシュボードを使用したデータの表示および調査 リンクのコピーリンクがクリップボードにコピーされました!
ハブクラスターから Grafana にアクセスして、マネージドクラスターからデータを表示します。特定のアラートを照会して、そのクエリーのフィルターを追加できます。
たとえば、単一ノードの OpenShift クラスターから cluster_infrastructure_provider アラートを確認するには、cluster_infrastructure_provider{clusterType="SNO"} のクエリー式を使用します。
注記: シングルノードのマネージドクラスターで可観測性が有効になっている場合は、ObservabilitySpec.resources.CPU.limits パラメーターを設定しないでください。CPU 制限を設定すると、可観測性 Pod がマネージドクラスターの容量にカウントされます。追加リソース セクションの 管理ワークロードのパーティショニング を参照してください。
1.5.2.1. 履歴データの表示 リンクのコピーリンクがクリップボードにコピーされました!
履歴データをクエリーする場合は、クエリーパラメーターオプションを手動で設定して、ダッシュボードから表示されるデータの量を制御します。以下の手順を実行します。
- ハブクラスターから、コンソールヘッダーにある Grafana link を選択します。
- Edit Panel を選択して、クラスターダッシュボードを編集します。
- Grafana のクエリーフロントエンドデータソースから、Query タブをクリックします。
-
$datasourceを選択します。 - より多くのデータを表示する場合は、Step パラメーターセクションの値を増やします。Step パラメーターセクションが空の場合は、自動的に計算されます。
-
Custom query parameters フィールドを見つけて、
max_source_resolution=autoを選択します。 - データが表示されていることを確認するには、Grafana ページを更新します。
Grafana ダッシュボードからクエリーデータが表示されます。
1.5.2.2. Red Hat Advanced Cluster Management ダッシュボードの表示 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management 可観測性サービスを有効にすると、3 つのダッシュボードが利用可能になります。次に示すダッシュボードの説明を確認してください。
- Alert Analysis: マネージドクラスターフリート内で生成されているアラートの概要を示すダッシュボード。
- Clusters by Alert: アラート名でフィルタリングできるアラートダッシュボード。
- Alerts by Cluster: クラスターでフィルタリングし、クラスター環境内で発生したアラート、または保留中のアラートのリアルタイムデータを表示できるアラートダッシュボード。
1.5.2.3. etcd テーブルの表示 リンクのコピーリンクがクリップボードにコピーされました!
Grafana のハブクラスターダッシュボードから etcd テーブルを表示して、データストアとしての etcd の安定性を確認することもできます。ハブクラスターから Grafana リンクを選択して、ハブクラスターから収集された etcd テーブルデータを表示します。マネージドクラスターの Leader election changes が表示されます。
1.5.2.4. Kubernetes API サーバーダッシュボードの表示 リンクのコピーリンクがクリップボードにコピーされました!
過去 7 日間または 30 日間のターゲットとする サービスレベル目標 (SLO) 値を超過または達成しているクラスターの合計数、問題のあるクラスターと問題のないクラスター、および API サーバー要求期間を確認するには、次のオプションを使用して Kubernetes API サーバーダッシュボードを表示します。
Grafana のハブクラスターダッシュボードから、Kubernetes API サービスレベルの概要を表示します。
- Grafana ダッシュボードに移動します。
- Kubernetes > Service-Level Overview > API Server を選択して、管理ダッシュボードメニューにアクセスします。Fleet Overview および Top Cluster の詳細が表示されます。
Grafana のハブクラスターダッシュボードから Kubernetes API サービスレベルの概要テーブルを表示して、過去 7 日間または 30 日間のエラーバジェット、残りのダウンタイム、トレンドを確認します。
- ハブクラスターから Grafana ダッシュボードに移動します。
- Kubernetes > Service-Level Overview > API Server を選択して、管理ダッシュボードメニューにアクセスします。Fleet Overview および Top Cluster の詳細が表示されます。
1.5.2.5. OpenShift Virtualization ダッシュボードの表示 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Virtualization ダッシュボードを表示すると、OpenShift Virtualization Operator がインストールされている各クラスターの包括的な分析情報を確認できます。アクティブな OpenShift Virtualization アラートと Hyperconverged Cluster Operator の状態によって決定される Operator の状態が表示されます。さらに、実行中の仮想マシンの数と各クラスターの Operator のバージョンも表示されます。
ダッシュボードには、Operator の健全性に影響を与えるアラートもリスト表示されます。また、Operator の健全性に影響を与えないアラートも含め、すべての OpenShift Virtualization アラートが別途表示されます。ダッシュボードは、クラスター名、Operator の健全性アラート、健全性へのアラートの影響、アラートの重大度でフィルタリングできます。
1.5.3. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- 詳細は、Prometheus Remote-Write 仕様 を参照してください。
- ユーザーが所有する OAuth アクセストークンの管理 を参照してください。
- 可観測性サービスの有効化 を参照してください。
- その他のトピックは、可観測性サービス を参照してください。
1.5.4. Grafana ダッシュボードの使用 リンクのコピーリンクがクリップボードにコピーされました!
Grafana ダッシュボードを使用して、ハブクラスターとマネージドクラスターのメトリクスを表示します。Grafana アラートダッシュボードに表示されるデータは、マネージドクラスターから発信される alerts メトリクスに依存します。alerts メトリクスは、ハブクラスター上の Red Hat Advanced Cluster Management アラートマネージャーにアラートを転送するマネージドクラスターには影響しません。したがって、メトリクスとアラートには異なる伝播メカニズムがあり、それぞれ別のコードパスに従います。
Grafana アラートダッシュボードにデータが表示されている場合でも、マネージドクラスターアラートが Red Hat Advanced Cluster Management ハブクラスターアラートマネージャーに正常に転送されているという保証はありません。メトリクスがマネージドクラスターから伝播されている場合は、Grafana アラートダッシュボードにデータが表示されます。
開発ニーズに合わせて Grafana ダッシュボードを使用するには、以下を実行します。
1.5.4.1. Grafana 開発者インスタンスの設定 リンクのコピーリンクがクリップボードにコピーされました!
grafana-dev インスタンスを作成して、Grafana ダッシュボードを設計できます。必ず最新の grafana-dev インスタンスを使用してください。
Grafana 開発者インスタンスを設定するには、以下の手順を実行します。
-
open-cluster-management/multicluster-observability-operator/リポジトリーのクローンを作成し、toolsフォルダーにあるスクリプトを実行できるようにします。 setup-grafana-dev.shを実行して、Grafana インスタンスを設定します。スクリプトを実行すると、secret/grafana-dev-config、deployment.apps/grafana-dev、service/grafana-dev、ingress.extensions/grafana-dev、persistentvolumeclaim/grafana-devのリソースが作成されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow switch-to-grafana-admin.shスクリプトを使用して、ユーザーロールを Grafana 管理者に切り替えます。-
Grafana の URL
https://grafana-dev-open-cluster-management-observability.{OPENSHIFT_INGRESS_DOMAIN}を選択し、ログインします。 次に、以下のコマンドを実行して、切り替えユーザーを Grafana 管理者として追加します。たとえば、
kubeadminを使用してログインしたら、以下のコマンドを実行します。./switch-to-grafana-admin.sh kube:admin User <kube:admin> switched to be grafana admin
./switch-to-grafana-admin.sh kube:admin User <kube:admin> switched to be grafana adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Grafana の URL
Grafana 開発者インスタンを設定します。
1.5.4.1.1. Grafana のバージョン検証 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイス (CLI) または Grafana ユーザーインターフェイスから Grafana のバージョンを検証します。
ハブクラスターにログインした後、observabilty-grafana Pod ターミナルにアクセスします。以下のコマンドを実行します。
grafana-cli
grafana-cli
現在クラスター環境内にデプロイされている Grafana のバージョンが表示されます。
Grafana ダッシュボードの Manage タブに移動することもできます。ページの最後までスクロールすると、バージョンリストがあります。
1.5.4.2. Grafana ダッシュボードの設計 リンクのコピーリンクがクリップボードにコピーされました!
Grafana インスタンスを設定したら、ダッシュボードを設計できます。Grafana コンソールを更新し、ダッシュボードを設計するには、以下の手順を実行します。
- Grafana コンソールのナビゲーションパネルから Create アイコンを選択してダッシュボードを作成します。Dashboard を選択し、Add new panel をクリックします。
- New Dashboard/Edit Panel ビューで、Query タブを選択します。
-
データソースセレクターから
Observatoriumを選択し、PromQL クエリーを入力してクエリーを設定します。 - Grafana ダッシュボードヘッダーから、ダッシュボードヘッダーにある Save アイコンをクリックします。
- 説明的な名前を追加し、Save をクリックします。
1.5.4.2.1. ConfigMap での Grafana ダッシュボードの設計 リンクのコピーリンクがクリップボードにコピーされました!
ConfigMap を使用して、Grafana ダッシュボードを設計します。generate-dashboard-configmap-yaml.sh スクリプトを使用してダッシュボードの ConfigMap を生成し、ローカルで ConfigMap を保存できます。
./generate-dashboard-configmap-yaml.sh "Your Dashboard Name" Save dashboard <your-dashboard-name> to ./your-dashboard-name.yaml
./generate-dashboard-configmap-yaml.sh "Your Dashboard Name"
Save dashboard <your-dashboard-name> to ./your-dashboard-name.yaml
前述のスクリプトを実行するパーミッションがない場合は、以下の手順を実行します。
- ダッシュボードを選択し、Dashboard 設定 アイコンをクリックします。
- ナビゲーションパネルから JSON Model アイコンをクリックします。
-
ダッシュボード JSON データをコピーし、
dataセクションに貼り付けます。 nameを、$your-dashboard-nameに置き換えます。data.$your-dashboard-name.json.$$your_dashboard_jsonのuidフィールドに Universally Unique Identifier (UUID) を入力します。uuidegen などのプログラムを使用して UUID を作成できます。ConfigMap は、以下のファイルのようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記:
ダッシュボードが
grafana-devインスタンス内に作成されている場合は、ダッシュボードの名前を取得して、スクリプトで引数として渡すことができます。たとえば、Demo Dashboard という名前のダッシュボードがgrafana-devインスタンスに作成されます。CLI から、次のスクリプトを実行できます。./generate-dashboard-configmap-yaml.sh "Demo Dashboard"
./generate-dashboard-configmap-yaml.sh "Demo Dashboard"Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトを実行すると、次のメッセージが表示される場合があります。
Save dashboard <demo-dashboard> to ./demo-dashboard.yaml
Save dashboard <demo-dashboard> to ./demo-dashboard.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ダッシュボードが General フォルダーにない場合は、この ConfigMap の
annotationsセクションでフォルダー名を指定できます。annotations: observability.open-cluster-management.io/dashboard-folder: Custom
annotations: observability.open-cluster-management.io/dashboard-folder: CustomCopy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMap の更新が完了したら、インストールしてダッシュボードを Grafana インスタンスにインポートできます。
CLI または OpenShift Container Platform コンソールから YAML を適用して、YAML ファイルが作成されていることを確認します。open-cluster-management-observability namespace 内に ConfigMap が作成されます。CLI から次のコマンドを実行します。
oc apply -f demo-dashboard.yaml
oc apply -f demo-dashboard.yaml
OpenShift Container Platform コンソールから、demo-dashboard.yaml ファイルを使用して、ConfigMap を作成します。ダッシュボードは Custom フォルダーにあります。
1.5.4.3. Grafana 開発者インスタンスのアンインストール リンクのコピーリンクがクリップボードにコピーされました!
インスタンスをアンインストールすると、関連するリソースも削除されます。以下のコマンドを実行します。
1.5.4.4. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- 外部エンドポイントへのメトリクスのエクスポート を参照してください。
- UUID の作成手順は、uuidegen を参照してください。
- 詳細は、Grafana でのマネージドクラスターラベルの使用 を参照してください。
- Grafana ダッシュボードの使用 ページの先頭に戻ります。
- トピックは、環境の監視の紹介 を参照してください。
1.5.5. Grafana でマネージドクラスターラベルを使用する リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターラベルを有効にして、Grafana ダッシュボードで使用できるようにします。ハブクラスターで可観測性が有効になっている場合は、observability-managed-cluster-label-allowlist ConfigMap が open-cluster-management-observability namespace に作成されます。ConfigMap には、observabilty-rbac-query-proxy Pod によって維持されるマネージドクラスターラベルのリストが含まれており、ACM - Cluster Overview Grafana ダッシュボード内からフィルタリングするラベル名のリストを入力します。デフォルトでは、可観測性は observability-managed-cluster-label-allowlist ConfigMap のラベルのサブセットを無視します。
クラスターがマネージドクラスターフリートにインポートされるか、変更されると、observability-rbac-query-proxy Pod は、マネージドクラスターラベルを参照して変更を監視し、observability-managed-cluster-label-allowlist ConfigMap を自動的に更新して、変更を反映させます。ConfigMap には、ignore_labels または labels リストに含まれる一意のラベル名のみが含まれます。observability-managed-cluster-label-allowlist ConfigMap は次の YAML ファイルのようになる場合があります。
+ <1> ConfigMap の ignore_labels キーリストにリストされているラベルはすべて、ACM - Clusters Overview Grafana ダッシュボードのドロップダウンフィルターから削除されます。<2> 有効になっているラベルは ACM - Clusters Overview Grafana ダッシュボードのドロップダウンフィルターに表示されます。値は、選択した label キー値に応じて、acm_managed_cluster_labels メトリクスから取得されます。
引き続き Grafana でのマネージドクラスターラベルの使用方法を確認してください。
1.5.5.1. マネージドクラスターラベルの追加 リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターラベルを observability-managed-cluster-label-allowlist ConfigMap に追加すると、そのラベルは Grafana のフィルターオプションとして使用できるようになります。ハブクラスター、またはマネージドクラスターフリートに関連付けられているマネージドクラスターオブジェクトに一意のラベルを追加します。たとえば、ラベル department=finance をマネージドクラスターに追加すると、ConfigMap が更新され、次のように変更されます。
1.5.5.2. マネージドクラスターラベルの有効化 リンクのコピーリンクがクリップボードにコピーされました!
observability-managed-cluster-label-allowlist ConfigMap の ignore_labels リストからラベルを削除して、すでに無効になっているマネージドクラスターラベルを有効にします。
たとえば、local-cluster および name ラベルを有効にします。observability-managed-cluster-label-allowlist ConfigMap は、次の内容のようになる場合があります。
クラスターラベルが確実に更新されるように、ConfigMap は 30 秒後に再同期します。ConfigMap を更新した後、open-cluster-management-observability namespace の observability-rbac-query-proxy Pod ログをチェックして、ラベルがリストされている場所を確認します。次の情報が Pod ログに表示される場合があります。
enabled managedcluster labels: <label>
enabled managedcluster labels: <label>
Grafana ダッシュボードから、ラベルが Label ドロップダウンメニューの値としてリストされていることを確認します。
1.5.5.3. マネージドクラスターラベルの無効化 リンクのコピーリンクがクリップボードにコピーされました!
Label ドロップダウンフィルターのリストからマネージドクラスターラベルを除外します。ラベル名を ignore_labels リストに追加します。たとえば、local-cluster と name を ignore_labels リストに戻すと、YAML は次のファイルのようになります。
open-cluster-management-observability namespace の observability-rbac-query-proxy Pod ログをチェックして、ラベルがどこにリストされているかを確認します。次の情報が Pod ログに表示される場合があります。
disabled managedcluster label: <label>
disabled managedcluster label: <label>
1.5.5.4. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- Grafana ダッシュボードの使用 を参照してください。
- ページの最初の Grafana でのマネージドクラスターラベルの使用 に戻ります。
1.6. アラートの管理 リンクのコピーリンクがクリップボードにコピーされました!
ハブクラスターとマネージドクラスターの変更が通知されるように、可観測性サービスのアラートを受信および定義します。
1.6.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- ハブクラスターで可観測性を有効化する。
-
open-cluster-management-observabilitynamespace 内のシークレットリソースに対する作成権限がある。 -
MultiClusterObservabilityリソースに対する編集権限がある。
1.6.2. Alertmanager の設定 リンクのコピーリンクがクリップボードにコピーされました!
メール、Slack、PagerDuty などの外部メッセージングツールを統合し、Alertmanager から通知を受信します。open-cluster-management-observability namespace で alertmanager-config シークレットを上書きして、統合を追加し、Alertmanager のルートを設定します。以下の手順を実行して、カスタムのレシーバールールを更新します。
alertmanager-configシークレットからデータを抽出します。以下のコマンドを実行します。oc -n open-cluster-management-observability get secret alertmanager-config --template='{{ index .data "alertmanager.yaml" }}' |base64 -d > alertmanager.yamloc -n open-cluster-management-observability get secret alertmanager-config --template='{{ index .data "alertmanager.yaml" }}' |base64 -d > alertmanager.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行し、
alertmanager.yamlファイル設定を編集して保存します。oc -n open-cluster-management-observability create secret generic alertmanager-config --from-file=alertmanager.yaml --dry-run -o=yaml | oc -n open-cluster-management-observability replace secret --filename=-
oc -n open-cluster-management-observability create secret generic alertmanager-config --from-file=alertmanager.yaml --dry-run -o=yaml | oc -n open-cluster-management-observability replace secret --filename=-Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したシークレットは以下の内容のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
変更内容は、変更後すぐに適用されます。Alertmanager の例は、prometheus/alertmanager を参照してください。
1.6.2.1. Alertmanager Pod 内でのシークレットのマウント リンクのコピーリンクがクリップボードにコピーされました!
任意のコンテンツを含む Secret リソースを作成して、そのリソースを alertmanager Pod 内にマウントして認可認証情報にアクセスすることができます。
Alertmanager 設定内のシークレットを参照するには、open-cluster-management-observability namespace 内に Secret リソースコンテンツを追加し、alertmanager Pod 内にコンテンツをマウントします。たとえば、TLS シークレットを作成してマウントするには、次の手順を実行します。
TLS 証明書を使用して
TLSシークレットを作成するには、次のコマンドを実行します。oc create secret tls tls --cert=</path/to/cert.crt> --key=</path/to/cert.key> -n open-cluster-management-observability
oc create secret tls tls --cert=</path/to/cert.crt> --key=</path/to/cert.key> -n open-cluster-management-observabilityCopy to Clipboard Copied! Toggle word wrap Toggle overflow tlsシークレットをMultiClusterObservabilityリソースにマウントするには、それをadvancedセクションに追加します。リソースは以下の内容のようになります。... advanced: alertmanager: secrets: ['tls']
... advanced: alertmanager: secrets: ['tls']Copy to Clipboard Copied! Toggle word wrap Toggle overflow Alertmanager 設定内に
tlsシークレットの参照を追加するには、シークレットのパスを設定に追加します。リソースは、以下の設定のようになります。tls_config: cert_file: '/etc/alertmanager/secrets/tls/tls.crt' key_file: '/etc/alertmanager/secrets/tls/tls.key'
tls_config: cert_file: '/etc/alertmanager/secrets/tls/tls.crt' key_file: '/etc/alertmanager/secrets/tls/tls.key'Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットが
alertmanagerPod 内にあることを確認するには、次のコマンドを実行します。oc -n open-cluster-management-observability get secret alertmanager-config --template='{{ index .data "alertmanager.yaml" }}' |base64 -d > alertmanager.yamloc -n open-cluster-management-observability get secret alertmanager-config --template='{{ index .data "alertmanager.yaml" }}' |base64 -d > alertmanager.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow YAML の内容は次のようになります。
"global": "http_config": "tls_config": "cert_file": "/etc/alertmanager/secrets/storyverify/tls.crt" "key_file": "/etc/alertmanager/secrets/storyverify/tls.key""global": "http_config": "tls_config": "cert_file": "/etc/alertmanager/secrets/storyverify/tls.crt" "key_file": "/etc/alertmanager/secrets/storyverify/tls.key"Copy to Clipboard Copied! Toggle word wrap Toggle overflow alertmanager.yaml設定をalertmanager-configシークレットに保存するには、以下のコマンドを実行します。oc -n open-cluster-management-observability create secret generic alertmanager-config --from-file=alertmanager.yaml --dry-run -o=yaml
oc -n open-cluster-management-observability create secret generic alertmanager-config --from-file=alertmanager.yaml --dry-run -o=yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以前のシークレットを新しいシークレットに置き換えるには、次のコマンドを実行します。
oc -n open-cluster-management-observability replace secret --filename=-
oc -n open-cluster-management-observability replace secret --filename=-Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.3. アラートの転送 リンクのコピーリンクがクリップボードにコピーされました!
可観測性を有効にした後には、OpenShift Container Platform マネージドクラスターからのアラートは自動的にハブクラスターに送信されます。alertmanager-config YAML ファイルを使用して、外部通知システムでアラートを設定できます。
alertmanager-config YAML ファイルの例を以下に示します。
アラート転送用のプロキシーを設定する場合は、alertmanager-config YAML ファイルに次の global エントリーを追加します。
global:
slack_api_url: '<slack_webhook_url>'
http_config:
proxy_url: http://****
global:
slack_api_url: '<slack_webhook_url>'
http_config:
proxy_url: http://****
1.6.3.1. マネージドクラスターのアラート転送の無効化 リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターのアラート転送を無効にするには、次のアノテーションを MultiClusterObservability カスタムリソースに追加します。
metadata:
annotations:
mco-disable-alerting: "true"
metadata:
annotations:
mco-disable-alerting: "true"
アノテーションを設定すると、マネージドクラスターのアラート転送設定が元に戻ります。openshift-monitoring namespace の ocp-monitoring-config config map に加えられた変更も元に戻ります。アノテーションを設定すると、ocp-monitoring-config config map が可観測性 Operator のエンドポイントによって管理または更新されなくなります。設定を更新すると、マネージドクラスターの Prometheus インスタンスが再起動します。
重要: メトリクス用の永続ボリュームを持つ Prometheus インスタンスがある場合、マネージドクラスターのメトリクスは失われ、Prometheus インスタンスが再起動されます。ハブクラスターからのメトリクスは影響を受けません。
変更が元に戻ると、cluster-monitoring-reverted という名前の ConfigMap が open-cluster-management-addon-observability namespace に作成されます。手動で追加された新しいアラート転送設定は、ConfigMap から元に戻りません。
ハブクラスターアラートマネージャーがマネージドクラスターアラートをサードパーティーのメッセージングツールに伝達していないことを確認します。前のセクション Alertmanager の設定 を参照してください。
1.6.4. アラートをサイレントにする リンクのコピーリンクがクリップボードにコピーされました!
受信したくないアラートを追加します。アラート名、一致ラベル、または期間によってアラートをサイレントにすることができます。サイレントにしたいアラートを追加すると、ID が作成されます。サイレントにしたアラートの ID は、文字列 d839aca9-ed46-40be-84c4-dca8773671da のようになります。
アラートをサイレントにする方法は、引き続きお読みください。
Red Hat Advanced Cluster Management アラートをオフにするには、
open-cluster-management-observabilitynamespace のalertmanagerPod にアクセスできる必要があります。たとえば、SampleAlertをオフにするには、observability-alertmanager-0Pod ターミナルで次のコマンドを実行します。amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" alertname="SampleAlert"
amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" alertname="SampleAlert"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 複数の一致ラベルを使用してアラートをサイレントにします。次のコマンドは
match-label-1とmatch-label-2を使用します。amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" <match-label-1>=<match-value-1> <match-label-2>=<match-value-2>
amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" <match-label-1>=<match-value-1> <match-label-2>=<match-value-2>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定の期間アラートをサイレントにする場合は、
--durationフラグを使用します。次のコマンドを実行して、SampleAlertを 1 時間サイレントにします。amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" --duration="1h" alertname="SampleAlert"
amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" --duration="1h" alertname="SampleAlert"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 消音アラートの開始時刻または終了時刻を指定することもできます。次のコマンドを入力して、特定の開始時刻に
SampleAlertをサイレントにします。amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" --start="2023-04-14T15:04:05-07:00" alertname="SampleAlert"
amtool silence add --alertmanager.url="http://localhost:9093" --author="user" --comment="Silencing sample alert" --start="2023-04-14T15:04:05-07:00" alertname="SampleAlert"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成されたサイレント化されたアラートをすべて表示するには、次のコマンドを実行します。
amtool silence --alertmanager.url="http://localhost:9093"
amtool silence --alertmanager.url="http://localhost:9093"Copy to Clipboard Copied! Toggle word wrap Toggle overflow アラートをサイレントにしたくない場合は、次のコマンドを実行してアラートのサイレントを終了します。
amtool silence expire --alertmanager.url="http://localhost:9093" "d839aca9-ed46-40be-84c4-dca8773671da"
amtool silence expire --alertmanager.url="http://localhost:9093" "d839aca9-ed46-40be-84c4-dca8773671da"Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのアラートをサイレントにするのを終了するには、次のコマンドを実行します。
amtool silence expire --alertmanager.url="http://localhost:9093" $(amtool silence query --alertmanager.url="http://localhost:9093" -q)
amtool silence expire --alertmanager.url="http://localhost:9093" $(amtool silence query --alertmanager.url="http://localhost:9093" -q)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.4.1. 可観測性ストレージの移行 リンクのコピーリンクがクリップボードにコピーされました!
アラートサイレンサーを使用する場合は、サイレンサーを以前の状態のまま保持しながら、可観測性ストレージを移行できます。これを行うには、選択した StorageClass リソースを使用する新しい StatefulSets および PersistentVolumes (PV) リソースを作成して、Red Hat Advanced Cluster Management の可観測性ストレージを移行します。
注記: PV のストレージは、クラスターから収集されたメトリクスを保存するために使用されるオブジェクトストレージとは異なります。
StatefulSet と PV を使用して可観測性データを新しいストレージに移行すると、次のデータコンポーネントが保存されます。
- Observatorium または Thanos: データを受信してオブジェクトストレージにアップロードします。一部のコンポーネントは PV にデータを保存します。このデータは、Observatorium または Thanos が起動時にオブジェクトストレージを自動的に再生成するため、このデータを失っても影響はありません。
- Alertmanager: サイレント化されたアラートのみを保存します。これらのサイレントアラートを保持する場合は、そのデータを新しい PV に移行する必要があります。
可観測性ストレージを移行するには、次の手順を実行します。
-
MultiClusterObservabilityで、.spec.storageConfig.storageClassフィールドを新しいストレージクラスに設定します。 -
PersistentVolumeClaimを削除しても以前のPersistentVolumesのデータが保持されるようにするために、既存のすべてのPersistentVolumesに移動します。 -
reclaimPolicyを"Retain": `oc patch pv <your-pv-name> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'に変更します。 - オプション: データの損失を回避するには、Migrate persistent data to another Storage Class in DG 8 Operator in OCP 4 を参照してください。
次の
StatefulSetの場合、StatefulSetとPersistentVolumeClaimの両方を削除します。-
alertmanager-db-observability-alertmanager-<REPLICA_NUMBER> -
data-observability-thanos-<COMPONENT_NAME> -
data-observability-thanos-receive-default -
data-observability-thanos-store-shard -
重要: 新しい
StatefulSetを作成するには、MultiClusterObservabilityOperator Pod を削除してから再作成する必要がある場合があります。
-
-
同じ名前で正しい
StorageClassを使用して新しいPersistentVolumeClaimを再作成します。 -
古い
PersistentVolumeを参照する新しいPersistentVolumeClaimを作成します。 -
新しい
StatefulSetとPersistentVolumesが、選択した新しいStorageClassを使用していることを確認します。
1.6.5. アラートの抑制 リンクのコピーリンクがクリップボードにコピーされました!
重大度の低い Red Hat Advanced Cluster Management アラートをクラスター全体でグローバルに抑制します。アラートを抑制するには、open-cluster-management-observability namespace の alertmanager-config で抑制ルールを定義します。
抑制ルールは、既存のマッチャーの別のセットと一致する一連のパラメーター一致がある場合にアラートをミュートします。ルールを有効にするには、ターゲットアラートとソースアラートの両方で、equal リスト内のラベル名のラベル値が同じである必要があります。inhibit_rules は次のようになります。
- 1 1
inhibit_rulesパラメーターセクションは、同じ namespace のアラートを検索するために定義されています。criticalアラートがネームスペース内で開始し、その namespace に重大度レベルのwarningまたはinfoを含む他のアラートがある場合は、criticalアラートのみが Alertmanager レシーバーにルーティングされます。一致するものがあった場合、次のアラートが表示される場合があります。ALERTS{alertname="foo", namespace="ns-1", severity="critical"} ALERTS{alertname="foo", namespace="ns-1", severity="warning"}ALERTS{alertname="foo", namespace="ns-1", severity="critical"} ALERTS{alertname="foo", namespace="ns-1", severity="warning"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 2
source_matchパラメーターとtarget_match_reパラメーターの値が一致しない場合、アラートはレシーバーにルーティングされます。ALERTS{alertname="foo", namespace="ns-1", severity="critical"} ALERTS{alertname="foo", namespace="ns-2", severity="warning"}ALERTS{alertname="foo", namespace="ns-1", severity="critical"} ALERTS{alertname="foo", namespace="ns-2", severity="warning"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Advanced Cluster Management で抑制されたアラートを表示するには、次のコマンドを入力します。
amtool alert --alertmanager.url="http://localhost:9093" --inhibited
amtool alert --alertmanager.url="http://localhost:9093" --inhibitedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.6. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
- 詳細は、可観測性のカスタマイズ を参照してください。
- 可観測性に関するその他のトピックは、可観測性サービス を参照してください。
第2章 Red Hat Insights での可観測性の使用 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Insights は、Red Hat Advanced Cluster Management 可観測性と統合されており、クラスター内の既存の問題や発生しうる問題を特定できるように有効化されています。Red Hat Insights は、安定性、パフォーマンス、ネットワーク、およびセキュリティーリスクの特定、優先順位付け、および解決に役立ちます。Red Hat OpenShift Container Platform は、OpenShift Cluster Manager を使用してクラスターのヘルスモニタリングを提供します。OpenShift Cluster Manager は、クラスターのヘルス、使用状況、サイズの情報を匿名で累積して収集します。詳細は、Red Hat Insights の製品ドキュメント を参照してください。
OpenShift クラスターを作成またはインポートすると、マネージドクラスターからの匿名データは自動的に Red Hat に送信されます。この情報を使用してクラスターのヘルス情報を提供する insights を作成します。Red Hat Advanced Cluster Management 管理者は、このヘルス情報を使用して重大度に基づいてアラートを作成できます。
必要なアクセス権限: クラスターの管理者
2.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat Insights が有効になっていることを確認する。詳細は、グローバルクラスタープルシークレットの変更によるリモートヘルスレポートの無効化 を参照してください。
- OpenShift Container Platform バージョン 4.0 以降がインストールされている。
- OpenShift Cluster Manager に登録されているハブクラスターユーザーが OpenShift Cluster Manager の全 Red Hat Advanced Cluster Management マネージドクラスターを管理できる。
2.2. Insight PolicyReports の管理 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management for Kubernetes PolicyReports は、insights-client で生成される違反です。PolicyReports は、インシデント管理システムに送信されるアラートの定義および設定に使用されます。違反がある場合には、PolicyReport からのアラートはインシデント管理システムに送信されます。
2.2.1. Insight ポリシーレポートの検索 リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスター全体で、違反した特定の insight PolicyReport を検索できます。以下の手順を実行します。
- Red Hat Advanced Cluster Management ハブクラスターにログインします。
- ナビゲーションメニューから Search を選択します。
kind:PolicyReportのクエリーを入力します。注記:
PolicyReport名はクラスターの名前と同じになります。-
インサイトポリシー違反とカテゴリーを使用してクエリーを指定できます。
PolicyReport名を選択すると、関連付けられたクラスターの Details ページにリダイレクトされます。Insights サイドバーが自動的に表示されます。 検索サービスが無効になり、insight を検索する必要がある場合は、ハブクラスターから以下のコマンドを実行します。
oc get policyreport --all-namespaces
oc get policyreport --all-namespacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2. コンソールから特定された問題の表示 リンクのコピーリンクがクリップボードにコピーされました!
特定のクラスターで特定された問題を表示できます。以下の手順を実行します。
- Red Hat Advanced Cluster Management クラスターにログインします。
- ナビゲーションメニューから Overview を選択します。
-
Cluster issues の概要カードを確認してください。重大度リンクを選択すると、その重大度に関連付けられている
PolicyReportsが表示されます。クラスターの問題の詳細と重大度は、Search ページに表示されます。重大度に関連付けられており、1 つ以上の問題があるポリシーレポートが表示されます。 - ポリシーレポートを選択して、Cluster ページからクラスターの詳細を表示します。Status カードには、ノード、アプリケーション、ポリシー違反 および 特定された問題 に関する情報が表示されます。
詳細を表示するには、特定された問題の数 を選択します。Identified issues カードは、Red Hat Insights からの情報を表します。Identified issues のステータスには、重大度による問題数が表示されます。問題の対応レベルは、Critical、Major、Low、および Warning の重大度に分類されます。
- または、ナビゲーションメニューから Clusters を選択できます。
- テーブルからマネージドクラスターを選択して、詳細情報を表示します。
- Status カードから、特定された問題の数を表示します。
- 発生する可能性のある問題数を選択して、Potential issue サイドパネルから、重大度チャートと、その問題に対して推奨される修復を表示します。検索機能を使用して、推奨される修復を検索することもできます。修復オプションは、脆弱性の 説明、脆弱性に関連する カテゴリー、および 全体的なリスク を表示します。
脆弱性へのリンクをクリックすると、修復する方法 と脆弱性の 理由 の手順を表示します。
注記: 問題を解決すると、Red Hat Insights が 30 分ごとに受信され、Red Hat Insights は 2 時間ごとに更新されます。
PolicyReportからアラートメッセージを送信したコンポーネントを確認してください。-
Governance ページに移動し、特定の
PolicyReportを選択します。 -
Status タブを選択し、View details リンクをクリックして
PolicyReportYAML ファイルを表示します。 -
sourceパラメーターを見つけます。このパラメーターにより、違反を送信したコンポーーネントが通知されます。値オプションはgrcおよびinsightsです。
-
Governance ページに移動し、特定の
2.2.3. 更新リスク予測の表示 リンクのコピーリンクがクリップボードにコピーされました!
マネージドクラスターを更新する際の潜在的なリスクを表示します。以下の手順を実行します。
- ターゲットのマネージドクラスターにログインします。
- Overview ページに移動します。
- Powered by Insights セクションでは、重大度別にリストされた、予測リスクのあるクラスターの割合を表示できます。
- 重大度の番号を選択すると、Clusters ページからクラスターのリストが表示されます。
- 必要なクラスターを選択し、Actions ドロップダウンボタンをクリックします。
- アップグレードのリスクを表示するには、クラスターのアップグレード をクリックします。
- クラスターのアップグレード モーダルから、アップグレードリスク の列を見つけて、リスクの数のリンクをクリックすると、Hybrid Cloud Console で情報が表示されます。
2.3. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
-
PolicyReportsにカスタムアラートルールを作成する方法は、Alertmanager の設定 を参照してください。 - 可観測性サービス を参照してください。