9/17 の Sensu Casual Talks #1 で発表された資料です。
http://www.zusaar.com/event/7607003
1 of 23
Downloaded 22 times
More Related Content
Sensu + Graphite を1年運⽤してみて #sensucasual
1. Confiden'al
:Discussion
purpose
only
Sensu Casual Talks #1
ヤフー株式会社
渡邉 貴志
takaswat@yahoo-‐‑‒corp.jp
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
3. Sensu + Graphite を
1年年運⽤用してみて
-‐‑‒ 導⼊入に⾄至るまで
-‐‑‒ 運⽤用あれこれ
Confiden'al
:Discussion
purpose
only
P3
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
4. 導⼊入に⾄至るまでP4
• 2011年年:内製 IaaS をローンチ
急増する HV の運⽤用に追われる⽇日々
↓
• 監視はカスタム Nagios を利利⽤用
• 設定が煩雑
• 監視サーバが分散しており運⽤用が⾯面倒
• 死活監視程度度しかできてない
• 可視化できてない
• 運⽤用してておもしろくない
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
5. 導⼊入に⾄至るまでP5
• 2013年年:OpenStack へ切切り替え開始
計画段階で HV 5000台
ハイペースで投⼊入予定
↓
• このままだと死ぬ!
• 次世代監視サーバの選定
↓
• Sensu + Graphite に決定
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
6. Sensu + Graphite にした理理由 P6
• クライアント追加時にサーバ設定必要なし
• Nagios 資産が流流⽤用できる
• 描画 API がいいかんじ
• どちらもスケールするアーキタイプ
• Chef 使えばセットアップが楽
• 既成 cookbook をカスタムして利利⽤用することに
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
• portertech/chef-‐‑‒monitor
• sensu/sensu-‐‑‒chef
• subscriber と role が連動したり
• LWRP が⽤用意されていたり
8. 第1世代:構成P8
Hypervisor x N
sensu-‐‑‒client
redissensu-‐‑‒server
Confiden'al
:Discussion
purpose
only
graphite-‐‑‒web
conetxt-‐‑‒hashing
replication=1
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
All-‐‑‒in-‐‑‒one Sensu Server x 1
rabbitmq-‐‑‒server
sensu-‐‑‒apisensu-‐‑‒dashboard
carbon-‐‑‒relay server x 1
carbon-‐‑‒relay
carbon-‐‑‒cache server x 3
carbon-‐‑‒cache
9. 第1世代:構成P9
Hypervisor x N
sensu-‐‑‒client
Xeon L5640 2.13GHz x 1
DDR3-‐‑‒1333 2GB x 3
300GB 15k SAS HDD x 4 (RAID1+0)
Intel 5520 + IOH-‐‑‒36D
redissensu-‐‑‒server
Confiden'al
:Discussion
purpose
only
Sensu と同じ
graphite-‐‑‒web
conetxt-‐‑‒hashing
replication=1
Xeon E5-‐‑‒2630L 2.00GHz x 2
DDR3-‐‑‒1600 8GB x 8
300GB 10k SAS HDD x 4 (RAID1+0)
Intel C602
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
All-‐‑‒in-‐‑‒one Sensu Server x 1
rabbitmq-‐‑‒server
sensu-‐‑‒apisensu-‐‑‒dashboard
carbon-‐‑‒relay server x 1
carbon-‐‑‒relaycarbon-‐‑‒cache server x 3
carbon-‐‑‒cache
10. 第1世代:運⽤用P10
• 開始時点のクライアント数は 200 弱
• 500 ぐらいまで安定稼働
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
11. 第1世代:運⽤用P11
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
• sensu
• LOG LEVEL = warn でローテ
• max open files は増量量(server)
• Checks:約10項⽬目 per 60sec
• セキュリティチェック
• リソースチェック
• サービス / RAID 監視
• etc...
• 通知:1⽇日1回
• メール:コミュニティのものをカスタム
• 社内チャット:graphite グラフを添えて通知
14. 第2世代:構成P14
redissensu-‐‑‒server
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
All-‐‑‒in-‐‑‒one Sensu Server x 3
rabbitmq-‐‑‒server
sensu-‐‑‒apisensu-‐‑‒dashboard
carbon-‐‑‒relay server x 2
carbon-‐‑‒relay
carbon-‐‑‒cache server x 3
carbon-‐‑‒cache
Hypervisor x N
sensu-‐‑‒client
graphite-‐‑‒web
conetxt-‐‑‒hashing
replication=1
15. 第2世代:運⽤用P15
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
• Sensu
• All-‐‑‒in-‐‑‒one を3台並べてロードバランス
• redis は1台のみにむける
• rabbitmq のミラーリングは無し
• 最初してたけどキューが謎に暴暴発するのでやめた
• ただしクラスタは組む
• Graphite
• carbon-‐‑‒relay
• 同⼀一構成を2台並べてロードバランス
16. 第2世代:運⽤用P16
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
• クライアント数は 1000 弱
• 設定ミスするとアラートが無双する...
ntp 同期してない sensu-‐‑‒server を投⼊入してしまった図
18. 第3世代:構成
redis server x 1
Confiden'al
:Discussion
purpose
only
P18
carbon-‐‑‒cache x N
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
dashboard server x 1
sensu server x 30
rabbitmq server x 3
rabbitmq-‐‑‒server
sensu-‐‑‒apiuchiwa
sensu-‐‑‒server
redis
carbon-‐‑‒relay server x 2
carbon-‐‑‒relay x N
carbon-‐‑‒cache server x 6
Hypervisor x N
sensu-‐‑‒clienthaproxygraphite-‐‑‒web
carbon-‐‑‒relay x N
gluster
conetxt-‐‑‒hashing
replication=1
conetxt-‐‑‒hashing
replication=1
replication=2
19. 第3世代:運⽤用P19
• クライアント数は 3000+
• VM のメトリクス取得開始でキューが急増
• 1HV あたり 10VM+
• VM 作成者にサービスとしてグラフ API 提供
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
20. 第3世代:運⽤用P20
Confiden'al
:Discussion
purpose
only
スケールアウトしたときのキュー推移
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
• sensu
• sensu-‐‑‒server on VM を並べてスケールアウト
• スペックよりも数を重視
• redis は現在冗⻑⾧長化中...
• UI は uchiwa に切切り替え
• v0.2+ になってずいぶん軽くなった
21. 第3世代:運⽤用P21
Confiden'al
:Discussion
purpose
only
Copyright
(C)
2012
Yahoo
Japan
Corpora'on.
All
Rights
Reserved.
• graphite
• LB → haproxy で受けて relay プロセスに分散
• コア数に応じて daemon ⽴立立ち上げ(職⼈人芸)
• carbon-‐‑‒relay = CPU bound
• carbon-‐‑‒cache = IO bound
• 管理理は megacarbon 利利⽤用(v0.10+)
• ログが結構サイズをとるのでケアする必要あり
• LOG_̲WRITES=false / LOG_̲CACHE_̲HITS = false
• max open files 増量量必須
• whisper ではなく ceres (v0.10+)
• whisper はスケールアウト時にやや難あり
• メンテスクリプトを cron で回す必要あり