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

drecomにおけるwinning the metrics battle

May 28, 2015

Download

Internet

Kenichi Mitsuki
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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.�