1.5. オブザーバビリティーの使用


オブザーバビリティーサービスを使用して、フリート全体のクラスターの使用率を表示します。

必要なアクセス権: クラスター管理者

1.5.1. オブザーバビリティー API を使用したメトリクスのクエリー

ネットワーク接続の双方のアイデンティティーを検証する相互 TLS を使用してエンドポイントにアクセスするには、外部オブザーバビリティー API を使用して Red Hat OpenShift Container Platform rbac-query-proxy ルート経由でメトリクスのクエリーを実行します。rbac-query-proxy ルートのクエリーを取得するには、次の手順を実行します。

  1. 以下のコマンドを使用して、ルートの詳細を取得できます。

    export PROXY_ROUTE_URL=$(oc get route rbac-query-proxy -n open-cluster-management-observability -o jsonpath='{.spec.host}')
  2. OpenShift Container Platform OAuth アクセストークンを使用して rbac-query-proxy ルートにアクセスするには、次のコマンドを実行してトークンを取得します。トークンは、namespace を取得するパーミッションがあるユーザーまたはサービスアカウントと関連付ける必要があります。

    MY_TOKEN=$(oc whoami --show-token)
  3. openshift-ingress ルートにアクセスするには、デフォルトの CA 証明書を取得し、tls.crt キーの内容をローカルファイルに保存します。以下のコマンドを実行します。

    oc -n openshift-ingress get secret router-certs-default -o jsonpath="{.data.tls\.crt}" | base64 -d > ca.crt

    注意: ハブクラスターが OpenShift Service on AWS で実行している場合、router-certs-default シークレットは存在しません。代わりに、デフォルトの Ingress コントローラーオブジェクトで spec.defaultCertificate.name が指す CA 証明書を使用します。tls.crt キーの内容をローカルファイルに保存します。以下の手順を実行します。

    1. 次のコマンドを実行して、spec.defaultCertificate.name の名前を取得します。

      SECRET_NAME=$(oc get ingresscontroller default -n openshift-ingress-operator -o jsonpath=" {.spec.defaultCertificate.name}")
    2. 次のコマンドを実行して、シークレットから証明書を抽出します。

      oc get secret $SECRET_NAME -n openshift-ingress -o jsonpath=" {.data.tls\.crt}" | base64 -d > ca.crt
  4. API からメトリクスのクエリーを実行するには、次のコマンドを実行します。

    curl --cacert ./ca.crt -H "Authorization: Bearer ${MY_TOKEN}" https://${PROXY_ROUTE_URL}/api/v1/query?query=${QUERY_EXPRESSION}

    注記: QUERY_EXPRESSION は標準の Prometheus クエリー式です。たとえば、前述のコマンドの URL を https://{PROXY_ROUTE_URL}/api/v1/query?query=cluster_infrastructure_provider に置き換えて、メトリクス cluster_infrastructure_provider のクエリーを実行します。詳細は、Prometheus のクエリー を参照してください。

  5. rbac-query-proxy ルートにカスタム証明書を設定する場合は、rbac-query-proxy ルートの証明書の置き換え を参照してください。

1.5.1.1. 外部エンドポイントへのメトリクスのエクスポート

リアルタイムで Prometheus Remote-Write 仕様をサポートするには、メトリクスを外部エンドポイントにエクスポートします。メトリクスを外部エンドポイントにエクスポートするには、次の手順を実行します。

  1. open-cluster-management-observability namespace の外部エンドポイントのアクセス情報を使用して、外部エンドポイントの Kubernetes シークレットを作成します。次のシークレットの例を表示します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: victoriametrics
      namespace: open-cluster-management-observability
    type: Opaque
    stringData:
      ep.yaml: | 
    1
    
        url: http://victoriametrics:8428/api/v1/write 
    2
    
        http_client_config: 
    3
    
          basic_auth: 
    4
    
            username: test 
    5
    
            password: test 
    6
    
          tls_config: 
    7
    
            secret_name: 
    8
    
            ca_file_key: 
    9
    
            cert_file_key: 
    10
    
            key_file_key: 
    11
    
            insecure_skip_verify: 
    12
    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 パラメーターは、オプションであり、ターゲット証明書の検証をスキップするために使用されます。値をブール値として入力します。
  2. エクスポートする外部エンドポイントのリストを追加するには、MultiClusterObservability カスタムリソースに writeStorage パラメーターを追加します。以下の例を参照してください。

    spec:
      storageConfig:
        writeStorage: 
    1
    
        - key: ep.yaml
          name: victoriametrics
    1
    各アイテムには、namekey の 2 つの属性が含まれています。Name は、エンドポイントアクセス情報を含む Kubernetes シークレットの名前であり、key はシークレット内のコンテンツのキーです。リストに複数のアイテムを追加すると、メトリクスは複数の外部エンドポイントにエクスポートされます。
  3. メトリクスのエクスポートが有効になった後、acm_remote_write_requests_total メトリクスを確認して、メトリクスのエクスポートのステータスを表示します。

    1. ハブクラスターの OpenShift Container Platform コンソールから、Observe セクションの Metrics をクリックして Metrics ページに移動します。
    2. 次に、acm_remote_write_requests_total メトリクスにクエリーを実行します。このメトリクスの値は、1 つの Observatorium API インスタンス上の 1 つの外部エンドポイントに対する特定のレスポンスを持つリクエストの合計数です。name ラベルは、外部エンドポイントの名前です。code ラベルは、メトリクスエクスポートの HTTP リクエストのリターンコードです。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る