12.5. FlowMetric API を使用したカスタムメトリクスの設定


特定の監視ニーズを満たすために、フローログフィールドをラベルとしてマッピングしてカスタム Prometheus メトリクスを作成するように FlowMetric API を設定します。

手順

  1. Web コンソールで、Ecosystem Installed Operators に移動します。
  2. NetObserv OperatorProvided APIs 見出しで、FlowMetric を選択します。
  3. Project: ドロップダウンリストで、Network Observability Operator インスタンスのプロジェクトを選択します。
  4. Create FlowMetric をクリックします。
  5. FlowMetric リソースを設定します。カスタムメトリクスの設定例を参照してください。

検証

  1. Pod が更新されたら、Observe Metrics に移動します。
  2. Expression フィールドにメトリクス名を入力して、対応する結果を表示します。topk(5, sum(rate(netobserv_cluster_external_ingress_bytes_total{DstK8S_Namespace="my-namespace"}[2m])) by (DstK8S_HostName, DstK8S_OwnerName, DstK8S_OwnerType)) などの式を入力することもできます。

12.5.1. カスタムメトリクスの設定例

デフォルトのメトリクスではカバーされない、外部トラフィック量やレイテンシーの急増など、特定のネットワーク動作を監視するには、FlowMetric カスタムリソース (CR) を使用します。これらの例は、ネットワークフローから特定の Prometheus メトリクスを生成するために必要な設定を示しています。

12.5.1.1. クラスター外部ソースからの受信バイトを追跡

外部ネットワークからクラスターに流入するデータ量を測定するには、以下の FlowMetric 設定を使用します。このメトリクスは、潜在的な帯域幅の問題や予期せぬ外部データ転送コストを特定するのに役立ちます。

apiVersion: flows.netobserv.io/v1alpha1
kind: FlowMetric
metadata:
  name: flowmetric-cluster-external-ingress-traffic
  namespace: netobserv
spec:
  metricName: cluster_external_ingress_bytes_total
  type: Counter
  valueField: Bytes
  direction: Ingress
  labels: [DstK8S_HostName,DstK8S_Namespace,DstK8S_OwnerName,DstK8S_OwnerType]
  filters:
  - field: SrcSubnetLabel
    matchType: Absence

ここでは、以下のようになります。

metadata.namespace
FlowMetric リソースが作成される名前空間を指定します。これは、FlowCollector リソースの spec.namespace フィールドで定義されている名前空間と一致する必要があります。デフォルトでは netobserv です。
仕様メトリクス名
Prometheus メトリクスの名前を指定します。OpenShift Container Platform の Web コンソールでは、netobserv-<metricName> という プレフィックス付きで表示されます。
spec.type
メトリクスの種類を指定します。カウンター 型は、バイト数やパケット数をカウントするのに便利です。
仕様方向
キャプチャーするトラフィックの方向を指定します。指定しない場合は、Ingress と Egress の両方がキャプチャーされ、重複したカウントが発生する可能性があります。
spec.labels
メトリクスの外観、異なるエンティティー間の関係、およびメトリクスのカーディナリティーを定義するラベルを指定します。たとえば、SrcK8S_Name はカーディナリティーが高いメトリクスです。
仕様フィルター
記載された基準に基づいて結果を絞り込むための基準を指定します。この例では、SrcSubnetLabel が存在しないフローのみを照合することによって、クラスターの外部トラフィックのみを選択します。これは、サブネットラベル機能が有効になっていることを前提としています (spec.processor.subnetLabels 経由)。これはデフォルトで有効になっています。

12.5.1.2. クラスター外部入力トラフィックの RTT 遅延を監視する

外部接続のパフォーマンスを分析し、高遅延パスを特定するには、以下の FlowMetric 設定を使用してください。このメトリクスは、標準的な Prometheus のレイテンシーダッシュボードに合わせるため、ナノ秒を秒に変換します。

apiVersion: flows.netobserv.io/v1alpha1
kind: FlowMetric
metadata:
  name: flowmetric-cluster-external-ingress-rtt
  namespace: netobserv
spec:
  metricName: cluster_external_ingress_rtt_seconds
  type: Histogram
  valueField: TimeFlowRttNs
  direction: Ingress
  labels: [DstK8S_HostName,DstK8S_Namespace,DstK8S_OwnerName,DstK8S_OwnerType]
  filters:
  - field: SrcSubnetLabel
    matchType: Absence
  - field: TimeFlowRttNs
    matchType: Presence
  divider: "1000000000"
  buckets: [".001", ".005", ".01", ".02", ".03", ".04", ".05", ".075", ".1", ".25", "1"]

ここでは、以下のようになります。

metadata.namespace
FlowMetric リソースが作成される名前空間を指定します。これは、FlowCollector リソースの spec.namespace フィールドで定義されている名前空間と一致する必要があります。デフォルトでは netobserv です。
spec.type
メトリクスの種類を指定します。ヒストグラム 型は、TimeFlowRttNs などのレイテンシー値に便利です。
仕様区切り線
メトリクスを分割するために使用する値を指定します。フローでは往復時間 (RTT) がナノ秒単位で提供されるため、1,000,000,000 を除数として秒に変換してください。これは Prometheus ガイドラインの標準です。
仕様バケット
RTT 精度のためのカスタムバケットを指定します。最適な精度範囲は 5ms から 250ms です。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る