Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Monitoring
Intelligence
北島直紀
Microsoft
June 27 2016
Microsoft Cloud Network
2010 2015
100K MillionsCompute
Instances
10’s of PB
ExabytesAzure
Storage
10’s of TbpsDatacenter
Network Pbps
4
問題解決フロー
Chaotic
Manage
DefineMeasure
Continuous
Improvement
新たなデータ収集
の必要性
迅速なコラボレーション必要
→セルフサービス型の
データ解析、共有プラット
フォームが必要
...
5
問題解決フロー
Chaotic
Manage
DefineMeasure
Continuous
Improvement
新たなデータ収集
の必要性
迅速なコラボレーション必要
→セルフサービス型の
データ解析、共有プラット
フォームが必要
...
• すぐに新たな時系列データ収集を開始できること(SNMP, CLI, etc.)
データ収集段階
• 最新のライブデータを多角的に分析できるUIを備えること
• 元データに簡単なAPIでアクセスできること
分析段階
• 分析結果やモデルを簡単...
データ収集 蓄積 分析
時系列データを扱うためのOSS
Graphite
fluentd
Kafka
Influx DB, OpenTSDB
Druid
Grafana (Kibana)
NorikraStorm
ElasticSearch K...
Graphiteで何ができるか 基本機能デモ
誰かが作っ
たdashboard
を使う
自分の
dashboardを
作ってみんな
と共有
時系列デー
タを収集し
て蓄積する
API経由で
データを分
析する
Use case 1: Router code upgrade dashboard
9
http://gnsgraphite/dashboard#temp-
RFC535884
非公開
Use case 2: Fiber cut時の挙動とその相関
10
http://gnsgraphite/dashboard#temp-
RFC535884
非公開
Use case 3: ISIS table size per region
11
非公開
Use case 4: IGP収束時間
12
非公開
Use case 5: 各ルータの微視的データの相関
13
http://gnsgraphite/dashboard#temp-
RFC535884
非公開
Graphite、Grafanaと各モジュールの関係
Router Router Router
whisper
SNMP, CLI, etc
Data Feeders
User
StatsD/Carbon
(Twisted Python)
Gr...
Graphite[carbon]へのデータの送り方





Perl sample code
use IO::Socket;
our $CARBON_SERVER = '10.20.1.1';
our $CARBON_PORT = 2003;
our $sock = IO::Socket::INET->...
Graphiteからのデータの取得

http://10.20.1.1/render?target=rtrA.isis.table.active_cnt&from=-
60min&rawData=true&format=csv



Graphiteからのデータの取得 2
• ifInErrorsカウンタの上位10インターフェースリスト
wget 'http://10.10.1.1/render?target=highestMax(perSecond(*.intf.
*.i...
どんなデータを送っているか
• データソース
• SNMP, CLI, syslog
• データ量
• 400K+700Kくらい (e.g. 1,000 router x 100 intf x 5 snmp = 500K)

様々な試み – デモ [Use case 6, 7]
• Recent Code Upgrade – New code, new eyeballs, new problems
• Fabric – Understanding an overal...
Use case 8: Optical LevelとifInErrorsの関係
Use case 9: Black Hole検知
Use case 10: Black Hole検知
Use case 11: Black Hole検知
Scripted Dashboard
• URL e.g.
• http://<server>/dashboard/script/<script_name>.js?router=<router_name>
• Javascript code o...
学んだこと
• Data-driven decision makingの有意性
• コラボレーションの素晴らしさと難しさ
• トレーニング、データ収集、分析、APIを通じて
• ダッシュボードのライフサイクル管理
• 生成タイミング、手法、寿命...
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Upcoming SlideShare
Loading in …5
×

Monitoring Intelligence

9,076 views

Published on

NetOpsCoding#3の発表資料です。
https://atnd.org/events/78025

Published in: Technology

Monitoring Intelligence

  1. 1. Monitoring Intelligence 北島直紀 Microsoft June 27 2016
  2. 2. Microsoft Cloud Network
  3. 3. 2010 2015 100K MillionsCompute Instances 10’s of PB ExabytesAzure Storage 10’s of TbpsDatacenter Network Pbps
  4. 4. 4 問題解決フロー Chaotic Manage DefineMeasure Continuous Improvement 新たなデータ収集 の必要性 迅速なコラボレーション必要 →セルフサービス型の データ解析、共有プラット フォームが必要 閾値、警報を定義
  5. 5. 5 問題解決フロー Chaotic Manage DefineMeasure Continuous Improvement 新たなデータ収集 の必要性 迅速なコラボレーション必要 →セルフサービス型の データ解析、共有プラット フォームが必要 閾値、警報を定義 ここをもっと何とかしたい。 と始めたのが2.5年前
  6. 6. • すぐに新たな時系列データ収集を開始できること(SNMP, CLI, etc.) データ収集段階 • 最新のライブデータを多角的に分析できるUIを備えること • 元データに簡単なAPIでアクセスできること 分析段階 • 分析結果やモデルを簡単に共有し、最新データに適用できること 共有段階 • 各ネットワークエンジニアがすぐに直接check-in(または追加変更)できること 全過程を通じて プラットフォームへの要求
  7. 7. データ収集 蓄積 分析 時系列データを扱うためのOSS Graphite fluentd Kafka Influx DB, OpenTSDB Druid Grafana (Kibana) NorikraStorm ElasticSearch Kibana
  8. 8. Graphiteで何ができるか 基本機能デモ 誰かが作っ たdashboard を使う 自分の dashboardを 作ってみんな と共有 時系列デー タを収集し て蓄積する API経由で データを分 析する
  9. 9. Use case 1: Router code upgrade dashboard 9 http://gnsgraphite/dashboard#temp- RFC535884 非公開
  10. 10. Use case 2: Fiber cut時の挙動とその相関 10 http://gnsgraphite/dashboard#temp- RFC535884 非公開
  11. 11. Use case 3: ISIS table size per region 11 非公開
  12. 12. Use case 4: IGP収束時間 12 非公開
  13. 13. Use case 5: 各ルータの微視的データの相関 13 http://gnsgraphite/dashboard#temp- RFC535884 非公開
  14. 14. Graphite、Grafanaと各モジュールの関係 Router Router Router whisper SNMP, CLI, etc Data Feeders User StatsD/Carbon (Twisted Python) Graphite-web Django on WSGI MySQL or sqlite 8125/udp 2003/tcp 80/tcp Grafana provides more rich UI Code
  15. 15. Graphite[carbon]へのデータの送り方     
  16. 16. Perl sample code use IO::Socket; our $CARBON_SERVER = '10.20.1.1'; our $CARBON_PORT = 2003; our $sock = IO::Socket::INET->new( PeerAddr => $CARBON_SERVER, PeerPort => $CARBON_PORT, Proto => 'tcp' ); my $time = time; my $value = something; $sock->send("test.metric_name $value $time¥n"); 16 Graphite[carbon]へのデータの送り方 2
  17. 17. Graphiteからのデータの取得  http://10.20.1.1/render?target=rtrA.isis.table.active_cnt&from=- 60min&rawData=true&format=csv   
  18. 18. Graphiteからのデータの取得 2 • ifInErrorsカウンタの上位10インターフェースリスト wget 'http://10.10.1.1/render?target=highestMax(perSecond(*.intf. *.ifInErrors),10) &from=-15min&rawData=true&format=csv‘ • 便利な関数 • perSecond() • HighestAverage(*, 10) • HighestCurrent(*, 10) • sumSeries(*, 10) • movingAverage(*, ’1hour’) • timeShift(*, ’30d’) • mostDeviant(10, *)
  19. 19. どんなデータを送っているか • データソース • SNMP, CLI, syslog • データ量 • 400K+700Kくらい (e.g. 1,000 router x 100 intf x 5 snmp = 500K)
  20. 20.
  21. 21. 様々な試み – デモ [Use case 6, 7] • Recent Code Upgrade – New code, new eyeballs, new problems • Fabric – Understanding an overall health
  22. 22. Use case 8: Optical LevelとifInErrorsの関係
  23. 23. Use case 9: Black Hole検知
  24. 24. Use case 10: Black Hole検知
  25. 25. Use case 11: Black Hole検知
  26. 26. Scripted Dashboard • URL e.g. • http://<server>/dashboard/script/<script_name>.js?router=<router_name> • Javascript code on Grafana server dashboard = { rows : [] }; routerName = ARGS.router; dashboard.rows.push({ "panels": [ {"targets": [{"target": "prefix." + routerName + ".5minloadavg"}]} ] }); return dashboard;
  27. 27. 学んだこと • Data-driven decision makingの有意性 • コラボレーションの素晴らしさと難しさ • トレーニング、データ収集、分析、APIを通じて • ダッシュボードのライフサイクル管理 • 生成タイミング、手法、寿命 • システム管理コスト
  28. 28. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×