28
Monitoring Intelligence 北島直紀 Microsoft June 27 2016

Monitoring Intelligence

Embed Size (px)

Citation preview

Page 1: Monitoring Intelligence

MonitoringIntelligence

北島直紀MicrosoftJune 27 2016

Page 2: Monitoring Intelligence

Microsoft Cloud Network

Page 3: Monitoring Intelligence

2010 2015

100K MillionsCompute

Instances

10’s of PBExabytesAzure

Storage

10’s of TbpsDatacenter

Network Pbps

Page 4: Monitoring Intelligence

4

問題解決フロー

Chaotic

Manage

DefineMeasure

Continuous

Improvement

新たなデータ収集の必要性

迅速なコラボレーション必要→セルフサービス型の

データ解析、共有プラットフォームが必要

閾値、警報を定義

Page 5: Monitoring Intelligence

5

問題解決フロー

Chaotic

Manage

DefineMeasure

Continuous

Improvement

新たなデータ収集の必要性

迅速なコラボレーション必要→セルフサービス型の

データ解析、共有プラットフォームが必要

閾値、警報を定義

ここをもっと何とかしたい。と始めたのが2.5年前

Page 6: Monitoring Intelligence

• すぐに新たな時系列データ収集を開始できること(SNMP, CLI, etc.)

データ収集段階

• 最新のライブデータを多角的に分析できるUIを備えること

• 元データに簡単なAPIでアクセスできること

分析段階

• 分析結果やモデルを簡単に共有し、最新データに適用できること

共有段階

• 各ネットワークエンジニアがすぐに直接check-in(または追加変更)できること

全過程を通じて

プラットフォームへの要求

Page 7: Monitoring Intelligence

データ収集 蓄積 分析時系列データを扱うためのOSS

Graphite

fluentd

Kafka

Influx DB, OpenTSDB

Druid

Grafana (Kibana)

NorikraStorm

ElasticSearch Kibana

Page 8: Monitoring Intelligence

Graphiteで何ができるか 基本機能デモ

誰かが作ったdashboard

を使う

自分のdashboardを作ってみんなと共有

時系列データを収集して蓄積する

API経由でデータを分析する

Page 9: Monitoring Intelligence

Use case 1: Router code upgrade dashboard

9

http://gnsgraphite/dashboard#temp-

RFC535884

非公開

Page 10: Monitoring Intelligence

Use case 2: Fiber cut時の挙動とその相関

10

http://gnsgraphite/dashboard#temp-

RFC535884

非公開

Page 11: Monitoring Intelligence

Use case 3: ISIS table size per region

11

非公開

Page 12: Monitoring Intelligence

Use case 4: IGP収束時間

12

非公開

Page 13: Monitoring Intelligence

Use case 5: 各ルータの微視的データの相関

13

http://gnsgraphite/dashboard#temp-

RFC535884

非公開

Page 14: Monitoring Intelligence

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

Page 15: Monitoring Intelligence

Graphite[carbon]へのデータの送り方

Page 16: Monitoring Intelligence

Perl sample codeuse 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

Page 17: Monitoring Intelligence

Graphiteからのデータの取得

http://10.20.1.1/render?target=rtrA.isis.table.active_cnt&from=-60min&rawData=true&format=csv

Page 18: Monitoring Intelligence

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, *)

Page 19: Monitoring Intelligence

どんなデータを送っているか• データソース

• SNMP, CLI, syslog

• データ量• 400K+700Kくらい (e.g. 1,000 router x 100 intf x 5 snmp = 500K)

Page 20: Monitoring Intelligence
Page 21: Monitoring Intelligence

様々な試み –デモ [Use case 6, 7]• Recent Code Upgrade – New code, new eyeballs, new problems

• Fabric – Understanding an overall health

Page 22: Monitoring Intelligence

Use case 8: Optical LevelとifInErrorsの関係

Page 23: Monitoring Intelligence

Use case 9: Black Hole検知

Page 24: Monitoring Intelligence

Use case 10: Black Hole検知

Page 25: Monitoring Intelligence

Use case 11: Black Hole検知

Page 26: Monitoring Intelligence

Scripted Dashboard• URL e.g.

• http://<server>/dashboard/script/<script_name>.js?router=<router_name>

• Javascript code on Grafana serverdashboard = { rows : [] };

routerName = ARGS.router;

dashboard.rows.push({

"panels": [

{"targets": [{"target": "prefix." + routerName + ".5minloadavg"}]}

]

});

return dashboard;

Page 27: Monitoring Intelligence

学んだこと• Data-driven decision makingの有意性

• コラボレーションの素晴らしさと難しさ• トレーニング、データ収集、分析、APIを通じて

• ダッシュボードのライフサイクル管理• 生成タイミング、手法、寿命

• システム管理コスト

Page 28: Monitoring Intelligence

© 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.