第9章 RHOSO 上で実行されるクラスターの監視
Red Hat OpenStack Services on OpenShift (RHOSO) で実行されるクラスターの可観測性メトリクスを相関させることができます。両方の環境からメトリクスを収集することで、インフラストラクチャーレイヤーとアプリケーションレイヤー全体の問題を監視およびトラブルシューティングできます。
RHOSO 上で実行されるクラスターのメトリクス相関では、次の 2 つの方法がサポートされています。
- 外部の Prometheus インスタンスへの リモート書き込み
- OpenShift Container Platform フェデレーションエンドポイントから RHOSO 可観測性スタックへのデータの収集
9.1. 外部の Prometheus インスタンスへのリモート書き込み リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Services on OpenShift (RHOSO) と OpenShift Container Platform の両方でリモート書き込みを使用して、それらのメトリクスを外部の Prometheus インスタンスにプッシュします。
前提条件
- 外部の Prometheus インスタンスにアクセスできる。
- RHOSO とクラスターへの管理アクセス権がある。
- mTLS を使用したセキュアな通信用の証明書がある。
- Prometheus インスタンスがクライアント TLS 証明書用に設定されており、リモート書き込みのレシーバーとしてセットアップされている。
- Cluster Observability Operator が RHOSO クラスターにインストールされている。
- RHOSO クラスターのモニタリングスタックが、対象のメトリクスを収集するように設定されている。
RHOSO 環境でテレメトリーが有効になっている。
注記テレメトリーサービスが正常に動作していることを確認するには、次のコマンドを入力します。
oc -n openstack get monitoringstacks metric-storage -o yaml
$ oc -n openstack get monitoringstacks metric-storage -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow monitoringstacks
CRD は、テレメトリーが正しく有効化されているかどうかを示します。
手順
メトリクスを Prometheus に送信するように RHOSO 管理クラスターを設定します。
次のコマンドを入力して、Prometheus への認証用の HTTPS クライアント証明書が含まれている
openstack
namespace に、mtls-bundle
という名前のシークレットを作成します。oc --namespace openstack \ create secret generic mtls-bundle \ --from-file=./ca.crt \ --from-file=osp-client.crt \ --from-file=osp-client.key
$ oc --namespace openstack \ create secret generic mtls-bundle \ --from-file=./ca.crt \ --from-file=osp-client.crt \ --from-file=osp-client.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
controlplane
設定を編集用に開きます。oc -n openstack edit openstackcontrolplane/controlplane
$ oc -n openstack edit openstackcontrolplane/controlplane
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定を開いた状態で、
.spec.telemetry.template.metricStorage
セクションを置き換えて、RHOSO がメトリクスを Prometheus に送信するようにします。たとえば、以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ワークロードが実行されているテナントクラスターを設定して、メトリクスを Prometheus に送信します。
クラスターモニタリングの config map を YAML ファイルとして作成します。この map には、リモート書き込み設定とクラスター識別子を含める必要があります。たとえば、以下のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 保持期間を設定します。外部で収集するため、必要に応じてローカルメトリクスの保持期間を短縮できます。
-
config map を
cluster-monitoring-config.yaml
というファイルとして保存します。 次のコマンドを入力して、Prometheus への認証用の HTTPS クライアント証明書が含まれている
openshift-monitoring
namespace に、mtls-bundle
という名前のシークレットを作成します。oc --namespace openshift-monitoring \ create secret generic mtls-bundle \ --from-file=./ca.crt \ --from-file=ocp-client.crt \ --from-file=ocp-client.key
$ oc --namespace openshift-monitoring \ create secret generic mtls-bundle \ --from-file=./ca.crt \ --from-file=ocp-client.crt \ --from-file=ocp-client.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、クラスターモニタリング設定を適用します。
oc apply -f cluster-monitoring-config.yaml
$ oc apply -f cluster-monitoring-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
変更が反映されたら、外部の Prometheus インスタンスで集計されたメトリクスを確認できます。