大規模ネットワークにおける障害可視化のためのアーキテクチャについて

概要

私たちの部署では、西日本地域における“The Internet”を支える大規模なWAN設備の運用保守を24時間365日行っています。30府県で提供するWAN回線は、設計構築に協力会社も含めて数万人レベルにも及ぶメンバーにより日々構築されており、現在、約11万台の装置により構成されています。コロナ禍を通してリモートワークが普及したことや、昨年度、数百万人の規模でインターネットが使えなくなるという大規模なネットワーク障害が相次いだことから、改めて重要インフラとしてのインターネットとそれを支えるNW設備の運用保守の重要性が社会的に認識されています。

ネットワーク障害が発生した際、我々オペレーターにとってネットワークの構成図とアラームなどの障害情報を紐づけて可視化し、障害の全容を把握することが迅速な障害復旧のために重要になってきます。しかし、大規模かつ成長し続けるネットワークにおいて、実用的なレベルで可視化を行うには 課題がいくつかありました。

可視化にはまず、稼働中のNWの装置・接続情報の確保が必要です。NW設計時の管理情報がデータベースになっていて参照できたり、LLDPなどを介して稼働している装置から簡単に情報収集を行える運用現場も多いかと思いますが、多様なステークホルダーの存在や、マルチベンダかつライフサイクルの長い機器を使用しているなどの理由から、別のアプローチでの解決を考えざるを得ませんでした。運用で用いる情報源は「信頼できる単一情報源(Single Source of Truth)」とすることが理想とされていますが、私たちの運用現場ではSSoTな装置・接続情報を確保維持することが難しくなっています。

次に、NW構成図の描画処理の重さと煩雑さが挙げられます。大規模NWにおいては、障害時に関連する装置も多く数百台となることがあります。このためデータベースから読み出し付加情報を付与し、cytoscape等の描画ライブラリのオブジェクト形式に整形するといった基本的な描画処理だけでも計算時間が数分以上かかってしまうことがあります。加えて「マルチパス構成で特定のルータ間の経路候補を調べて描画」といった経路計算を含む処理は計算オーダーがべき乗・階乗となるためより膨大な計算時間となってしまいます。また、数百台の装置を一般的なforce layoutなどで並べても煩雑で視認性に乏しくなってしまいます。更に、NW障害の分析にはアラーム・トラフィックカウンタ・ping試験結果など、様々な調査オペレーションの結果を構成図の上にマッピングする形で可視化し、俯瞰的に分析することが必要なケースが多いかと思いますが、対象が100台を超えるような場合には, 調査自体に時間がかかるほか, 単にマッピングしても煩雑になり過ぎてしまいます。

私たちは実際の運用環境で上記のような課題解決に向け試行錯誤しており、本発表では、主に下記の3点のアプローチを試してみた結果から、大規模NWの障害分析において実運用に資するレベルの可視化を行うためのアーキテクチャと技術スタックを紹介します。

  • 稼働中の装置に対し複数の規格(プロトコル)から機種にあった規格で構成情報を取得し、管理情報などと照合することで信頼できるDBを生成・維持するデータパイプラインを作成しました
  • NWデータを、Relational DB、Graph DB、pickle化したnetworkxオブジェクトといった複数のデータモデルで保持し組み合わせることで描画処理・経路計算をを高速柔軟化に行えるようにしました。また余裕ができた計算リソースでレイアウトを工夫し, 視認性の高い構成可視化を行いました。今回は, 私たちのNWの特性に合わせた, 装置階梯の反映及び複数装置を集約して視認性を高めたレイアウトを紹介します
  • ワークフローエンジン(Airflow)と生のpythonコードを組み合わせることで、逐次処理が必要なオペレーションを省くことなく並列化し調査時間を短縮し、また機械学習で用いられる実験管理モデル(MLflow Tracking)を用い、複数の形式の調査(実験)結果データを観点を切り替えながら分析し絞り込んだデータを構成図にマッピングすることでより迅速に障害分析を行うのに適した可視化を試みました

これらの課題感とアプローチは、特に大規模なNWの特性に対応するものですが、一部でも当てはまるNWの運用現場は多いのではないかと思います。

ネットワーク可視化における課題感について次のような議論を実施することにより、「The Internet の技術・運用・未来」に貢献したいと考えています。

  • 可視化のベースとなる, 信頼できる装置・接続情報(Single Source of Truth)をどのように維持しているか
  • 可視化のスケール(装置台数)はどの程度か, レスポンス・視認性に関する課題感はどのようなものか
  • どのような情報を構成図と関連付けて可視化したいかなどの大規模ネットワークにおける運用上のノウハウ
  • ネットワーク可視化を実現するアーキテクチャと技術スタック
  • 紹介した技術スタック(cytoscape, neo4j, networkx, airflow, Mlflowなど)に関するメリット/デメリットなどの可視化技術に関するノウハウ

場所

MCデジタル・リアルティ room(301-303)

日時

Day2 2024年1月18日(木) 15:00~15:45(45分)

発表者

佐藤 亮介
株式会社NTTフィールドテクノ
野中 健吾
株式会社NTTフィールドテクノ
森野 雄也
株式会社NTTフィールドテクノ
榊原 寛紀
株式会社NTTフィールドテクノ

公開資料

【発表資料】大規模ネットワークにおける障害可視化のためのアーキテクチャについて

プログラム紹介

Slackチャンネル

会期中や会期終了後の議論にお使いください
#janog53-大規模ネットワークにおける障害可視化のためのアーキテクチャについて

アーカイブ配信

アーカイブ配信は2024年2月29日(木) 13:00をもって公開終了しました。

\このページをシェアする/
translate »