SOVIET ORDER OF BATTLE SOVIET ORDER OF BATTLE Subject SOVIET ORDER OF BATTLE Keywords
drecomにおけるwinning the metrics battle
-
Upload
kenichi-mitsuki -
Category
Internet
-
view
4.521 -
download
9
Transcript of drecomにおけるwinning the metrics battle
Copyright Drecom Co., Ltd. All Rights Reserved. 1
Drecomにおける
Winning the metrics battle
Copyright Drecom Co., Ltd. All Rights Reserved. 2
• mickey• 所属会社- 株式会社ドリコム
• 職種- インフラエンジニア
• 最近やっていること- Graphiteと戯れたり、インフラ運用面の改善等
自己紹介
Copyright Drecom Co., Ltd. All Rights Reserved. 3
インフラの運用において、サーバー
の状態(CPU Usage等)の収集と閲
覧が簡便にできるシステムを持つこ
とは必須
今日、話すこと
Copyright Drecom Co., Ltd. All Rights Reserved. 4
しかし、サーバーが1300台を超え
ると、工夫しないとうまくいかない
今日、話すこと
Copyright Drecom Co., Ltd. All Rights Reserved. 5
何が必要なのか
Copyright Drecom Co., Ltd. All Rights Reserved. 6
の前に
Copyright Drecom Co., Ltd. All Rights Reserved. 7
僕たちは如何に失敗したか
Copyright Drecom Co., Ltd. All Rights Reserved. 8
• サーバーを構築しても、Cactiに自動
でグラフが作られない…
• Proxyや情報を暗号化する機能がなく
その為、Cactiが乱立
• スケールアウトが出来ない
以前は…
Copyright Drecom Co., Ltd. All Rights Reserved. 9
つらぽよ
Copyright Drecom Co., Ltd. All Rights Reserved. 10
このままだと、 破綻する
Copyright Drecom Co., Ltd. All Rights Reserved. 11
では、 何が必要なのか
Copyright Drecom Co., Ltd. All Rights Reserved. 12
• サーバーが自動で追加されること
• グラフが自動的にレンダリングされること
• 情報を中央に集めるために必要な機能
• スケールアウトができること
必要なこと
Copyright Drecom Co., Ltd. All Rights Reserved. 13
!
Middlewareの 検討
Copyright Drecom Co., Ltd. All Rights Reserved. 14
Munin
「グラフの見た目が好みじゃないんだよねー 」
Copyright Drecom Co., Ltd. All Rights Reserved. 15
Ganglia
「サーバーとグラフの管理の仕方が、うちの構成とは合ってないよ…」
「見た目が…」
Copyright Drecom Co., Ltd. All Rights Reserved. 16
• 普段使いのシステムなので習熟の難度が低い
隠れた要件
Copyright Drecom Co., Ltd. All Rights Reserved. 17
結果
Copyright Drecom Co., Ltd. All Rights Reserved. 18
理想的なものは なかった…
Copyright Drecom Co., Ltd. All Rights Reserved. 19
ということで 開発することに
Copyright Drecom Co., Ltd. All Rights Reserved. 20
自作したシステム について
Copyright Drecom Co., Ltd. All Rights Reserved. 21
Mine って言います
Copyright Drecom Co., Ltd. All Rights Reserved. 22
サーバーに潜む 地雷を探すシステム という由来
Copyright Drecom Co., Ltd. All Rights Reserved. 23
Mineの見た目
Copyright Drecom Co., Ltd. All Rights Reserved. 24
Copyright Drecom Co., Ltd. All Rights Reserved.
開発環境
• 言語
- Ruby 2.0
• フレームワーク
- Padrino 0.11.1- Backbone.js 1.1.0
Copyright Drecom Co., Ltd. All Rights Reserved. 26
採用したMiddleware
Copyright Drecom Co., Ltd. All Rights Reserved. 27
Graphite
• URL API
• プッシュ型である
Copyright Drecom Co., Ltd. All Rights Reserved. 28
URL API
Copyright Drecom Co., Ltd. All Rights Reserved. 29
GraphiteのURL API
target=hoge-web-*.nginx.response_time
webサーバー全部のレスポンスタイムを取得する
Copyright Drecom Co., Ltd. All Rights Reserved. 30
GraphiteのURL API
Copyright Drecom Co., Ltd. All Rights Reserved. 31
GraphiteのREST API
target= averageSeries(hoge-web-*.nginx.response_time)
平均値を取るという関数を適応すると
Copyright Drecom Co., Ltd. All Rights Reserved. 32
GraphiteのURL API
Copyright Drecom Co., Ltd. All Rights Reserved. 33
Graphiteで利用できる関数
• 平均
• 移動平均
• 最大値、または、最小値
• 対数
• 偏差
Copyright Drecom Co., Ltd. All Rights Reserved. 34
Graphiteが返せるデータ
• SVG
• PNG
• Json
• CSV
• などなど
Copyright Drecom Co., Ltd. All Rights Reserved. 35
Graphiteが プッシュ型である ということについて
Copyright Drecom Co., Ltd. All Rights Reserved. 36
プル型
• Cactiのように、収集サーバーが監視対象のサーバーへ情報を取りに行くこと!
• 手動でグラフを登録するのは数百台で限界
• 並列数的にも数百台で限界が来る
Copyright Drecom Co., Ltd. All Rights Reserved. 37
プッシュ型• 監視対象のサーバが情報を収集サーバーへ送りつける- 多少失われても困らないのでUDPでただ投げつけている
• 送りつけられたら、自動でグラフが出来る
• サービス用サーバーをChefで構築するだけでグラフが出来る
Copyright Drecom Co., Ltd. All Rights Reserved. 38
採用したMiddleware
• Collectd- Graphiteへ情報をプッシュするMiddleware
-- Graphiteの独自形式の情報として送信--- Gangliaなどにも対応
- 動作が軽く、機能的に十分だったので採用
• こういったMiddlewareはGraphiteには付属しない
Copyright Drecom Co., Ltd. All Rights Reserved. 39
Cactiとの違い
• Cactiは
- APIが無い- グループで値をサマライズ出来ない- RRDなので、画像でしかとれない- プル型である
Copyright Drecom Co., Ltd. All Rights Reserved. 40
今後‥
Copyright Drecom Co., Ltd. All Rights Reserved.
Graphiteの機能を活用し
Copyright Drecom Co., Ltd. All Rights Reserved.
複数のサーバーのMetricsをサマライズしたり
Copyright Drecom Co., Ltd. All Rights Reserved.
• 100台のWebサーバーにおけるレスポンスタイ
ムの平均
• 見なければならないグラフを最小に
Copyright Drecom Co., Ltd. All Rights Reserved.
異常値がわかりやすいよう工夫したり
Copyright Drecom Co., Ltd. All Rights Reserved.
• 最大値・平均値・最小値をプロットする- 頑張りすぎているサーバーやサボりを見つけやすく
Copyright Drecom Co., Ltd. All Rights Reserved. 46
アーキテクチャ
Copyright Drecom Co., Ltd. All Rights Reserved. 47
概要
Copyright Drecom Co., Ltd. All Rights Reserved.
Data Center
A
collectd
Data Center
A
collectd
collectd
carbon
Mine
Internet
B
Copyright Drecom Co., Ltd. All Rights Reserved.
Data Center
A
collectd
Data Center
A
collectd
collectd
carbon
Mine
Internet
B
A
MetricsをCollectdへ送り、 暗号化してInternetへ
Copyright Drecom Co., Ltd. All Rights Reserved.
Data Center
A
collectd
Data Center
A
collectd
collectd
carbon
Mine
Internet
B
A
MetricsをCollectdへ送り、 暗号化してInternetへ
Copyright Drecom Co., Ltd. All Rights Reserved.
Data Center
A
collectd
Data Center
A
collectd
collectd
carbon
Mine
Internet
B
A
MetricsをCollectdへ送り、 暗号化してInternetへ
B
復号してDiskへ書き込み、 Mineで表示する
Copyright Drecom Co., Ltd. All Rights Reserved. 49
詳細
Copyright Drecom Co., Ltd. All Rights Reserved. 50
Metricsの収集・送信側
Internet
Server Server
collectd collectd
collectd collectd collectdA
B
C
D
Copyright Drecom Co., Ltd. All Rights Reserved. 50
Metricsの収集・送信側
Internet
Server Server
collectd collectd
collectd collectd collectdA
B
C
D
A
CPU Usage等のMetricsを 収集する
Copyright Drecom Co., Ltd. All Rights Reserved. 50
Metricsの収集・送信側
Internet
Server Server
collectd collectd
collectd collectd collectdA
B
C
D
A
冗長化されている組B
CPU Usage等のMetricsを 収集する
Copyright Drecom Co., Ltd. All Rights Reserved. 50
Metricsの収集・送信側
Internet
Server Server
collectd collectd
collectd collectd collectdA
B
C
D
A
冗長化されている組B
CPU Usage等のMetricsを 収集する
ここで、暗号化を行うC
Copyright Drecom Co., Ltd. All Rights Reserved. 50
Metricsの収集・送信側
Internet
Server Server
collectd collectd
collectd collectd collectdA
B
C
D
A
冗長化されている組B
CPU Usage等のMetricsを 収集する
ここで、暗号化を行うC
D
暗号化され、Internetへ
Copyright Drecom Co., Ltd. All Rights Reserved. 50
Metricsの収集・送信側
Internet
Server Server
collectd collectd
collectd collectd collectdA
B
C
D
A
冗長化されている組B
CPU Usage等のMetricsを 収集する
ここで、暗号化を行うC
D
暗号化され、Internetへ
Copyright Drecom Co., Ltd. All Rights Reserved.
Metricsの受信・保存Internet
collectd
carbon-relay
carbon-cache carbon-cachecarbon-cache
carbon-relay
collectd
Disk Disk Disk
graphite-web graphite-webgraphite-web
B
C
D
E
51
A
Server Server Server
データセット A データセット B
Copyright Drecom Co., Ltd. All Rights Reserved.
Metricsの受信・保存Internet
collectd
carbon-relay
carbon-cache carbon-cachecarbon-cache
carbon-relay
collectd
Disk Disk Disk
graphite-web graphite-webgraphite-web
B
C
D
E
51
A
A
冗長化されている組
Server Server Server
データセット A データセット B
Copyright Drecom Co., Ltd. All Rights Reserved.
Metricsの受信・保存Internet
collectd
carbon-relay
carbon-cache carbon-cachecarbon-cache
carbon-relay
collectd
Disk Disk Disk
graphite-web graphite-webgraphite-web
B
C
D
E
51
A
A
冗長化されている組
Server Server Server
データセット A データセット B
Copyright Drecom Co., Ltd. All Rights Reserved.
Metricsの受信・保存Internet
collectd
carbon-relay
carbon-cache carbon-cachecarbon-cache
carbon-relay
collectd
Disk Disk Disk
graphite-web graphite-webgraphite-web
B
C
D
E
B
受信したデータを、ハッシュで 分割し、データセットへ送る
51
A
A
冗長化されている組
Server Server Server
データセット A データセット B
Copyright Drecom Co., Ltd. All Rights Reserved.
Metricsの受信・保存Internet
collectd
carbon-relay
carbon-cache carbon-cachecarbon-cache
carbon-relay
collectd
Disk Disk Disk
graphite-web graphite-webgraphite-web
B
C
D
E
B
受信したデータを、ハッシュで 分割し、データセットへ送る
C
受信したデータをDiskに 書き込む
51
A
A
冗長化されている組
Server Server Server
データセット A データセット B
Copyright Drecom Co., Ltd. All Rights Reserved.
Metricsの受信・保存Internet
collectd
carbon-relay
carbon-cache carbon-cachecarbon-cache
carbon-relay
collectd
Disk Disk Disk
graphite-web graphite-webgraphite-web
B
C
D
E
B
受信したデータを、ハッシュで 分割し、データセットへ送る
C
受信したデータをDiskに 書き込む
D
DRBDで同期し、データ を保全
51
A
A
冗長化されている組
Server Server Server
データセット A データセット B
DRBD
Copyright Drecom Co., Ltd. All Rights Reserved.
Metricsの受信・保存Internet
collectd
carbon-relay
carbon-cache carbon-cachecarbon-cache
carbon-relay
collectd
Disk Disk Disk
graphite-web graphite-webgraphite-web
B
C
D
E
B
受信したデータを、ハッシュで 分割し、データセットへ送る
C
受信したデータをDiskに 書き込む
D
DRBDで同期し、データ を保全
E
グラフのレンダリングする ためのAPIを提供。 51
A
A
冗長化されている組
Server Server Server
データセット A データセット B
DRBD
Copyright Drecom Co., Ltd. All Rights Reserved.
Metricsの受信・保存Internet
collectd
carbon-relay
carbon-cache carbon-cachecarbon-cache
carbon-relay
collectd
Disk Disk Disk
graphite-web graphite-webgraphite-web
B
C
D
E
B
受信したデータを、ハッシュで 分割し、データセットへ送る
C
受信したデータをDiskに 書き込む
D
DRBDで同期し、データ を保全
E
グラフのレンダリングする ためのAPIを提供。 51
A
A
冗長化されている組
Server Server Server
データセット A データセット B
DRBD
Copyright Drecom Co., Ltd. All Rights Reserved. 52
graphite-web graphite-web
Mine
表示
Copyright Drecom Co., Ltd. All Rights Reserved. 52
graphite-web graphite-web
Mine
表示
Copyright Drecom Co., Ltd. All Rights Reserved. 52
graphite-web graphite-web
Mine
表示
UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求
F
Copyright Drecom Co., Ltd. All Rights Reserved. 52
graphite-web graphite-web
Mine
表示
UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求
F
F
Copyright Drecom Co., Ltd. All Rights Reserved. 52
graphite-web graphite-web
Mine
G
表示
UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求
F
F
Copyright Drecom Co., Ltd. All Rights Reserved. 52
graphite-web graphite-web
Mine
G
表示
UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求
F
F
分散して保存しているので 複数のサーバーからMetricを 検索する
G
Copyright Drecom Co., Ltd. All Rights Reserved. 52
graphite-web graphite-web
Mine
G
表示
UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求
F
F
分散して保存しているので 複数のサーバーからMetricを 検索する
H
G
Copyright Drecom Co., Ltd. All Rights Reserved. 52
graphite-web graphite-web
Mine
G
表示
UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求
F
F
分散して保存しているので 複数のサーバーからMetricを 検索する
H
G
Metricが見つかたら、Graphを レンダリングして、URIを返す
H
Copyright Drecom Co., Ltd. All Rights Reserved. 53
まとめ
Copyright Drecom Co., Ltd. All Rights Reserved. 54
Graphiteの負荷はどんな感じ?
• 1300台程度のサーバーから、5分間隔で情報を取得
CPU Usage
I/O Wait
Copyright Drecom Co., Ltd. All Rights Reserved. 55
• Metricsの収集はプッシュ型で行う必要がある
• 手動では限界が来るので、構成管理ツールで、
設定は自動化しよう
最後に
Copyright Drecom Co., Ltd. All Rights Reserved. 56
• Graphiteにデータを貯めることで、データを再
利用することができる
• Graphiteを選択した私に間違いはなかった
最後に
Copyright Drecom Co., Ltd. All Rights Reserved. 57
御清聴ありがとうございました
Copyright Drecom Co., Ltd. All Rights Reserved. 58
�"�%�
" M '6I<M �"M ,(��M "��M &#���M )�+M ����M
���"<D6? 3793/�'>7I9 0153-0064 ��*!-��!-L�!8-1/3E6;FI17F�TEL:03-6682-5700�FAX:03-6682-5711 239 .J�"�H�$"�12K�2001�11�13� 1,124 � (2014�3����) :I8@E5I?�� :I8@ECI=G4�� 3<:DAI8BG��
Copyright Drecom Co., Ltd. All Rights Reserved.�