ネットワークメトリクス

OBI をポイントツーポイントのネットワークメトリクスの観察用に設定する

OpenTelemetry eBPF 計装は、異なるエンドポイント間のネットワークメトリクスを提供するように設定できます。 たとえば、物理ノード、コンテナー、Kubernetes Pod、サービスなどの間です。

はじめに

OBI ネットワークメトリクスの使用を開始するには、クイックスタートセットアップドキュメントを参照し、高度な設定については、設定ドキュメントを参照してください。

ネットワークメトリクス

OBI は 2 種類のネットワークメトリクスファミリーを提供します。

フローメトリクス: アプリケーションの観点から、異なるエンドポイント間で送受信されたバイト数をキャプチャします。

  • obi.network.flow.bytes(OpenTelemetry 経由でエクスポートする場合)
  • obi_network_flow_bytes_total(Prometheus エンドポイントでエクスポートする場合)
  • 有効にするには、OTEL_EBPF_METRICS_FEATURES 設定オプションに network オプションを追加します。

ゾーン間メトリクス: アプリケーションの観点から、異なるアベイラビリティゾーン間で送受信されたバイト数をキャプチャします。

  • obi.network.inter.zone.bytes(OpenTelemetry 経由でエクスポートする場合)
  • obi_network_inter_zone_bytes_total(Prometheus エンドポイントでエクスポートする場合)
  • 有効にするには、OTEL_EBPF_METRICS_FEATURES 設定オプションに network オプションを追加します。

メトリクス属性

ネットワークメトリクスには、以下の属性でラベルが付けられます。

属性説明
obi.ip / obi_ipメトリクスを出力した OBI インスタンスのローカル IP アドレス
direction受信トラフィックは ingress、送信トラフィックは egress
ifaceネットワークインターフェイス名
src.address送信元 IP アドレス(エグレスはローカル、イングレスはリモート)
src.port送信元ポート(エグレスはローカル、イングレスはリモート)
src.name送信元サービス名(サービスディスカバリーで解決)
service.name計装済みエンドポイントに関連付けられたローカルサービス名
service.namespace計装済みエンドポイントに関連付けられたローカルサービス名前空間
src.cidr送信元 CIDR(設定済みの場合)
dst.address宛先 IP アドレス(エグレスはリモート、イングレスはローカル)
dst.port宛先ポート(エグレスはリモート、イングレスはローカル)
dst.name宛先サービス名(サービスディスカバリーで解決)
service.peer.name宛先エンドポイントに関連付けられたリモートピアサービス名
service.peer.namespace宛先エンドポイントに関連付けられたリモートピアサービス名前空間
dst.cidr宛先 CIDR(設定済みの場合)
transportトランスポートプロトコル: tcpudp
k8s.src.namespace / k8s_src_namespace送信元名前空間名
k8s.src.name / k8s_src_name送信元 Pod 名
k8s.src.type / k8s_src_type送信元ワークロードタイプ: podreplicasetdeploymentstatefulsetdaemonsetjobcronjobnode
k8s.src.owner.name / k8s_src_owner_name送信元ワークロードオーナー名
k8s.src.owner.type / k8s_src_owner_type送信元ワークロードオーナータイプ: replicasetdeploymentstatefulsetdaemonsetjobcronjobnode
k8s.src.node.ip / k8s_src_node_ip送信元ノード IP アドレス
k8s.src.node.name / k8s_src_node_name送信元ノード名
k8s.dst.namespace / k8s_dst_namespace宛先名前空間名
k8s.dst.name / k8s_dst_name宛先 Pod 名
k8s.dst.type / k8s_dst_type宛先ワークロードタイプ: podreplicasetdeploymentstatefulsetdaemonsetjobcronjobnode
k8s.dst.owner.name / k8s_dst_owner_name宛先ワークロードオーナー名
k8s.dst.owner.type / k8s_dst_owner_type宛先ワークロードオーナータイプ: replicasetdeploymentstatefulsetdaemonsetjobcronjobnode
k8s.dst.node.ip / k8s_dst_node_ip宛先ノード IP アドレス
k8s.dst.node.name / k8s_dst_node_name宛先ノード名
k8s.cluster.name / k8s_cluster_nameKubernetes クラスター名。OBI は Google Cloud、Microsoft Azure、Amazon Web Services 上で自動検出できます。その他のプロバイダーの場合は、OTEL_EBPF_KUBE_CLUSTER_NAME プロパティを設定します。

メトリクスの削減

高カーディナリティ削減のために、ネットワークメトリクスは、メトリクスバックエンドへ送信されるメトリクス数を減らすようにプロセスレベルで事前集約されます。

デフォルトでは、すべてのメトリクスは以下の属性で集約されます。

  • direction
  • transport
  • src.address
  • dst.address
  • src.port
  • dst.port

OBI の設定で許可する属性を指定することで、その属性によってメトリクスを集約できます。

たとえば、ネットワークメトリクスをデフォルトの個別の Pod 名のかわりに、送信元と宛先の Kubernetes オーナーによって集約するには、以下の設定を使用します。

network:
  allowed_attributes:
    - k8s.src.owner.name
    - k8s.dst.owner.name
    - k8s.src.owner.type
    - k8s.dst.owner.type

次に、同等の Prometheus メトリクスは以下のようになります。

obi_network_flow_bytes:
  k8s_src_owner_name="frontend"
  k8s_src_owner_type="deployment"
  k8s_dst_owner_name="backend"
  k8s_dst_owner_type="deployment"

前述の例では、個別の Pod 名のかわりに、送信元と宛先の Kubernetes オーナー名とタイプによって obi.network.flow.bytes の値を集約します。

CIDR ベースのメトリクス

OBI を設定して、CIDR 範囲によってメトリクスをさらに分類することもできます。 これは、クラウドプロバイダーの IP 範囲や内部/外部トラフィックなど、特定のネットワーク範囲へのトラフィックを追跡するのに役立ちます。

network 内の cidrs YAML サブセクション(または OTEL_EBPF_NETWORK_CIDRS 環境変数)は、CIDR 範囲と対応する名前のリストを受け入れます。 たとえば、次のようになります。

network:
  cidrs:
    - cidr: 10.0.0.0/8
      name: 'cluster-internal'
    - cidr: 192.168.0.0/16
      name: 'private'
    - cidr: 172.16.0.0/12
      name: 'container-internal'

次に、同等の Prometheus メトリクスは以下のようになります。

obi_network_flow_bytes:
  src_cidr="cluster-internal"
  dst_cidr="private"

Measure traffic between Cloud availability zones

How to measure the network traffic between different Cloud availability zones

OBI network metrics quickstart

A quickstart guide to produce Network Metrics from OpenTelemetry eBPF Instrumentation

OBI Network Metrics configuration options

Learn about the configuration options available for OBI network metrics