第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

    monitoringstacks CRD は、テレメトリーが正しく有効化されているかどうかを示します。

手順

  1. メトリクスを Prometheus に送信するように RHOSO 管理クラスターを設定します。

    1. 次のコマンドを入力して、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
    2. 次のコマンドを実行して、controlplane 設定を編集用に開きます。

      $ oc -n openstack edit openstackcontrolplane/controlplane
    3. 設定を開いた状態で、.spec.telemetry.template.metricStorage セクションを置き換えて、RHOSO がメトリクスを Prometheus に送信するようにします。たとえば、以下のようになります。

            metricStorage:
              customMonitoringStack:
                alertmanagerConfig:
                  disabled: false
                logLevel: info
                prometheusConfig:
                  scrapeInterval: 30s
                  remoteWrite:
                  - url: https://external-prometheus.example.com/api/v1/write 1
                    tlsConfig:
                      ca:
                        secret:
                          name: mtls-bundle
                          key: ca.crt
                      cert:
                        secret:
                          name: mtls-bundle
                          key: ocp-client.crt
                      keySecret:
                        name: mtls-bundle
                        key: ocp-client.key
                  replicas: 2
                resourceSelector:
                  matchLabels:
                    service: metricStorage
                resources:
                  limits:
                    cpu: 500m
                    memory: 512Mi
                  requests:
                    cpu: 100m
                    memory: 256Mi
                retention: 1d 2
              dashboardsEnabled: false
              dataplaneNetwork: ctlplane
              enabled: true
              prometheusTls: {}
      1
      この URL を Prometheus インスタンスの URL に置き換えます。
      2
      保持期間を設定します。外部で収集するため、必要に応じてローカルメトリクスの保持期間を短縮できます。
  2. ワークロードが実行されているテナントクラスターを設定して、メトリクスを Prometheus に送信します。

    1. クラスターモニタリングの config map を YAML ファイルとして作成します。この map には、リモート書き込み設定とクラスター識別子を含める必要があります。たとえば、以下のようになります。

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cluster-monitoring-config
        namespace: openshift-monitoring
      data:
        config.yaml: |
          prometheusK8s:
            retention: 1d 1
            remoteWrite:
            - url: "https://external-prometheus.example.com/api/v1/write"
              writeRelabelConfigs:
              - sourceLabels:
                - __tmp_openshift_cluster_id__
                targetLabel: cluster_id
                action: replace
              tlsConfig:
                ca:
                  secret:
                    name: mtls-bundle
                    key: ca.crt
                cert:
                  secret:
                    name: mtls-bundle
                    key: ocp-client.crt
                keySecret:
                  name: mtls-bundle
                  key: ocp-client.key
      1
      保持期間を設定します。外部で収集するため、必要に応じてローカルメトリクスの保持期間を短縮できます。
    2. config map を cluster-monitoring-config.yaml というファイルとして保存します。
    3. 次のコマンドを入力して、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
    4. 次のコマンドを実行して、クラスターモニタリング設定を適用します。

      $ oc apply -f cluster-monitoring-config.yaml

変更が反映されたら、外部の Prometheus インスタンスで集計されたメトリクスを確認できます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.