はじめに
ネットワーク構成図をSplunkで作成して欲しいという要望があり、Network Diagram VizというAppを使ってみた話です。このNetwork Diagram Vizは、Splunkbaseから無償でダウンロード可能なAppです。
さっそく使ってみよう
Appのインストールは他Appとの違いは特に無いので割愛します。特に設定は無いので、入れるだけで大丈夫です。
[0] 必要なフィールドについて
ネットワークトポロジーを形成する上で必要なフィールドはfrom
フィールドとto
フィールドの2つです。from
やto
はsrc
フィールドやdest
フィールドなど送信元と宛先の情報を持つ何らかのフィールドを変換して使えば良いかと思います。from
フィールドとto
フィールドへの変換は必須なので、そこだけは注意しましょう。
[1] まずは適当に作ってみた
このAppに限らずですが、まずは適当に試行してみるのが良いかと思いますので、以下のテーブル構造を持つデータで検証しました。
from | to |
---|---|
Wi-Fi a1 | LAN Switch 1 |
Wi-Fi a2 | LAN Switch 1 |
Wi-Fi b1 | LAN Switch 2 |
Wi-Fi b2 | LAN Switch 2 |
LAN Switch 1 | Core Switch |
LAN Switch 2 | Core Switch |
Core Switch | Firewall |
Router | Firewall |
Internet | Router |
Firewall | DMZ Switch |
Windows Server | DMZ Switch |
Linux Server | DMZ Switch |
Database | DMZ Switch |
[2] ノードを整形してみた
見やすいネットワークトポロジーとは何でしょうか。私自身は、LAN(社内)からWAN(社外)へのノードが綺麗に並んでる状態だと思うので、そのようにやってみたいと思います。
・Hierarchy -> Hierarchy View をTrue
に変更
・Hierarchy -> Sort Method をHub Size
に変更
結果は次のとおり。さっきよりは見やすいけど、Wi-Fi a1
がトップに来て欲しい訳ではないんだよね…
[3] LANからWANに並び替えてみた
なんでWi-Fi a1
がトップに来たのだろう?と思ったのですが、単純にデータの並びでした。
from | to |
---|---|
Wi-Fi a1 | LAN Switch 1 |
・・・ | ・・・ |
Internet | Router |
・・・ | ・・・ |
今回のサンプルで最もWAN(社外)にあるのはInternet
なので、そのようにデータを整形します。
from | to |
---|---|
Internet | Router |
Wi-Fi a1 | LAN Switch 1 |
・・・ | ・・・ |
ノードのアイコンを変更してみた
ネットワーク構成図は先ほどの内容とし、各ノードのアイコンを変更し、もう少し見やすいものにしてみたいと思います。その際に必要なのはtype
フィールドです。type
フィールドを追加すると以下のような結果になります。
このネットワーク構成図は先ほどのテーブル構造を以下のように変更しました。
from | to | type |
---|---|---|
Internet | Router | cloud |
Router | Firewall | network-wired |
Firewall | DMZ Switch | Firewall |
Wi-Fi a1 | LAN Switch 1 | wifi |
Wi-Fi a2 | LAN Switch 1 | wifi |
Wi-Fi b1 | LAN Switch 2 | wifi |
Wi-Fi b2 | LAN Switch 2 | wifi |
LAN Switch 1 | Core Switch | network-wired |
LAN Switch 2 | Core Switch | network-wired |
Core Switch | Firewall | network-wired |
DMZ Switch | network-wired | |
Windows Server | DMZ Switch | windows |
Linux Server | DMZ Switch | linux |
Database | DMZ Switch | database |
ポイントはtype
フィールドで指定したノードはfrom
フィールドのノードのアイコンとなります。今回のサンプルでは DMZ Switch がfrom
フィールドに登場していなかったので、to
フィールドを空欄として追加しています。
ノードの色を変更してみた
ネットワーク障害やトラフィック量が基準値より超過した際に、ネットワーク構成図を見て問題の箇所が特定できると嬉しいので、各ノードの色を変更できるようにしたいと思います。その際に必要なのはcolor
フィールドです。color
フィールドを追加すると以下のような結果になります。
このネットワーク構成図は先ほどのテーブル構造を以下のように変更しました。
from | to | type | color |
---|---|---|---|
Internet | Router | cloud | green |
Router | Firewall | network-wired | green |
Firewall | DMZ Switch | Firewall | green |
Wi-Fi a1 | LAN Switch 1 | wifi | green |
Wi-Fi a2 | LAN Switch 1 | wifi | green |
Wi-Fi b1 | LAN Switch 2 | wifi | yellow |
Wi-Fi b2 | LAN Switch 2 | wifi | red |
LAN Switch 1 | Core Switch | network-wired | green |
LAN Switch 2 | Core Switch | network-wired | green |
Core Switch | Firewall | network-wired | green |
DMZ Switch | network-wired | green | |
Windows Server | DMZ Switch | windows | red |
Linux Server | DMZ Switch | linux | green |
Database | DMZ Switch | database | green |
先ほどと同様にcolor
フィールドで指定したノードの色はfrom
フィールドを対象とします。すごく見やすくなったのですが、よくみるとFirewall
は文字が緑色になっているけどアイコンの色は変わっていません。app/network-diagram-viz/available_icons
を確認してみると、Available Iconsでcolorを変更できるものと、そうじゃないものがあるようです。
例えば、以下のようにアイコンを変更することでノードの色も変更できるようになります。
from | to | type | color |
---|---|---|---|
・・・ | ・・・ | ・・・ | ・・・ |
Firewall | DMZ Switch | shield-alt | green |
・・・ | ・・・ | ・・・ | ・・・ |
このあたりは好みによるかと思います。他にもリンク情報を追加するなども可能ですが、情報が多いとビジーに感じるかも知れません。
終わりに
如何でしたでしょうか。Network Diagram Vizを利用してネットワーク構成図を作成する場合、ネットワークログからネットワーク構成図を生成するより、lookupでトポロジーマップのデータを準備しておき、ステータス(障害、遅延など)を示す様な情報をログから抽出した方が良さそうですかね。しばらく運用してみて、良い方法が見つかれば情報更新します。
追記
Network Diagram VizのAppを用いた記事として グラフ・ネットワークを Splunkで作る!(Qiita) や Splunkでメールの配送図を作ろう(IIJ Engineer Blog) という記事も見つけました。