【技術コラム】広範囲なネットワーク管理と大規模ログ処理


現代社会では、データ分析が私たちの生活に与える影響は、すでにさまざまな場面で見られるようになっています。N-Partnerの技術開発もまたデータ分析を中核領域としており、IT運用業務の高度化・効率化に向けたニーズに応用しています。
以下では、IT運用に必要となる主要な3種類のデータである SNMP、Flow、Syslog について、その技術的な仕組みと役割を簡単に説明します。

SNMPプロトコルの主な用途は、機器のヘルスステータス(CPU、メモリ、温度、ファン、インターフェースのUp/Downなど)を監視することです。
ITサービスを安定して稼働させるためには、ネットワーク上に配置されたすべての機器が正常な状態を維持し、問題なく動作していることが重要です。
SNMPプロトコルを通じて機器のハードウェア稼働情報を収集する目的は、異常が発生している機器を検知し、管理者に速やかな復旧対応を促すことで、ITサービス品質への影響を未然に抑えることにあります。

Flow はネットワークトラフィックに関する情報を記録するための技術です。例えば、あるクライアント IP が送信したパケット数や通信量(Bytes)、あるサーバーが受け付けたセッション数や応答したパケット数・通信量、あるアプリケーション(例:TCP Port 80)が使用した帯域幅などを把握できます。
Flow 情報を分析することで、ネットワーク利用状況やトラフィック量の増減を把握し、利用実態を可視化できます。Flow 情報は通常、ルーターやコアスイッチなどのネットワーク機器、あるいはファイアウォールなどのセキュリティ機器から出力されます。また、トラフィック分析は、近年深刻化する DDoS 攻撃への対策としても有効な技術です。

Flowデータに含まれるIP、Packet、Byte、Interface、TCP Flagなどの重要情報

図1:Flow には IP アドレス、Packet、Byte、Interface、TCP Flag などの重要な情報が含まれます。

セキュリティ意識の高まりに伴い、多くのネットワーク環境ではセキュリティ対策機器やネットワーク利用制御を導入し、パケットのアプリケーション層(Layer 7)の内容を検査・制御するようになっています。現在では、多くのネットワーク機器やセキュリティ機器、OS が Syslog プロトコルによるログ出力に対応しています。これにより、管理者は P2P 通信、メッセージングアプリの利用状況、アクセス先 Web サイトなどのネットワーク利用状況や、各種セキュリティイベントを分析・把握できます。
Syslog が扱う情報は、OSI参照モデルにおけるレイヤー7(アプリケーション層)の情報が中心となります。一方で、ベンダーごとに Syslog のログフォーマットは異なるため、ログ受信プラットフォームには、それぞれのログを正しく解析し、正規化(Normalization)を行う機能が求められます。これにより、後続の分析処理を効率的に実施できるようになります。

生ログを正規化し、読みやすい形式で統計・分析に活用できる状態を示した図

図2:ログの正規化により、効率的な分析・集計を実現

SNMP・Flow・Syslogを相関分析し、ユーザーの通信行動を一画面で把握できる画面

図3:SNMP/Flow/Syslog の相関分析により、利用状況を統合的に可視化

ここまで紹介したように、インテリジェントなデータ分析は IT 運用業務に大きな価値をもたらします。
一方で、このような膨大なデータを効率的に処理することは容易ではありません。さらに、Flow と Syslog はデータ構造が異なるため、データ受信(Receive)、分類(Classify)、タグ付け(Tagging)、保存(Store)、検索(Search)、読込み(Read)、統計(Statistics)、AI 分析(AI Analysis)、アラート(Alert)、レポート(Reporting)、監査(Audit)といった一連の処理を効率よく実現するには、新しいアーキテクチャ設計が不可欠です。

以下では、N-Partner の開発チームが実現した高性能なビッグデータ処理アーキテクチャについて、データ処理フローを用いて説明します。Syslog と Flow のデータは受信後、まずメモリ上で正規化(Normalization)を実施します。その後、5 Tuple に基づく相関分析(Correlation)を行い、タグ付け(Tagging)を実施したうえで、ファイル形式でストレージへ保存され、後続の検索や統計処理に利用されます。

Big data processing workflow integrating Syslog, Flow and SNMP data with real-time normalization, correlation, tagging and storage

図4:ビッグデータ処理フロー

高速な検索性能を実現するため、N-Partner の開発チームは従来のリレーショナルデータベース(SQL)ではなく、NoSQL を採用したデータストレージアーキテクチャを採用しています。NoSQL には、複数条件による検索でも高速に応答できること、水平スケーリングに対応できること、さらにリレーショナルデータベースのスキーマ構造に制約されないことなどの特長があります。そのため、SQL よりも非構造化ビッグデータの保存・検索・分析基盤として適しています。
保存したデータを迅速かつ正確に検索するためには、適切なタグ付けが重要になります。このデータ処理の流れは、レストランの調理工程に例えることができます。料理を素早く提供するためには、あらかじめ食材を下ごしらえしておき、注文内容に応じて効率よく仕上げます。
以下の対応表をご参照ください。

ビッグデータ処理フローをレストランの調理・配膳工程に例え、正規化、相関分析、タグ付け、検索・レポートまでの流れを示した図