drecomにおけるwinning the metrics battle

Post on 28-May-2015

4.521 Views

Category:

Internet

9 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related