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