×
  • Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 

drecomにおけるwinning the metrics battle

on

  • 240 views

 

Statistics

Views

Total Views
240
Views on SlideShare
234
Embed Views
6

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 6

https://twitter.com 6

Accessibility

Categories

Upload Details

Uploaded via SlideShare as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    drecomにおけるwinning the metrics battle drecomにおけるwinning the metrics battle Presentation 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 collectd A B C D
    • Copyright Drecom Co., Ltd. All Rights Reserved. 50 Metricsの収集・送信側 Internet Server Server collectd collectd collectd collectd collectd A B C D A CPU Usage等のMetricsを 収集する
    • Copyright Drecom Co., Ltd. All Rights Reserved. 50 Metricsの収集・送信側 Internet Server Server collectd collectd collectd collectd collectd A B C D A 冗長化されている組 B CPU Usage等のMetricsを 収集する
    • Copyright Drecom Co., Ltd. All Rights Reserved. 50 Metricsの収集・送信側 Internet Server Server collectd collectd collectd collectd collectd A 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 collectd A 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 collectd A 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 3793 153-0064 8-1 17F TEL:03-6682-5700 FAX:03-6682-5711 239 2001 11 13 1,124 (2014 3 ) Copyright Drecom Co., Ltd. All Rights Reserved.