ThousandEyes で NW 装置 monitoring を Free Try
はじめに
やること
ShowNet 2018 で「ネットワーク可視化 SaaS」として使われていた ThousandEyes を試用します(Free Try で)。
見る機能は「SNMP 対応 NW 装置から情報収集してインターネット経由で SaaS 環境に投げ込む probe 的な Enterprise Agents
を動かして様子を見る(Devices
機能)」部分に絞ります。ザッと公式ページを見た感じ、本機能はオマケっぽいですが。
こんなんが見えるところまで。
構成概要・環境情報
以下の通りです。
今回物理装置や KVM+GNS3
部分の構築には触れません。Enterprise Agents
は ESXi
とかベアメタルサーバとか Docker
とかでも動くので、そこの動かし方はやりやすいようにやれば良かろうかと。
Cisco IOS XE
や Juniper NFX
上の専用コンテナとかもあるみたいですが、今回弄ってないです。
参考資料
- ThousandEyes 公式
- top
Try It Free
というボタンがデカデカとあるので、ありがたく使わせて頂く
- Pricing
- 今回試用するフリー版で出来ること、課金すると出来ること、が並んでいる
Devices
機能観点では、課金することでカスタム MIB を使ってより多くの情報を収集可能になりそう
- Knowledge Base
- マニュアル
- top
- その他紹介記事など
- Interop Tokyo 2018 公式 / ShowNet 今年のみどころ
- 「Best of ShowNet Award 受賞結果」に「サウザンドアイズ:ネットワーク可視化 SaaS」というのが載っている
- Geekなページ / ShowNet 2018モニタリング
- 「ネットワーク品質監視/経路可視化を行うThousandEyes」としてスライドの抜粋が載っている
- Interop Tokyo 2018 公式 / ShowNet 今年のみどころ
動かす
環境準備
ThousandEye Free Try 登録
まずは ThousandEyes 公式 で Try It Free
を押して、ユーザ登録します。2018/06/17
現在、個人ユーザ + Web メールでも弾かれたりせず。
メールが来るので、レジスター用のリンクから本登録しておわり。
公式ページ上の Login
リンクからダッシュボードに飛べます。
ThousandEye Enterprise Agents 取得 ~ GNS3にインポートして起動 ~ 初期設定
probe として動く Enterprise Agents
のイメージは、ダッシュボードで SETTINGS
-> Agents
-> Enterprise Agents
と進めばダウンロードできます。
今回は Virtual Appliance
を選択して OVA
を頂いてきました。
ダウンロードした ova ファイルを展開して、qcow2 に変換して KVM+GNS3
が動いている母艦に放り込みます。
$ ll thousandeyes-va-0.126.ova -rw-r--r-- 1 kotetsu kotetsu 965096448 Jun 16 23:43 thousandeyes-va-0.126.ova $ tar -xvf thousandeyes-va-0.126.ova thousandeyes-va-64-16.04.ovf thousandeyes-va-64-16.04-disk1.vmdk $ ll thousandeyes-va-* -rw-r--r-- 1 kotetsu kotetsu 965096448 Jun 16 23:43 thousandeyes-va-0.126.ova -rw-r--r-- 1 kotetsu kotetsu 965087744 May 10 05:23 thousandeyes-va-64-16.04-disk1.vmdk -rw-r--r-- 1 kotetsu kotetsu 6261 May 10 05:21 thousandeyes-va-64-16.04.ovf $ qemu-img convert -f vmdk -O qcow2 thousandeyes-va-64-16.04-disk1.vmdk thousandeyes-va-64-16.04.qcow2 $ file thousandeyes-va-* thousandeyes-va-0.126.ova: POSIX tar archive thousandeyes-va-64-16.04-disk1.vmdk: VMware4 disk image thousandeyes-va-64-16.04.ovf: XML 1.0 document, ASCII text, with very long lines thousandeyes-va-64-16.04.qcow2: QEMU QCOW Image (v3), 21474836480 bytes
ThousandEyes 公式 KB / How to set up the Virtual Appliance あたりと、ova に入っていた ovf の中身を参考に以下の感じで GNS3
にデプロイ。
以下、生情報。
$ ps -ef | grep [T]housand root 8862 5214 2 13:32 pts/12 00:10:10 /usr/bin/qemu-system-x86_64 -name ThousandEyes-va-64-16.04-1 -m 2048M -smp cpus=1 -enable-kvm -machine smm=off -boot order=c -drive file=/home/kotetsu/GNS3/projects/thousandeyes/project-files/qemu/2c910cdc-3d96-4de7-b8f5-42541188cd17/hda_disk.qcow2,if=ide,index=0,media=disk -uuid 2c910cdc-3d96-4de7-b8f5-42541188cd17 -serial telnet:127.0.0.1:5007,server,nowait -monitor tcp:127.0.0.1:41113,server,nowait -net none -device e1000,mac=0c:00:da:cd:17:00,netdev=gns3-0 -netdev socket,id=gns3-0,udp=127.0.0.1:10031,localaddr=127.0.0.1:10030 -nographic
ネットワークインターフェースは、The Internet に到達できるように適宜 GNS3
の Cloud
とかを使って繋いでおきます。
あとは、起動してコンソールを見ていると Enterprise Agents
の初期 URL (DHCPで得た IP アドレスに http で)と初期アカウント・パスワードが出るので、それに従って WebUI でアクセスします。
ポチポチして、ログインパスワードや Static IP アドレスや DNS サーバや NTP サーバや Default Gateway 情報や ssh ログイン用の公開鍵を設定します。
試していないですが、ssh で入って様子を見ると Ubuntu 16.04 なので、WebUI で出来ない細かい設定も可能かもです。
Enterprise Agents
がインターネット上の SaaS サービスに情報を送ることができていれば、ダッシュボードにこのエージェントが登場します。
SNMP + LLDP が動く NW 機器を GNS3 で動かす
何か適当にどうぞ(クソ雑)。
今回は以下の通り Arista の vEOS-lab
を 3 個並べておきました。
Enterprise Agents
が SNMP manager として情報を取得にくるので、そこの到達性を確保し、SNMP 設定はしておきます。あとは LLDP を動かしておくとトポロジ情報も出してくれるので、動かしておきます。
ダッシュボードで色々やる
Devices の登録
Enterprise Agents
から情報収集する対象(Devices
というらしい)の NW 装置を設定してみます。
まずは Device Credentials
として収集対象の SNMP Community
設定を登録して
Device Settings
にて Find New Devices
で対象の IP アドレスや先の Device Credentials
や、どの Enterprise Agents
を manager として使うか、を入力すると
以下のように登録されます。
情報収集対象の Interface を選択するときには Monitored Interfaces
設定のチェックボックスをポチポチと。
interval
は 5 minutes
から変えられないっぽいですね......。
Views で Device Layer を眺める
これで何となくそれっぽいのが出力されている筈なので、ダラダラと様子を見ていきます。
Topology として LLDP ベースで勝手にそれらしい絵が出来ています(今回は vEOS 側で管理インターフェースである Ma1
の LLDP を無効化してみた)。良いねー。
なお、上の時間軸を弄ることで特定時刻の Topology や Interface Metrics の様子を見ることができます。
Topology はノードを DD で動かすこともできます。
2 本接続して ECMP させているリンクは、こんな風にもなるし
ワンクリックでバラして見ることもできます。
今回、仮想環境だから Et
インターフェースの speed 値を取得できていなかったので、まともに動かせたのは Ma1
だけだったのですが、Highlighting
で「この時間帯に帯域の XX % 以上使っていたリンクを赤くする」ってのを出来ます。まあ、interval は 5 minutes なんですが......。
Interface Metric の様子...は、まあ単に標準 ifMib 見ているだけですね。無課金なので。
通知系設定
Devices
にできる設定としては以下があるようです。
Devices
->Notification Rules
- トリガ
- 対象
Devices
への到達性変化 (SNMP Get の失敗とか) - 対象
Devices
のインターフェースの増減
- 対象
- 通知方法
- メール
- 各種 Webhooks
- Slack や Hipchat など
- トリガ
Alerts
->Alert Rules
- トリガ
- インターフェースの以下が特定の条件・閾値を超えた時
- Throughput
- Error
- Discards
- Admin Status
- Operational Status
- インターフェースの以下が特定の条件・閾値を超えた時
- 通知方法は上のと一緒
- トリガ
標準 MIB ベースで SNMP Manager が拾えるトリガなので、このくらいでしょうねー。
以下設定例です。Topology の Highlighting 機能で赤くするやつだと「speed の X%」っていう設定しか出来ないのですが、こちらでは Mbps での設定も出来るようです。
検知を WebUI で参照した例
で、View の Device Layer でも Alert は時系列でオレンジ色で出してくれています。
おしまい
以下ダラダラtp所感です。
- WebUI は綺麗だしサクサク (この規模だと)
- 1000台単位で
Devices
を長期間動かした時の様子を見てみたい- Topology が一体どうなってしまうのか
- インターフェース数はどこまで拾えるのか
- 中身は rrd 的な動作してるのか・データの持ち方どうなっているのか(SaaS側?)
- 5 minutes interval 固定だとすると、「メンテナンス時や障害時に設計通りにトラフィックが切り替わったかのリアルタイム/事後確認」用途には使いづらいかも (バースト検知とかは言うまでもなく...)
- LLDP の自動描画系のは割と聞くけど、良い
- 静的に描画するものでも描画設定ファイルを自動生成すれば良かろう、だけど面倒くさいことはしたくない
- Network Weathermap とかで手をかけて人間が分かりやすいものをちゃんと作ってやるか、こういうので手抜きしてそれなりにやるか、ってのは情報量とか用途次第かな...
- 適用対象によっては 「SaaS 型である」という一点で一発アウトなやつかも
- 無課金の
Devices
機能は「標準 MIB の SNMP で出来ること」が限度なので、こんなもんでしょうなー- 多分今回見ていない RIPE Atlas みたいな機能がメインなんだと思う
- でもオマケにしてはよく出来ていた