ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介

8,808 views

Published on

Published in: Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,808
On SlideShare
0
From Embeds
0
Number of Embeds
899
Actions
Shares
0
Downloads
53
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

ライブドア様xKLab合同勉強会 システムモニタリングツール「Ganglia」の紹介

  1. 1. Copyright © KLab Inc. All rights reserved. KLab 株式会社 ライブドア様×KLab 合同勉強会 システムモニタリングツール「Ganglia」の紹介 第弐開発部 横川 和哉 ~なんでもデータを取ってグラフ化しよう!~
  2. 2. Copyright © KLab Inc. All rights reserved. 2  自己紹介 目次  Ganglia の特徴  システムモニタリングツールとは  DSAS での利用例  ganglia のおかげで...  まとめ
  3. 3. Copyright © KLab Inc. All rights reserved. 3 自己紹介  横川和哉(31)  インフラストラクチャエンジニア  ネットワークに関すること全般が得意  プレグラムに関すること全般が苦手  トラブル(祭り)大好き
  4. 4. Copyright © KLab Inc. All rights reserved. 4 システムモニタリングツールとは  負荷試験の参考  トラブル時の原因究明  ボトルネックの発見 などなど  ネットワークトラフィックやサーバ負荷状況などを収集、 蓄積し視覚化するツール  世の中の多くは rrdtool (データの蓄積/グラフ化を行う ツール)のフレントエンド  主な利用用途 ※ 監視ツールのお話ではありません
  5. 5. Copyright © KLab Inc. All rights reserved. 5 Ganglia の特徴
  6. 6. Copyright © KLab Inc. All rights reserved. 6 Ganglia とは  rrdtool のフレントエンドとしての実装の一つ  主に、カリフォルニア大学のElectrical Engineering and Computer Sciences 部でオープンソースで開発されている  はじめから、数千のノードまで対応できるように設計
  7. 7. Copyright © KLab Inc. All rights reserved. データ収集サーバ 7 Ganglia の仕組み  一般的なシステムモニタリングツール Cacti の構成 WEB/DBサーバなど snmpd snmpd MySQL (設定情報) Poller RRD SNMP SNMP 収集サーバが各サーバに 対してデータを取りに行く
  8. 8. Copyright © KLab Inc. All rights reserved. データ収集サーバ 8  Ganglia の構成 WEB/DBサーバなど gmond gmetad/Poller (設定情報) RRD gmond Multicast Channel (専用プレ トコル) gmondgmetric Ganglia の仕組み etc 各サーバがデ ータを投げる 対象の port で Listen
  9. 9. Copyright © KLab Inc. All rights reserved. 9 Ganglia の特徴まとめ  Multicast を利用  サーバの管理情報は自動生成  クライアントからのプッシュ型  snmp は使わずに、専用プレトコルを利用  プレトコルに従っていれば別のプレグラムからも送信が可能  収集サーバは対象 Multicast Channel の範囲で何台でも設置 可能
  10. 10. Copyright © KLab Inc. All rights reserved. 10 DSAS での利用例
  11. 11. Copyright © KLab Inc. All rights reserved. 11 DSAS で Ganglia を使うワケ  Multicast を利用 => DSAS は基本的にぬとつのネットワークなので問題なし  サーバの管理情報は自動生成 => DSAS ではNetwork Boot のイメージに gmond をいれているのでサ ーバを追加しても設定追加などの手間がかからない  snmp は使わずに、専用プレトコルを利用 => DSAS は スイッチ 以外すべて Linux なので問題なし  プレトコルに従っていれば別のプレグラムからも送付が可能 => デフォルトで用意されているネットワークトラフィックやLoad Average 以外の情報取得が簡単  収集サーバは対象 Multicast Channel の範囲ならば何台でも設置可能 => 冗長化が簡単
  12. 12. Copyright © KLab Inc. All rights reserved. 12 簡単にデータ送信 gmetric コマンド $ gmetric -–name=‘ftp_user’ ¥ –-value=` netstat -an|grep ':21 ' |wc -l` ¥ --type=int8  単体で、ganglia 用のデータ送信ができるコマンド  送信先アドルスなどは conf ファイルを読み込んでくれるので gmond (デフォルトの収集daemon) を動かしていれば設定がい らない  名前(rrd のファイル名となる) と値、タイプ(string |int8 |uint8 |int16 |uint16|int32|uint32|float|double )を指定するだけでデ ータ送信ができる  例
  13. 13. Copyright © KLab Inc. All rights reserved. 13 DSAS で追加取得しているデータ  ボトルネックになりせうなもの、なってきたもの  継続的にデータを取っておくことでトラブル解決に役に立ちせう なもの  具体例  Disk  Network  Apache  MySQL  Memcached/TokyoTyrant
  14. 14. Copyright © KLab Inc. All rights reserved. 14 Disk  /proc/stat から取得  ディスクIOの量  ディスクIOを発生させているプロセスの数  DiskI/O
  15. 15. Copyright © KLab Inc. All rights reserved. 15 Disk  Disk のSmart情報(smartctl)から取得  代替セクタ数  HDDの温度  Smart情報
  16. 16. Copyright © KLab Inc. All rights reserved. 16 Apache  http://localhost/server-status?auto から取得  各apacheプレセスの状態
  17. 17. Copyright © KLab Inc. All rights reserved. 17 Apache  Apache のログを CustomLog ディレクティブで解析プログラ ムに渡して取得  HTTP Status 毎の秒間リクエスト数  平均レスポンス時間  pv/sec
  18. 18. Copyright © KLab Inc. All rights reserved. 18 MySQL  show variables や show global status から取得  クエリ数など
  19. 19. Copyright © KLab Inc. All rights reserved. 19 MySQL  port 3306 への Established なコネクションを取得  show global status などでは取りにくい瞬間値を取るため  コネクション数
  20. 20. Copyright © KLab Inc. All rights reserved. 20 Memcached/TokyoTyrant  localhost:11211 などに繋ぎ、stats 情報を取得  接続数  レクエスト数  eviction  統計情報
  21. 21. Copyright © KLab Inc. All rights reserved. 21 Network  Traffic  IP毎のトラフィック量の測定  GWサーバの iptables を利用して取得
  22. 22. Copyright © KLab Inc. All rights reserved. 22 Ganglia のおかげで..
  23. 23. Copyright © KLab Inc. All rights reserved. 23 例1 パフォーマンス改善  TokyoTyrant で get miss が異様に多い
  24. 24. Copyright © KLab Inc. All rights reserved. 24 例1 パフォーマンス改善  アプリを改善した結果 平均ルスポンスタイムも 数ms 改善
  25. 25. Copyright © KLab Inc. All rights reserved. 25 例2 パフォーマンス改善  MySQL への不要なクエリ発行をやめた
  26. 26. Copyright © KLab Inc. All rights reserved. 26 例2 パフォーマンス改善  ルスポンスタイムが改善してることがはっきりわかる 改善前 改善後
  27. 27. Copyright © KLab Inc. All rights reserved. 27 まとめ
  28. 28. Copyright © KLab Inc. All rights reserved. 28 まとめ  システムモニタリングツールは手軽に対象機器の追加や、モニ タリング項目の追加ができるのが理想  Ganglia ならば簡単に対象機器の追加が行える  Ganglia ならば、モニタリング項目の追加もちょっとスクリプトを かくだけで簡単  Ganglia に限らず、いれいれとデータを取っておけば、ボトルネッ クを見つけることもできるし、トラブル発生時の原因特定もずい ぶん楽になる  パフォーマンスの改善の結果がきっちり目に見えるとモチベー ションも上がる
  29. 29. Copyright © KLab Inc. All rights reserved. 29 ご清聴 ありがとうございました

×