SlideShare a Scribd company logo
© BIGLOBE Inc. 2017
お⼿軽!
BGP RIBのリアルタイム解析+可視化
BIGLOBE Inc.
Toshiya Mabuchi
1
© BIGLOBE Inc. 2017
© BIGLOBE Inc. 20172
⾃⼰紹介
● 名前 : ⾺淵 俊弥 (Mabuchi Toshiya)
● 所属 : ビッグローブ株式会社
● お仕事 :
● ISPバックボーンネットワークの全般
● 設計/開発/検証/運⽤/顧客サポート
● 最近は⾃動化/可視化回りに注⼒中!
© BIGLOBE Inc. 20173
ASの経路監視ってどうしてます?
© BIGLOBE Inc. 20174
監視したい理由
● 運⽤⾯
● 障害時の原因究明
● 顧客の経路変動/正常性
● 主要なPeerの経路変動
● Peerしてるのに上流から

流れてないか
● 遅延の⼤きいPeerを

選択してないか?
● マネジメント⾯
● 上流トランジットへの

経路依存率の把握
● ⼿軽に⾒れるようにして

Peering交渉に役⽴てる
● すぐに出せるグラフがあると

KPIにも役⽴つ
● 上流トランジットの選定/

更改時に使う為のデータ
© BIGLOBE Inc. 20175
経路情報を⾒るのは運⽤の時だけじゃない
トランジット依存率の指標など

コストマネジメントの⽬的でも使いたい
© BIGLOBE Inc. 20176
いままで経路記録としてやっていたこと
● Quagga + MRT Dump + libBGPdump
● データとしては記録できている
● 時間毎にファイル分割して保存している
● ⽂字でしか読めないので、

時系列で何が起きているか⾒るのがつらい
● いつも⾒るのにはちょっと厳しい
● かなりの障害が発⽣した時くらいしか⾒ない
© BIGLOBE Inc. 20177
こういう感じ経路情報のログを⾒てた
>	bgpdump	dump2015.11.27.1000	
TIME:	11/27/15	01:00:00	
TYPE:	TABLE_DUMP_V2/IPV4_UNICAST	
PREFIX:	1.0.0.0/24	
SEQUENCE:	0	
FROM:	133.205.1.155	AS2518	
ORIGINATED:	07/13/70	11:03:57	
ORIGIN:	IGP	
ASPATH:	2518	15169	
NEXT_HOP:	133.205.1.155	
MULTI_EXIT_DISC:	100	
TIME:	11/27/15	01:00:00	
TYPE:	TABLE_DUMP_V2/IPV4_UNICAST	
PREFIX:	1.0.0.0/24	
SEQUENCE:	0	
FROM:	133.205.1.142	AS2518	
ORIGINATED:	07/13/70	11:03:37
© BIGLOBE Inc. 20178
新しい経路をモニタリングするものがほしい
● 要件!
● グラフとして表⽰できる
● リアルタイム性がある
● 他の情報(トラフィック等)と⼀元的に

⾒る⽅法がある
● そんなに難しいことしたくない
© BIGLOBE Inc. 20179
BMP
● BGP Monitoring Protocol
● BGPのUPDATE情報等をモニタリングできるプロトコル
● これを使わない⼿は無い!

● ・・・しかし!!!
● 商⽤ルーターのバージョンで⼀部⾮対応

→ すぐには使えない
© BIGLOBE Inc. 201710
回避策
● iBGPで経路を収集する
● 経路収集⽤にGoBGPを⽴てる
● GoBGPとルータをiBGPで繋ぐ
● GoBGPからBMP Serverに送信
ルータ単位で発⽣する経路変動は収集できる!
© BIGLOBE Inc. 201711
iBGPで経路を収集
Core Core
gateway gateway
gateway gateway
GoBGP
BMP
Server
iBGP
iBGP
iBGP
iBGP
BMP
pre-policy
© BIGLOBE Inc. 201712
BMP Server
● SNAS 

http://www.snas.io/
● 経路情報モニタリングのフレームワーク
● OpenBMP + Kafka + MySQL + WebUI で構成
● 経路⽤モニタリングのWebUIが付いている
● APIも豊富でデータを加⼯して使いやすい
● Docker containerで構築が簡単
Streaming Network Analytics System
© BIGLOBE Inc. 201713
SNAS UI
© BIGLOBE Inc. 201714
SNAS UI
© BIGLOBE Inc. 201715
SNAS UI
© BIGLOBE Inc. 201716
SNAS UI
© BIGLOBE Inc. 201717
SNAS
今までに⽐べたらかなり分かりやすい!
© BIGLOBE Inc. 201718
(再掲)監視したい理由
● 運⽤⾯
● 障害時の原因究明
● 顧客の経路変動/正常性
● 主要なPeerの経路変動
● Peerしてるのに上流から

流れてないか
● 遅延の⼤きいPeerを

選択してないか?
● トラフィック + 経路変動

⼀緒に⾒たい
● ⼀緒に⾒れば分かる原因もある
●マネジメント⾯
● 上流トランジットへの

経路依存率の把握
● ⼿軽に⾒れるようにして

Peering交渉に役⽴てる
● すぐに出せるグラフがあると

KPI⽴てるのとかにも役⽴つ
● 上流トランジットの選定/

更改時に使う為のデータ
● いつでも出せるようにしたい
© BIGLOBE Inc. 201718
(再掲)監視したい理由
● 運⽤⾯
● 障害時の原因究明
● 顧客の経路変動/正常性
● 主要なPeerの経路変動
● Peerしてるのに上流から

流れてないか
● 遅延の⼤きいPeerを

選択してないか?
● トラフィック + 経路変動

⼀緒に⾒たい
● ⼀緒に⾒れば分かる原因もある
●マネジメント⾯
● 上流トランジットへの

経路依存率の把握
● ⼿軽に⾒れるようにして

Peering交渉に役⽴てる
● すぐに出せるグラフがあると

KPI⽴てるのとかにも役⽴つ
● 上流トランジットの選定/

更改時に使う為のデータ
● いつでも出せるようにしたい
⾃社特有の観点が⼊ると、

標準のWebUIでは⾒にくい場合もある
定常的に⾒るデータだけをAPIで取得

Influxdb + Grafanaで可視化
© BIGLOBE Inc. 201719
最終的な構成
Core Core
gateway gateway
gateway gateway
GoBGP
Open
BMP
iBGP
iBGP
iBGP
iBGP
データ整形
Influxdb
Grafana
© BIGLOBE Inc. 201720
作った経路監視⽤のDashboard
© BIGLOBE Inc. 201721
作った経路監視⽤のDashboard
上流トランジット依存率
特定ピアの状態監視
Update/Withdrawn発⽣数 上流トランジット経路監視
顧客経路の状態監視
Update/Withdrawn詳細
© BIGLOBE Inc. 201722
複数ピアをしているAS**の合計トラフィック
経路の選択割合の遷移監視
作った経路監視⽤のDashboard
© BIGLOBE Inc. 201723
良かった点と改善点
● 良かった点
● 注視すべき経路情報に絞って監視できた
● Traffic/Error等,他情報と合わせて確認できるようになった
● 実装したのはDB間のデータ送受信部だけ
● ⾮常に少ない⼿間で実装可能
● 改善点
● 各ルータ毎のBestPathしか⾒れない
● BGP ADD-PATHを使ってGoBGPと各ルータを繋ぐ
● (GoBGP中の⼈)「 BGP ADD-PATH実装したよ!」
● BMPを直接使う
© BIGLOBE Inc. 201724
まとめ
● 経路状態は運⽤以外にも使える
● Peering/KPI
● 経路監視をGoBGP+openBMP+Influxdbへ
● 経路収集はiBGP
● SNAS (OpenBMP)
● ⾃分でUI作らなくても、⼗分なWebUIがある
● 注視すべき情報のみREST APIでInfluxdbに投⼊
● Grafanaで他のデータと⼀元的に可視化ができた

More Related Content

What's hot

Couchbase CM 20150407
Couchbase CM 20150407Couchbase CM 20150407
Couchbase CM 20150407
Couchbase Japan KK
 
20130118 movable type_seminar
20130118 movable type_seminar20130118 movable type_seminar
20130118 movable type_seminarSix Apart
 
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014taiju higashi
 
安く・速く・安定したウェブを作る方法
安く・速く・安定したウェブを作る方法安く・速く・安定したウェブを作る方法
安く・速く・安定したウェブを作る方法
Kei Mikage
 
MTDDC Meetup NAGOYA 2014 Keynote
MTDDC Meetup NAGOYA 2014 KeynoteMTDDC Meetup NAGOYA 2014 Keynote
MTDDC Meetup NAGOYA 2014 Keynote
Daiji Hirata
 
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
kintone papers
 
20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento
Hirokazu Nishi
 
ServiceWorkerでつくるWebの未来
ServiceWorkerでつくるWebの未来ServiceWorkerでつくるWebの未来
ServiceWorkerでつくるWebの未来
Yoshiki Kobayashi
 
Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法
Hajime Fujimoto
 
Deploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipelineDeploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipeline
bitbank, Inc. Tokyo, Japan
 
Introduction of bitbank frontend development environment
Introduction of bitbank frontend development environmentIntroduction of bitbank frontend development environment
Introduction of bitbank frontend development environment
bitbank, Inc. Tokyo, Japan
 
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
Joni
 
Lightning Network, Swap, Nloop
Lightning Network, Swap, NloopLightning Network, Swap, Nloop
Lightning Network, Swap, Nloop
bitbank, Inc. Tokyo, Japan
 
中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計
bitbank, Inc. Tokyo, Japan
 
iOS対応のCIサービス「Bitrise」を使ってみた
iOS対応のCIサービス「Bitrise」を使ってみたiOS対応のCIサービス「Bitrise」を使ってみた
iOS対応のCIサービス「Bitrise」を使ってみた
Kosuke Ogawa
 
bitbankフロントエンド開発について
bitbankフロントエンド開発についてbitbankフロントエンド開発について
bitbankフロントエンド開発について
Kou Matsumoto
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
Takeshi Akutsu
 
Git hubenterpriseを導入してみて
Git hubenterpriseを導入してみてGit hubenterpriseを導入してみて
Git hubenterpriseを導入してみて
recotech
 
#recotech_WIZY開発の裏側
#recotech_WIZY開発の裏側#recotech_WIZY開発の裏側
#recotech_WIZY開発の裏側
recotech
 

What's hot (19)

Couchbase CM 20150407
Couchbase CM 20150407Couchbase CM 20150407
Couchbase CM 20150407
 
20130118 movable type_seminar
20130118 movable type_seminar20130118 movable type_seminar
20130118 movable type_seminar
 
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
 
安く・速く・安定したウェブを作る方法
安く・速く・安定したウェブを作る方法安く・速く・安定したウェブを作る方法
安く・速く・安定したウェブを作る方法
 
MTDDC Meetup NAGOYA 2014 Keynote
MTDDC Meetup NAGOYA 2014 KeynoteMTDDC Meetup NAGOYA 2014 Keynote
MTDDC Meetup NAGOYA 2014 Keynote
 
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
 
20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento
 
ServiceWorkerでつくるWebの未来
ServiceWorkerでつくるWebの未来ServiceWorkerでつくるWebの未来
ServiceWorkerでつくるWebの未来
 
Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法
 
Deploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipelineDeploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipeline
 
Introduction of bitbank frontend development environment
Introduction of bitbank frontend development environmentIntroduction of bitbank frontend development environment
Introduction of bitbank frontend development environment
 
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
 
Lightning Network, Swap, Nloop
Lightning Network, Swap, NloopLightning Network, Swap, Nloop
Lightning Network, Swap, Nloop
 
中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計
 
iOS対応のCIサービス「Bitrise」を使ってみた
iOS対応のCIサービス「Bitrise」を使ってみたiOS対応のCIサービス「Bitrise」を使ってみた
iOS対応のCIサービス「Bitrise」を使ってみた
 
bitbankフロントエンド開発について
bitbankフロントエンド開発についてbitbankフロントエンド開発について
bitbankフロントエンド開発について
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
 
Git hubenterpriseを導入してみて
Git hubenterpriseを導入してみてGit hubenterpriseを導入してみて
Git hubenterpriseを導入してみて
 
#recotech_WIZY開発の裏側
#recotech_WIZY開発の裏側#recotech_WIZY開発の裏側
#recotech_WIZY開発の裏側
 

Similar to お手軽!BGP RIBのリアルタイム解析+可視化

DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡
DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡
DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡
BIGLOBE Inc.
 
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
Taiji Tsuchiya
 
ISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるものISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるもの
Taiji Tsuchiya
 
BMP(BGP Monitoring Protocol)
BMP(BGP Monitoring Protocol)BMP(BGP Monitoring Protocol)
BMP(BGP Monitoring Protocol)
Shishio Tsuchiya
 
アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法
寛 水野
 
JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性
JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性
JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性
Taiji Tsuchiya
 
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例
Masahiro Kiura
 
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤
Google Cloud Platform - Japan
 
IIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについてIIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについて
techlog (Internet Initiative Japan Inc.)
 
AMPと広告とOpenRTBと #yjmu
AMPと広告とOpenRTBと #yjmuAMPと広告とOpenRTBと #yjmu
AMPと広告とOpenRTBと #yjmu
Yahoo!デベロッパーネットワーク
 
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
Eiji Kodama
 
Cloud Identity-Aware Proxy
Cloud Identity-Aware ProxyCloud Identity-Aware Proxy
Cloud Identity-Aware Proxy
Kumano Ryo
 
サイトオーナーが片手間で実践できる効果測定と改善メソッド
サイトオーナーが片手間で実践できる効果測定と改善メソッドサイトオーナーが片手間で実践できる効果測定と改善メソッド
サイトオーナーが片手間で実践できる効果測定と改善メソッド
Makoto Shimizu
 
吾輩はコンテンツ事業者である 楽天編
吾輩はコンテンツ事業者である 楽天編吾輩はコンテンツ事業者である 楽天編
吾輩はコンテンツ事業者である 楽天編
Rakuten Group, Inc.
 
"運用"におけるイノベーションを考える
"運用"におけるイノベーションを考える"運用"におけるイノベーションを考える
"運用"におけるイノベーションを考える
Taiji Tsuchiya
 
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
Kazuki Murahama
 
Text gen-and-gpt2
Text gen-and-gpt2Text gen-and-gpt2
Text gen-and-gpt2
Takatsugu Nokubi
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
Taiji Tsuchiya
 
2014-01-28 Operation in the future
2014-01-28 Operation in the future2014-01-28 Operation in the future
2014-01-28 Operation in the future
Operation Lab, LLC.
 
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!デベロッパーネットワーク
 

Similar to お手軽!BGP RIBのリアルタイム解析+可視化 (20)

DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡
DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡
DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡
 
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
ルータコンフィグのGit管理のススメ 〜Git管理以外を自動化してみた〜
 
ISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるものISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるもの
 
BMP(BGP Monitoring Protocol)
BMP(BGP Monitoring Protocol)BMP(BGP Monitoring Protocol)
BMP(BGP Monitoring Protocol)
 
アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法
 
JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性
JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性
JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性
 
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例
 
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤
 
IIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについてIIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについて
 
AMPと広告とOpenRTBと #yjmu
AMPと広告とOpenRTBと #yjmuAMPと広告とOpenRTBと #yjmu
AMPと広告とOpenRTBと #yjmu
 
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
スマホ向けWebアプリ開発で使えるフロントエンド高速化手法
 
Cloud Identity-Aware Proxy
Cloud Identity-Aware ProxyCloud Identity-Aware Proxy
Cloud Identity-Aware Proxy
 
サイトオーナーが片手間で実践できる効果測定と改善メソッド
サイトオーナーが片手間で実践できる効果測定と改善メソッドサイトオーナーが片手間で実践できる効果測定と改善メソッド
サイトオーナーが片手間で実践できる効果測定と改善メソッド
 
吾輩はコンテンツ事業者である 楽天編
吾輩はコンテンツ事業者である 楽天編吾輩はコンテンツ事業者である 楽天編
吾輩はコンテンツ事業者である 楽天編
 
"運用"におけるイノベーションを考える
"運用"におけるイノベーションを考える"運用"におけるイノベーションを考える
"運用"におけるイノベーションを考える
 
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
 
Text gen-and-gpt2
Text gen-and-gpt2Text gen-and-gpt2
Text gen-and-gpt2
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 
2014-01-28 Operation in the future
2014-01-28 Operation in the future2014-01-28 Operation in the future
2014-01-28 Operation in the future
 
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
 

お手軽!BGP RIBのリアルタイム解析+可視化

  • 1. © BIGLOBE Inc. 2017 お⼿軽! BGP RIBのリアルタイム解析+可視化 BIGLOBE Inc. Toshiya Mabuchi 1 © BIGLOBE Inc. 2017
  • 2. © BIGLOBE Inc. 20172 ⾃⼰紹介 ● 名前 : ⾺淵 俊弥 (Mabuchi Toshiya) ● 所属 : ビッグローブ株式会社 ● お仕事 : ● ISPバックボーンネットワークの全般 ● 設計/開発/検証/運⽤/顧客サポート ● 最近は⾃動化/可視化回りに注⼒中!
  • 3. © BIGLOBE Inc. 20173 ASの経路監視ってどうしてます?
  • 4. © BIGLOBE Inc. 20174 監視したい理由 ● 運⽤⾯ ● 障害時の原因究明 ● 顧客の経路変動/正常性 ● 主要なPeerの経路変動 ● Peerしてるのに上流から
 流れてないか ● 遅延の⼤きいPeerを
 選択してないか? ● マネジメント⾯ ● 上流トランジットへの
 経路依存率の把握 ● ⼿軽に⾒れるようにして
 Peering交渉に役⽴てる ● すぐに出せるグラフがあると
 KPIにも役⽴つ ● 上流トランジットの選定/
 更改時に使う為のデータ
  • 5. © BIGLOBE Inc. 20175 経路情報を⾒るのは運⽤の時だけじゃない トランジット依存率の指標など
 コストマネジメントの⽬的でも使いたい
  • 6. © BIGLOBE Inc. 20176 いままで経路記録としてやっていたこと ● Quagga + MRT Dump + libBGPdump ● データとしては記録できている ● 時間毎にファイル分割して保存している ● ⽂字でしか読めないので、
 時系列で何が起きているか⾒るのがつらい ● いつも⾒るのにはちょっと厳しい ● かなりの障害が発⽣した時くらいしか⾒ない
  • 7. © BIGLOBE Inc. 20177 こういう感じ経路情報のログを⾒てた > bgpdump dump2015.11.27.1000 TIME: 11/27/15 01:00:00 TYPE: TABLE_DUMP_V2/IPV4_UNICAST PREFIX: 1.0.0.0/24 SEQUENCE: 0 FROM: 133.205.1.155 AS2518 ORIGINATED: 07/13/70 11:03:57 ORIGIN: IGP ASPATH: 2518 15169 NEXT_HOP: 133.205.1.155 MULTI_EXIT_DISC: 100 TIME: 11/27/15 01:00:00 TYPE: TABLE_DUMP_V2/IPV4_UNICAST PREFIX: 1.0.0.0/24 SEQUENCE: 0 FROM: 133.205.1.142 AS2518 ORIGINATED: 07/13/70 11:03:37
  • 8. © BIGLOBE Inc. 20178 新しい経路をモニタリングするものがほしい ● 要件! ● グラフとして表⽰できる ● リアルタイム性がある ● 他の情報(トラフィック等)と⼀元的に
 ⾒る⽅法がある ● そんなに難しいことしたくない
  • 9. © BIGLOBE Inc. 20179 BMP ● BGP Monitoring Protocol ● BGPのUPDATE情報等をモニタリングできるプロトコル ● これを使わない⼿は無い!
 ● ・・・しかし!!! ● 商⽤ルーターのバージョンで⼀部⾮対応
 → すぐには使えない
  • 10. © BIGLOBE Inc. 201710 回避策 ● iBGPで経路を収集する ● 経路収集⽤にGoBGPを⽴てる ● GoBGPとルータをiBGPで繋ぐ ● GoBGPからBMP Serverに送信 ルータ単位で発⽣する経路変動は収集できる!
  • 11. © BIGLOBE Inc. 201711 iBGPで経路を収集 Core Core gateway gateway gateway gateway GoBGP BMP Server iBGP iBGP iBGP iBGP BMP pre-policy
  • 12. © BIGLOBE Inc. 201712 BMP Server ● SNAS 
 http://www.snas.io/ ● 経路情報モニタリングのフレームワーク ● OpenBMP + Kafka + MySQL + WebUI で構成 ● 経路⽤モニタリングのWebUIが付いている ● APIも豊富でデータを加⼯して使いやすい ● Docker containerで構築が簡単 Streaming Network Analytics System
  • 13. © BIGLOBE Inc. 201713 SNAS UI
  • 14. © BIGLOBE Inc. 201714 SNAS UI
  • 15. © BIGLOBE Inc. 201715 SNAS UI
  • 16. © BIGLOBE Inc. 201716 SNAS UI
  • 17. © BIGLOBE Inc. 201717 SNAS 今までに⽐べたらかなり分かりやすい!
  • 18. © BIGLOBE Inc. 201718 (再掲)監視したい理由 ● 運⽤⾯ ● 障害時の原因究明 ● 顧客の経路変動/正常性 ● 主要なPeerの経路変動 ● Peerしてるのに上流から
 流れてないか ● 遅延の⼤きいPeerを
 選択してないか? ● トラフィック + 経路変動
 ⼀緒に⾒たい ● ⼀緒に⾒れば分かる原因もある ●マネジメント⾯ ● 上流トランジットへの
 経路依存率の把握 ● ⼿軽に⾒れるようにして
 Peering交渉に役⽴てる ● すぐに出せるグラフがあると
 KPI⽴てるのとかにも役⽴つ ● 上流トランジットの選定/
 更改時に使う為のデータ ● いつでも出せるようにしたい
  • 19. © BIGLOBE Inc. 201718 (再掲)監視したい理由 ● 運⽤⾯ ● 障害時の原因究明 ● 顧客の経路変動/正常性 ● 主要なPeerの経路変動 ● Peerしてるのに上流から
 流れてないか ● 遅延の⼤きいPeerを
 選択してないか? ● トラフィック + 経路変動
 ⼀緒に⾒たい ● ⼀緒に⾒れば分かる原因もある ●マネジメント⾯ ● 上流トランジットへの
 経路依存率の把握 ● ⼿軽に⾒れるようにして
 Peering交渉に役⽴てる ● すぐに出せるグラフがあると
 KPI⽴てるのとかにも役⽴つ ● 上流トランジットの選定/
 更改時に使う為のデータ ● いつでも出せるようにしたい ⾃社特有の観点が⼊ると、
 標準のWebUIでは⾒にくい場合もある 定常的に⾒るデータだけをAPIで取得
 Influxdb + Grafanaで可視化
  • 20. © BIGLOBE Inc. 201719 最終的な構成 Core Core gateway gateway gateway gateway GoBGP Open BMP iBGP iBGP iBGP iBGP データ整形 Influxdb Grafana
  • 21. © BIGLOBE Inc. 201720 作った経路監視⽤のDashboard
  • 22. © BIGLOBE Inc. 201721 作った経路監視⽤のDashboard 上流トランジット依存率 特定ピアの状態監視 Update/Withdrawn発⽣数 上流トランジット経路監視 顧客経路の状態監視 Update/Withdrawn詳細
  • 23. © BIGLOBE Inc. 201722 複数ピアをしているAS**の合計トラフィック 経路の選択割合の遷移監視 作った経路監視⽤のDashboard
  • 24. © BIGLOBE Inc. 201723 良かった点と改善点 ● 良かった点 ● 注視すべき経路情報に絞って監視できた ● Traffic/Error等,他情報と合わせて確認できるようになった ● 実装したのはDB間のデータ送受信部だけ ● ⾮常に少ない⼿間で実装可能 ● 改善点 ● 各ルータ毎のBestPathしか⾒れない ● BGP ADD-PATHを使ってGoBGPと各ルータを繋ぐ ● (GoBGP中の⼈)「 BGP ADD-PATH実装したよ!」 ● BMPを直接使う
  • 25. © BIGLOBE Inc. 201724 まとめ ● 経路状態は運⽤以外にも使える ● Peering/KPI ● 経路監視をGoBGP+openBMP+Influxdbへ ● 経路収集はiBGP ● SNAS (OpenBMP) ● ⾃分でUI作らなくても、⼗分なWebUIがある ● 注視すべき情報のみREST APIでInfluxdbに投⼊ ● Grafanaで他のデータと⼀元的に可視化ができた