Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sensu + Graphite を1年運⽤してみて #sensucasual

5,870 views

Published on

9/17 の Sensu Casual Talks #1 で発表された資料です。
http://www.zusaar.com/event/7607003

Published in: Internet
  • Hey guys! Who wants to chat with me? More photos with me here 👉 http://www.bit.ly/katekoxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Sensu + Graphite を1年運⽤してみて #sensucasual

  1. 1. Confiden'al :Discussion purpose only Sensu Casual Talks #1 ヤフー株式会社 渡邉 貴志 takaswat@yahoo-‐‑‒corp.jp Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
  2. 2. ⾃自⼰己紹介P2 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved. • 名前:渡邉 貴志 • 職業:インフラエンジニア システム統括本部 サイトオペレーション本部 インフラ技術3部 シスアド • 担当:サーバ(OS ハード) • Linux, FreeBSD • ハイパーバイザ • 半導体メモリ • 最近の興味 • 不不揮発性メモリ(PCM, ReRAM, MRAM, ...)
  3. 3. Sensu + Graphite を 1年年運⽤用してみて -‐‑‒ 導⼊入に⾄至るまで -‐‑‒ 運⽤用あれこれ Confiden'al :Discussion purpose only P3 Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
  4. 4. 導⼊入に⾄至るまでP4 • 2011年年:内製 IaaS をローンチ 急増する HV の運⽤用に追われる⽇日々 ↓ • 監視はカスタム Nagios を利利⽤用 • 設定が煩雑 • 監視サーバが分散しており運⽤用が⾯面倒 • 死活監視程度度しかできてない • 可視化できてない • 運⽤用してておもしろくない Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
  5. 5. 導⼊入に⾄至るまでP5 • 2013年年:OpenStack へ切切り替え開始 計画段階で HV 5000台 ハイペースで投⼊入予定 ↓ • このままだと死ぬ! • 次世代監視サーバの選定 ↓ • Sensu + Graphite に決定 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
  6. 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 が⽤用意されていたり
  7. 7. Confiden'al :Discussion purpose only P7 とりあえず運⽤用開始 Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved. 第1世代
  8. 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. 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. 10. 第1世代:運⽤用P10 • 開始時点のクライアント数は 200 弱 • 500 ぐらいまで安定稼働 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
  11. 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 グラフを添えて通知
  12. 12. 第1世代:運⽤用P12 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved. • graphite • relay • スケール考えると consistent hash 1択 • cache • HDD だと IO たりない • tmpfs でまかなうことに(55GB) • cron で定期的に永続化ジョブ実⾏行行 • リテンションはテストして調整・キャパプラ • aggregator • 使いづらいし使わないほうがいいらしい • 集約するなら別の⼿手段を検討すべき
  13. 13. Confiden'al :Discussion purpose only P13 Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved. 冗⻑⾧長化開始 第2世代
  14. 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. 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. 16. 第2世代:運⽤用P16 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved. • クライアント数は 1000 弱 • 設定ミスするとアラートが無双する... ntp 同期してない sensu-‐‑‒server を投⼊入してしまった図
  17. 17. Confiden'al :Discussion purpose only P17 Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved. 本格運⽤用化 第3世代
  18. 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. 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. 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. 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 で回す必要あり
  22. 22. Confiden'al :Discussion purpose only P22 Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved. まとめ
  23. 23. まとめP23 • sensu + graphite を1年年運⽤用してみて • ⼤大規模な監視で⼗十分つかえる • ⾃自動で監視登録されるのは⾮非常に便便利利 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved. • どんどん投⼊入できる • フレキシブルで気軽に使える • とりあえず導⼊入して徐々にスケールできた • ただし CM ツール利利⽤用しないとつらいかも • 今後 • メールハンドラを改良良する • ⼀一定時間分を畳み込んで送信するようなもの • よいものあれば教えてください • carbon-‐‑‒cache にフラッシュデバイスとか

×