たまたまTwitterのTLで拾ったので、入れてみました。
- https://pypi.python.org/pypi/Glances
- A cross-platform curses-based monitoring tool
理由は、pipyでのスクリーンショットが良かったから、です^^;
Install
CentOSではrpmが提供されているので、yumでインストールできます。(python-glance-2012.2.4-3.el6.noarch)
わたしの場合は、VagrantのCentOS6.5に追加してみました。(yumではなく、easy-installでも、pipでも簡単に入ります)
起動してみます
コマンドを打つだけです。
% glances
スクリーンショット
起動してしばらくすると、一括でリソース状況が描画されます。
ヘルプ画面。
デフォルトでいろんな情報を一画面に表示なのですが、オプションで絞りこんだり出来るようです。
クライアント&サーバモードで起動
ドキュメントを参照すると、何やらクライアント&サーバモードがあるようです。
表現を確認すると、
- リソース情報を提供する側:サーバ
- リソース状況を取得する側:クライアント
となります。
また、どちらの環境にも、Glancesをインストールしておくのが前提になります。
今回は、VagrantでのCentOS側をサーバ、MacOS側をクライアントにしてみました。
[vagrant@centos-tare ~]$ glances -s # vagrant側 / IPを192.168.33.11に割り当て中。
% glances -c @192.168.33.11 # MacOS側
こんな感じで、ポート:61209を通して、クライアント側から情報が取得できます。
とくに負荷もかかっていない状況だと、グリーンで表示されます。
忙しく働いている時は?
なにか負荷がかかっている場合は、その状況に応じて、ターミナル上に色が付いて視覚化されるようです。
負荷かけるにしてもあまり良い案が無かったのですが、bonnie++ というディスクIOのベンチマークツールでVagrant側のOSに書き込みの負荷をかけてみることにしました。
#性能測定が目的ではないです(^^;
やってみると、bonnie++のプロセスがブンブン回って、CPUの値が上がっていき、緑 -> ピンク -> 赤に変わりました。
APIがあります
さて、サーバモードでlistenしている、に加えて、XML-RPCでのAPIも備えている模様。
pythonであればjson形式でデータが取れるようです。
ListenするPortは、同じく61209です。
MacOS側クライアントのプロセスを立ち上げながら、tcpdumpを取ってみると、こんな感じで情報が覗き見れます。
(Aオプションで文字列を拾ってみます)
% sudo tcpdump -i vboxnet1 -A
# 中略
…
"host": {"linux_distro": "CentOS 6.5", "platform": "64bit", "os_name": "Linux", "hostname": "centos-tare", "os_version": "2.6.32-431.el6.x86_64"},
シンプルですが、CSVやHTMLに書き出すオプションもありました。
ソースをちゃんと読んで勉強するのも良いかと思いました。
ということで、簡単ですが、Glancesについての記事でした。