110 Views
September 26, 14
スライド概要
9/17 の Sensu Casual Talks #1 で発表された資料です。
http://www.zusaar.com/event/7607003
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Confiden'al :Discussion purpose only Sensu Casual Talks #1 ヤフー株式会社 渡邉 貴志 takaswat@yahoo-‐‑‒corp.jp Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
⾃自⼰己紹介 P2 • 名前:渡邉 貴志 • 職業:インフラエンジニア システム統括本部 サイトオペレーション本部 インフラ技術3部 シスアド • 担当:サーバ(OS & ハード) • Linux, FreeBSD • ハイパーバイザ • 半導体メモリ • 最近の興味 • 不不揮発性メモリ(PCM, ReRAM, MRAM, ...) Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
P3 Sensu + Graphite を 1年年運⽤用してみて -‐‑‒ 導⼊入に⾄至るまで -‐‑‒ 運⽤用あれこれ Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
導⼊入に⾄至るまで P4 • 2011年年:内製 IaaS をローンチ 急増する HV の運⽤用に追われる⽇日々 ↓ • 監視はカスタム Nagios を利利⽤用 • • • • • 設定が煩雑 監視サーバが分散しており運⽤用が⾯面倒 死活監視程度度しかできてない 可視化できてない 運⽤用してておもしろくない Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
導⼊入に⾄至るまで P5 • 2013年年:OpenStack へ切切り替え開始 計画段階で HV 5000台 ハイペースで投⼊入予定 ↓ • このままだと死ぬ! • 次世代監視サーバの選定 ↓ • Sensu + Graphite に決定 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
Sensu + Graphite にした理理由 • • • • • P6 クライアント追加時にサーバ設定必要なし Nagios 資産が流流⽤用できる 描画 API がいいかんじ どちらもスケールするアーキタイプ Chef 使えばセットアップが楽 • 既成 cookbook をカスタムして利利⽤用することに • portertech/chef-‐‑‒monitor • sensu/sensu-‐‑‒chef • subscriber と role が連動したり • LWRP が⽤用意されていたり Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
P7 とりあえず運⽤用開始 第1世代 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第1世代:構成 P8 Hypervisor x N sensu-‐‑‒client carbon-‐‑‒relay server x 1 All-‐‑‒in-‐‑‒one Sensu Server x 1 rabbitmq-‐‑‒server redis sensu-‐‑‒server carbon-‐‑‒relay graphite-‐‑‒web conetxt-‐‑‒hashing replication=1 carbon-‐‑‒cache server x 3 sensu-‐‑‒api Confiden'al :Discussion purpose only sensu-‐‑‒dashboard carbon-‐‑‒cache Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第1世代:構成 P9 Hypervisor x N sensu-‐‑‒client All-‐‑‒in-‐‑‒one Sensu Server x 1 rabbitmq-‐‑‒server Xeon L5640 2.13GHz x 1 DDR3-‐‑‒1333 2GB x 3 redis sensu-‐‑‒server 300GB 15k SAS HDD x 4 (RAID1+0) Intel 5520 + IOH-‐‑‒36D sensu-‐‑‒api Confiden'al :Discussion purpose only sensu-‐‑‒dashboard carbon-‐‑‒relay server x 1 carbon-‐‑‒relay Sensu と同じ graphite-‐‑‒web conetxt-‐‑‒hashing replication=1 carbon-‐‑‒cache server x 3 Xeon E5-‐‑‒2630L 2.00GHz x 2 carbon-‐‑‒cache 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.
第1世代:運⽤用 P10 • 開始時点のクライアント数は 200 弱 • 500 ぐらいまで安定稼働 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第1世代:運⽤用 P11 • sensu • LOG LEVEL = warn でローテ • max open files は増量量(server) • Checks:約10項⽬目 per 60sec • • • • セキュリティチェック リソースチェック サービス / RAID 監視 etc... • 通知:1⽇日1回 • メール:コミュニティのものをカスタム • 社内チャット:graphite グラフを添えて通知 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第1世代:運⽤用 P12 • graphite • relay • スケール考えると consistent hash 1択 • cache • • • • HDD だと IO たりない tmpfs でまかなうことに(55GB) cron で定期的に永続化ジョブ実⾏行行 リテンションはテストして調整・キャパプラ • aggregator • 使いづらいし使わないほうがいいらしい • 集約するなら別の⼿手段を検討すべき Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
P13 冗⻑⾧長化開始 第2世代 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第2世代:構成 P14 Hypervisor x N sensu-‐‑‒client carbon-‐‑‒relay server x 2 All-‐‑‒in-‐‑‒one Sensu Server x 3 rabbitmq-‐‑‒server redis sensu-‐‑‒server carbon-‐‑‒relay graphite-‐‑‒web conetxt-‐‑‒hashing replication=1 carbon-‐‑‒cache server x 3 sensu-‐‑‒api Confiden'al :Discussion purpose only sensu-‐‑‒dashboard carbon-‐‑‒cache Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第2世代:運⽤用 P15 • Sensu • All-‐‑‒in-‐‑‒one を3台並べてロードバランス • redis は1台のみにむける • rabbitmq のミラーリングは無し • 最初してたけどキューが謎に暴暴発するのでやめた • ただしクラスタは組む • Graphite • carbon-‐‑‒relay • 同⼀一構成を2台並べてロードバランス Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第2世代:運⽤用 P16 • クライアント数は 1000 弱 • 設定ミスするとアラートが無双する... ntp 同期してない sensu-‐‑‒server を投⼊入してしまった図 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
P17 本格運⽤用化 第3世代 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第3世代:構成 P18 carbon-‐‑‒relay server x 2 Hypervisor x N haproxy sensu-‐‑‒client graphite-‐‑‒web carbon-‐‑‒relay x N rabbitmq server x 3 sensu server x 30 carbon-‐‑‒relay x N redis server x 1 conetxt-‐‑‒hashing replication=1 redis dashboard server x 1 sensu-‐‑‒api Confiden'al :Discussion purpose only conetxt-‐‑‒hashing replication=1 sensu-‐‑‒server rabbitmq-‐‑‒server uchiwa carbon-‐‑‒cache x N gluster replication=2 carbon-‐‑‒cache server x 6 Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第3世代:運⽤用 P19 • クライアント数は 3000+ • VM のメトリクス取得開始でキューが急増 • 1HV あたり 10VM+ • VM 作成者にサービスとしてグラフ API 提供 Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第3世代:運⽤用 P20 • sensu • sensu-‐‑‒server on VM を並べてスケールアウト • スペックよりも数を重視 スケールアウトしたときのキュー推移 • redis は現在冗⻑⾧長化中... • UI は uchiwa に切切り替え • v0.2+ になってずいぶん軽くなった Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
第3世代:運⽤用 P21 • 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 で回す必要あり Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
P22 まとめ Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.
まとめ P23 • sensu + graphite を1年年運⽤用してみて • ⼤大規模な監視で⼗十分つかえる • ⾃自動で監視登録されるのは⾮非常に便便利利 • どんどん投⼊入できる • フレキシブルで気軽に使える • とりあえず導⼊入して徐々にスケールできた • ただし CM ツール利利⽤用しないとつらいかも • 今後 • メールハンドラを改良良する • ⼀一定時間分を畳み込んで送信するようなもの • よいものあれば教えてください • carbon-‐‑‒cache にフラッシュデバイスとか Confiden'al :Discussion purpose only Copyright (C) 2012 Yahoo Japan Corpora'on. All Rights Reserved.