アドバンスト ネットワーク監視とは

アドバンスト ネットワーク監視は、アドバンスト コンテナー ネットワークサービス スイートの最初の機能です。 これまでにないレベルの監視と診断のツールがそろっているため、コンテナー化ワークロードに対する比類のない可視化が実現します。 これらのツールを使用すると、ネットワークの問題を簡単に特定してトラブルシューティングできるので、アプリケーションの最適なパフォーマンスを確実に維持できます。

アドバンスト ネットワーク監視は、すべての Linux ワークロードに対応しており、基になるデータ プレーンが Cilium か非 Cilium かを問わず (両方ともサポートされます) Hubble とシームレスに統合されるので、コンテナー ネットワークのニーズを柔軟に満たすことができます。

アドバンスト ネットワーク監視の図。

Note

Cilium データ プレーンのシナリオでは、アドバンスト ネットワーク監視は Kubernetes バージョン 1.29 以降で利用できます。 非 Cilium データ プレーンのシナリオでは、アドバンスト ネットワーク監視は Azure Linux を含むすべての Linux ディストリビューションでバージョン 2.0 からサポートされます。

アドバンスト ネットワーク監視の機能

アドバンスト ネットワーク監視は、クラスター内のネットワーク関連の問題を監視するための次の機能を備えています。

  • ノードレベルのメトリック: 最適なアプリケーション パフォーマンスを維持するには、ノードレベルでのコンテナー ネットワークの正常性を理解することが重要です。 これらのメトリックからは、トラフィック量、ドロップされたパケット、接続の数などの分析情報がノード別に得られます。 このメトリックは Prometheus 形式で保存されるため、Grafana で見ることができます。

  • Hubble メトリック (DNS とポッドレベルのメトリック): これらの Prometheus メトリックにはソースと宛先のポッド情報が含まれているため、ネットワーク関連の問題を細分化したレベルで特定できます。 メトリックは、トラフィック量、ドロップされたパケット、TCP リセット、L4/L7 パケット フローなどの数を表します。DNS メトリックもあり (現在は非 Cilium データ プレーンのみ)、DNS エラーと、応答のない DNS 要求の数を表します。

  • Hubble フロー ログ: フロー ログを使用すると、クラスターのネットワーク アクティビティを詳細に可視化できます。 ポッドとの間のすべての通信がログに記録されるので、接続の問題を時系列で調査できます。 フロー ログを利用して解決できる疑問としては、「サーバーはクライアントの要求を受け取ったか?」、 「クライアントの要求からサーバーの応答までのラウンドトリップ待ち時間はどれくらいか?」などがあります。

    • Hubble CLI: Hubble コマンド ライン インターフェイス (CLI) では、クラスター全体からフロー ログを取得でき、フィルター処理と書式設定のカスタマイズも可能です。

    • Hubble UI: Hubble UI は、クラスター ネットワーク アクティビティを探索するためのユーザー フレンドリなブラウザーベースのインターフェイスです。 フロー ログに基づいてサービス接続グラフを作成することや、選択した名前空間のフロー ログを表示することができます。 Hubble UI の実行に必要なインフラストラクチャのプロビジョニングと管理を行うのはユーザーの責任です。

アドバンスト ネットワーク監視の主な利点

  • CNI を問わない: Azure CNI のすべてのバリアントでサポートされ、これには kubenet も含まれます。

  • Cilium と非 Cilium: Cilium と非 Cilium のどちらのデータ プレーンでもシームレスなエクスペリエンスは同じです。

  • eBPF ベースのネットワーク監視: パフォーマンスとスケーラビリティに優れた eBPF (extended Berkeley Packet Filter) を活用して、潜在的なボトルネックや輻輳の問題がアプリケーションのパフォーマンスに影響を与える前にこれらを特定します。 ネットワーク正常性に関する主要インジケーター、たとえばトラフィック量、ドロップされたパケット、接続情報などについての分析情報が得られます。

  • ネットワーク アクティビティの詳細な可視化: アプリケーションどうしがどのように通信しているかを、詳細なネットワーク フロー ログを通じて理解できます。

  • メトリック保存と視覚化に関するシンプルな選択肢: 次のいずれかを選択できます。

    • Azure Managed Prometheus と Grafana: Azure がインフラストラクチャとメンテナンスを管理するので、ユーザーはメトリックの構成とメトリックの視覚化に集中できます。
    • Bring Your Own (BYO) Prometheus と Grafana: ユーザーが自分のインスタンスをデプロイして構成し、基になるインフラストラクチャを管理します。

メトリック

ノードレベルのメトリック

次のメトリックがノードごとに集計されます。 すべてのメトリックに次のラベルがあります。

  • cluster
  • instance (ノード名)

非 Cilium データ プレーンのシナリオでは、アドバンスト ネットワーク監視によって Linux と Windows の両方のオペレーティング システムのメトリックが提供されます。 次の表に、生成されるさまざまなメトリックの概要を示します。

メトリックの名前 説明 追加のラベル Linux Windows
networkobservability_forward_count 転送されたパケット数の合計 direction
networkobservability_forward_bytes 転送されたバイト数の合計 direction
networkobservability_drop_count 破棄されたパケット数の合計 directionreason
networkobservability_drop_bytes 破棄されたバイト数の合計 directionreason
networkobservability_tcp_state TCP 現在アクティブなソケット数 (TCP 状態別)。 state
networkobservability_tcp_connection_remote TCP 現在アクティブなソケット数 (リモート IP/ポート別)。 address (IP)、port
networkobservability_tcp_connection_stats VPN 接続統計情報。 (例: 遅延 ACK、TCPKeepAlive、TCPSackFailures) statistic
networkobservability_tcp_flag_counters フラグ別の TCP パケット数。 flag
networkobservability_ip_connection_stats IP 接続統計情報 。 statistic
networkobservability_udp_connection_stats UDP 接続統計情報 statistic
networkobservability_udp_active_sockets UDP 現在アクティブなソケット数
networkobservability_interface_stats インターフェイス統計。 InterfaceName、statistic

ポッドレベルのメトリック (Hubble メトリック)

次のメトリックはポッドごとに集計されます (ノード情報は保持されます)。 すべてのメトリックに次のラベルがあります。

  • cluster
  • instance (ノード名)
  • source または destination

発信トラフィックの場合は、ソース ポッドの名前空間/名前を表す source ラベルがあります。 着信トラフィックの場合は、宛先ポッドの名前空間/名前を表す destination ラベルがあります。

メトリックの名前 説明 追加のラベル Linux Windows
hubble_dns_queries_total クエリ別の DNS 要求総数 source または destinationqueryqtypes (クエリの種類)
hubble_dns_responses_total クエリ/応答別の DNS 応答総数 source または destinationqueryqtypes (クエリの種類)、rcode (リターン コード)、ips_returned (IP の数)
hubble_drop_total 破棄されたパケット数の合計 source または destinationprotocolreason
hubble_tcp_flags_total フラグ別の TCP パケット総数。 source または destinationflag
hubble_flows_processed_total 処理されたネットワーク フローの総数 (L4/L7 トラフィック) source または destinationprotocolverdicttypesubtype

制限事項

  • ポッドレベルのメトリックを利用できるのは Linux 上のみです。
  • Cilium データ プレーンがサポートされるのは Kubernetes バージョン 1.29 以降です。
  • メトリックのラベルは、Cilium クラスターと非 Cilium クラスターとでわずかに異なる場合があります。
  • Cilium データ プレーンでは、現時点では DNS メトリックはサポートされていません。

スケール

Azure が管理する Prometheus と Grafana では、サービス固有のスケールの制限があります。 詳細については、「Azure Monitor で大規模に Prometheus メトリックをスクレイピングする」を参照してください

次のステップ