1.3. オブザーバビリティーの高度な設定


オブザーバビリティーを有効にしたら、環境の特定のニーズに合わせてオブザーバビリティー設定をさらにカスタマイズできます。オブザーバビリティーサービスが収集するクラスターフリートデータを管理および表示します。

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

以下のアプリケーション詳細設定のトピックを確認してください。

1.3.1. カスタムメトリクスの追加

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 を選択することで、ServiceMonitors を見つけることもできます。

注記: Source フィルターは、メトリクスのリストではなく、サービスモニターまたはターゲットの情報を提供します。

メトリクスがプラットフォームの場合は、プラットフォームメトリクスの追加 に進んでください。メトリクスがユーザーワークロードの場合は、ユーザーワークロードメトリクスの追加 に進んでください。

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

1.3.1.1. プラットフォームメトリクスの追加

ハブクラスターの open-cluster-management-observability namespace 内に ConfigMap を作成することで、プラットフォームメトリクスを監視できます。名前として observability-metrics-custom-allowlist を使用します。プラットフォームメトリクスを監視するために使用できる次の ConfigMap の例を参照してください。

kind: ConfigMap
apiVersion: v1
metadata:
  name: observability-metrics-custom-allowlist
  namespace: open-cluster-management-observability
data:
  metrics_list.yaml: |
    names: 
1

      - node_memory_MemTotal_bytes
    recording_rules: 
2

      - record: apiserver_request_duration_seconds:histogram_quantile_90
        expr: histogram_quantile(0.90,sum(rate(apiserver_request_duration_seconds_bucket {job=\"apiserver\", verb!=\"WATCH\"}[5m])) by (verb,le))
1
オプション: マネージドクラスターから収集するカスタムメトリクスの名前を追加します。
2
オプション: exprrecord パラメーターのペアに値を 1 つ追加して、クエリー式を定義します。

注記: 収集するメトリクスの名前は、マネージドクラスターの record パラメーターで定義した名前と同じです。クエリー式を実行すると、メトリクス値の結果が得られます。1 つのセクションまたは両方のセクションを使用できます。これは、モニタリングが有効なすべてのクラスターに当てはまります。

1 つのマネージドクラスターからのみカスタムメトリクスを収集する場合は、次の例を使用して、マネージドクラスターの open-cluster-management-addon-observability namespace 内で config map を適用します。

kind: ConfigMap
apiVersion: v1
metadata:
  name: observability-metrics-custom-allowlist
  namespace: open-cluster-management-addon-observability
data:
  metrics_list.yaml: |
    names: 
1

      - node_memory_MemTotal_bytes
        recording_rules: 
2

      - record: apiserver_request_duration_seconds:histogram_quantile_90
        expr: histogram_quantile(0.90,sum(rate(apiserver_request_duration_seconds_bucket{job="apiserver", verb!="WATCH"}[5m])) by (verb,le))
1
オプション: マネージドクラスターから収集するカスタムメトリクスの名前を追加します。
2
オプション: exprrecord パラメーターのペアに値を 1 つだけ入力して、クエリー式を定義します。

注記: 収集するメトリクスの名前は、マネージドクラスターの record パラメーターで定義した名前と同じです。クエリー式を実行すると、メトリクス値の結果が得られます。1 つのセクションまたは両方のセクションを使用できます。

1.3.1.2. ユーザーワークロードメトリクスの追加

メトリクスの取得対象とする namespace 内のマネージドクラスターで設定を指定することで、ユーザーワークロードメトリクスを監視できます。名前は observability-metrics-custom-allowlist にする必要があります。

次の例では、namespace monitored_namespace からユーザーワークロードメトリクス sample_metrics を監視します。代わりに、open-cluster-management-addon-observability namespace で設定を作成すると、マネージドクラスターのすべての namespace からメトリクスが収集されます。以下の例を参照してください。

kind: ConfigMap
apiVersion: v1
metadata:
  name: observability-metrics-custom-allowlist
  namespace: <monitored_namespace> 
1

data:
  uwl_metrics_list.yaml:
    names:
      - <sample_metrics> 
2
1
メトリクスの取得対象とする namespace を追加します。
2
config map データの値を YAML 形式で追加します。test namespace から収集するメトリクス名のリストを names セクションに追加します。config map を作成すると、オブザーバビリティーコレクターはメトリクスを収集し、ターゲット namespace からハブクラスターにプッシュします。

1.3.1.3. デフォルトメトリクスの削除

マネージドクラスターから特定のメトリクスのデータを収集したくない場合は、observability-metrics-custom-allowlist.yaml ファイルからメトリクスを削除します。メトリクスを削除すると、マネージドクラスターからメトリクスデータが収集されなくなります。デフォルトのメトリクスを削除するには、次の手順を実行します。

  1. 以下のコマンドを使用して、mco observability が有効になっていることを確認します。

    oc get mco observability -o yaml
  2. metrics_list.yaml パラメーターにデフォルトのメトリクスの名前を追加します。メトリクス名の先頭にハイフン - を付けます。次のメトリクスの例を参照してください。

    -cluster_infrastructure_provider
  3. 以下のコマンドで、open-cluster-management-observability namespace に observability-metrics-custom-allowlist config map を作成します。

    oc apply -n open-cluster-management-observability -f observability-metrics-custom-allowlist.yaml
  4. オブザーバビリティーサービスがマネージドクラスターから特定のメトリクスを収集していないことを確認します。Grafana ダッシュボードからメトリクスをクエリーしても、メトリクスは表示されません。

1.3.1.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 のインストールには、HighCPUUsageHighMemoryUsage という 2 つのデフォルトのコレクションルールを含む、コレクションルールグループ SNOResourceUsage が含まれています。HighCPUUsage コレクションルールは、ノードの CPU 使用率が 70% を超えると開始されます。

HighMemoryUsage 収集ルールは、シングルノード OpenShift クラスターの全体的なメモリー使用率が使用可能なノードメモリーの 70% を超えると開始されます。現在、上記のしきい値は固定されており、変更できません。収集ルールが for 属性で指定された間隔を超えて開始すると、システムが dynamic_metrics セクションで指定されたメトリクスの収集を自動的に開始します。

次の YAML ファイルに含まれる collect_rules セクションの動的メトリクスのリストを参照してください。

collect_rules:
  - group: SNOResourceUsage
    annotations:
      description: >
        By default, a {sno} cluster does not collect pod and container resource metrics. Once a {sno} cluster
        reaches a level of resource consumption, these granular metrics are collected dynamically.
        When the cluster resource consumption is consistently less than the threshold for a period of time,
        collection of the granular metrics stops.
    selector:
      matchExpressions:
        - key: clusterType
          operator: In
          values: ["{sno}"]
    rules:
    - collect: SNOHighCPUUsage
      annotations:
        description: >
          Collects the dynamic metrics specified if the cluster cpu usage is constantly more than 70% for 2 minutes
      expr: (1 - avg(rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))) * 100 > 70
      for: 2m
      dynamic_metrics:
        names:
          - container_cpu_cfs_periods_total
          - container_cpu_cfs_throttled_periods_total
          - kube_pod_container_resource_limits
          - kube_pod_container_resource_requests
          - namespace_workload_pod:kube_pod_owner:relabel
          - node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate
          - node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate
    - collect: SNOHighMemoryUsage
      annotations:
        description: >
          Collects the dynamic metrics specified if the cluster memory usage is constantly more than 70% for 2 minutes
      expr: (1 - sum(:node_memory_MemAvailable_bytes:sum) / sum(kube_node_status_allocatable{resource=\"memory\"})) * 100 > 70
      for: 2m
      dynamic_metrics:
        names:
          - kube_pod_container_resource_limits
          - kube_pod_container_resource_requests
          - namespace_workload_pod:kube_pod_owner:relabel
        matches:
          - __name__="container_memory_cache",container!=""
          - __name__="container_memory_rss",container!=""
          - __name__="container_memory_swap",container!=""
          - __name__="container_memory_working_set_bytes",container!=""

以下の例のように、collect_rules.groupcustom-allowlist で無効にできます。collect_rules.group を無効にすると、メトリクスの収集が以前の動作に戻ります。これらのメトリクスは、指定された間隔で定期的に収集されます。

collect_rules:
  - group: -SNOResourceUsage

データは、ルールの開始時のみ Grafana に表示されます。

1.3.1.5. 関連情報

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る