tl;dr
- マイブームの collectd でサーバー、クライアント環境って作れるのか調べてみたら意外に簡単だった
- facette もセットアップは簡単なのでついでに触ってみる
メモ
Vagrantfile
collectd のクラサバ構成
クラサバ構成のキモは network プラグイン。以下のように server(メトリクスデータを収集する側)、client(サーバーにメトリクスデータを飛ばす側)で設定するだけ。
# # server # $ cat /etc/collectd/collectd.conf.d/network.conf LoadPlugin network <Plugin network> <Listen "0.0.0.0" "25826"> # SecurityLevel Sign # AuthFile "/etc/collectd/passwd" # Interface "eth0" </Listen> </Plugin> # # client # $ cat /etc/collectd/collectd.conf.d/network.conf LoadPlugin network <Plugin network> <Listen "0.0.0.0" "25826"> # SecurityLevel Sign # AuthFile "/etc/collectd/passwd" # Interface "eth0" </Listen> </Plugin>
認証も設けることが出来るので、実運用の際には認証は設定しておきたい。(上記の Vagrantfile では認証は設定されていない)
facette とは
facette は Go 言語で書かれた rrd や Graphite 等の時系列データベースをバックエンドデータベースとして利用可能な時系列データの可視化ツール。
現在は開発途上な為、プロダクション環境での利用は推奨されていないので注意。
導入については、各種 OS 環境のパッケージを取得してインストールする。
vagrant up
vagrant up --provision
実行すると仮想マシンが 2 台構築されて以下のような構成となる。
[ vm02 ](collectd) => [ vm01 ](facette / collectd) <= [ ワシ ]
facette UI
ざっくりと紹介。
Graphite とか influxdb とかも利用可能。機会があれば試してみよう。
Origin がバックエンドのデータベースのことだと思われる。今回は collectd(rrd)のみ。
Sources が各 collectd が動いているホスト。Source Groups で各 Source をグルーピング出来る。
collectd で収集しているメトリクス各種。
まだまだお触りが足りていないけど、グラフをこさえるところまではイケた。
以上
メモでした。