drecomにおけるwinning the metrics battle

80
Copyright Drecom Co., Ltd. All Rights Reserved. 1 Drecomにおける Winning the metrics battle

Upload: kenichi-mitsuki

Post on 28-May-2015

4.521 views

Category:

Internet


9 download

TRANSCRIPT

Page 1: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 1

Drecomにおける

Winning the metrics battle

Page 2: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 2

• mickey• 所属会社- 株式会社ドリコム

• 職種- インフラエンジニア

• 最近やっていること- Graphiteと戯れたり、インフラ運用面の改善等

自己紹介

Page 3: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 3

インフラの運用において、サーバー

の状態(CPU Usage等)の収集と閲

覧が簡便にできるシステムを持つこ

とは必須

今日、話すこと

Page 4: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 4

しかし、サーバーが1300台を超え

ると、工夫しないとうまくいかない

今日、話すこと

Page 5: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 5

何が必要なのか

Page 6: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 6

の前に

Page 7: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 7

僕たちは如何に失敗したか

Page 8: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 8

• サーバーを構築しても、Cactiに自動

でグラフが作られない…

• Proxyや情報を暗号化する機能がなく

その為、Cactiが乱立

• スケールアウトが出来ない

以前は…

Page 9: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 9

つらぽよ

Page 10: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 10

このままだと、 破綻する

Page 11: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 11

では、 何が必要なのか

Page 12: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 12

• サーバーが自動で追加されること

• グラフが自動的にレンダリングされること

• 情報を中央に集めるために必要な機能

• スケールアウトができること

必要なこと

Page 13: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 13

!

Middlewareの 検討

Page 14: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 14

Munin

「グラフの見た目が好みじゃないんだよねー 」

Page 15: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 15

Ganglia

「サーバーとグラフの管理の仕方が、うちの構成とは合ってないよ…」

「見た目が…」

Page 16: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 16

• 普段使いのシステムなので習熟の難度が低い

隠れた要件

Page 17: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 17

結果

Page 18: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 18

理想的なものは なかった…

Page 19: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 19

ということで 開発することに

Page 20: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 20

自作したシステム について

Page 21: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 21

Mine って言います

Page 22: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 22

サーバーに潜む 地雷を探すシステム という由来

Page 23: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 23

Mineの見た目

Page 24: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 24

Page 25: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

開発環境

• 言語

- Ruby 2.0

• フレームワーク

- Padrino 0.11.1- Backbone.js 1.1.0

Page 26: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 26

採用したMiddleware

Page 27: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 27

Graphite

• URL API

• プッシュ型である

Page 28: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 28

URL API

Page 29: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 29

GraphiteのURL API

target=hoge-web-*.nginx.response_time

webサーバー全部のレスポンスタイムを取得する

Page 30: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 30

GraphiteのURL API

Page 31: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 31

GraphiteのREST API

target= averageSeries(hoge-web-*.nginx.response_time)

平均値を取るという関数を適応すると

Page 32: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 32

GraphiteのURL API

Page 33: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 33

Graphiteで利用できる関数

• 平均

• 移動平均

• 最大値、または、最小値

• 対数

• 偏差

Page 34: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 34

Graphiteが返せるデータ

• SVG

• PNG

• Json

• CSV

• などなど

Page 35: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 35

Graphiteが プッシュ型である ということについて

Page 36: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 36

プル型

• Cactiのように、収集サーバーが監視対象のサーバーへ情報を取りに行くこと!

• 手動でグラフを登録するのは数百台で限界

• 並列数的にも数百台で限界が来る

Page 37: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 37

プッシュ型• 監視対象のサーバが情報を収集サーバーへ送りつける- 多少失われても困らないのでUDPでただ投げつけている

• 送りつけられたら、自動でグラフが出来る

• サービス用サーバーをChefで構築するだけでグラフが出来る

Page 38: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 38

採用したMiddleware

• Collectd- Graphiteへ情報をプッシュするMiddleware

-- Graphiteの独自形式の情報として送信--- Gangliaなどにも対応

- 動作が軽く、機能的に十分だったので採用

• こういったMiddlewareはGraphiteには付属しない

Page 39: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 39

Cactiとの違い

• Cactiは

- APIが無い- グループで値をサマライズ出来ない- RRDなので、画像でしかとれない- プル型である

Page 40: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 40

今後‥

Page 41: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

Graphiteの機能を活用し

Page 42: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

複数のサーバーのMetricsをサマライズしたり

Page 43: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

• 100台のWebサーバーにおけるレスポンスタイ

ムの平均

• 見なければならないグラフを最小に

Page 44: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

異常値がわかりやすいよう工夫したり

Page 45: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

• 最大値・平均値・最小値をプロットする- 頑張りすぎているサーバーやサボりを見つけやすく

Page 46: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 46

アーキテクチャ

Page 47: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 47

概要

Page 48: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

Data Center

A

collectd

Data Center

A

collectd

collectd

carbon

Mine

Internet

B

Page 49: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

Data Center

A

collectd

Data Center

A

collectd

collectd

carbon

Mine

Internet

B

A

MetricsをCollectdへ送り、 暗号化してInternetへ

Page 50: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved.

Data Center

A

collectd

Data Center

A

collectd

collectd

carbon

Mine

Internet

B

A

MetricsをCollectdへ送り、 暗号化してInternetへ

Page 51: drecomにおけるwinning the metrics battle

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で表示する

Page 52: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 49

詳細

Page 53: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 50

Metricsの収集・送信側

Internet

Server Server

collectd collectd

collectd collectd collectdA

B

C

D

Page 54: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 50

Metricsの収集・送信側

Internet

Server Server

collectd collectd

collectd collectd collectdA

B

C

D

A

CPU Usage等のMetricsを 収集する

Page 55: drecomにおけるwinning the metrics battle

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を 収集する

Page 56: drecomにおけるwinning the metrics battle

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

Page 57: drecomにおけるwinning the metrics battle

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へ

Page 58: drecomにおけるwinning the metrics battle

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へ

Page 59: drecomにおけるwinning the metrics battle

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

Page 60: drecomにおけるwinning the metrics battle

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

Page 61: drecomにおけるwinning the metrics battle

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

Page 62: drecomにおけるwinning the metrics battle

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

Page 63: drecomにおけるwinning the metrics battle

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

Page 64: drecomにおけるwinning the metrics battle

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

Page 65: drecomにおけるwinning the metrics battle

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

Page 66: drecomにおけるwinning the metrics battle

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

Page 67: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 52

graphite-web graphite-web

Mine

表示

Page 68: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 52

graphite-web graphite-web

Mine

表示

Page 69: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 52

graphite-web graphite-web

Mine

表示

UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求

F

Page 70: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 52

graphite-web graphite-web

Mine

表示

UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求

F

F

Page 71: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 52

graphite-web graphite-web

Mine

G

表示

UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求

F

F

Page 72: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 52

graphite-web graphite-web

Mine

G

表示

UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求

F

F

分散して保存しているので 複数のサーバーからMetricを 検索する

G

Page 73: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 52

graphite-web graphite-web

Mine

G

表示

UserがMineを閲覧した時、 graphite-webに対してグラフの レンダリングを要求

F

F

分散して保存しているので 複数のサーバーからMetricを 検索する

H

G

Page 74: drecomにおけるwinning the metrics battle

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

Page 75: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 53

まとめ

Page 76: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 54

Graphiteの負荷はどんな感じ?

• 1300台程度のサーバーから、5分間隔で情報を取得

CPU Usage

I/O Wait

Page 77: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 55

• Metricsの収集はプッシュ型で行う必要がある

• 手動では限界が来るので、構成管理ツールで、

設定は自動化しよう

最後に

Page 78: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 56

• Graphiteにデータを貯めることで、データを再

利用することができる

• Graphiteを選択した私に間違いはなかった

最後に

Page 79: drecomにおけるwinning the metrics battle

Copyright Drecom Co., Ltd. All Rights Reserved. 57

御清聴ありがとうございました

Page 80: drecomにおけるwinning the metrics battle

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