ようへいの日々精進XP

よかろうもん

collectd と facette の Vagrantfile を作った(collectd でサバクラ環境を作る)

tl;dr

  • マイブームの collectd でサーバー、クライアント環境って作れるのか調べてみたら意外に簡単だった
  • facette もセットアップは簡単なのでついでに触ってみる

メモ

Vagrantfile

github.com

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 等の時系列データベースをバックエンドデータベースとして利用可能な時系列データの可視化ツール。

facette.io

現在は開発途上な為、プロダクション環境での利用は推奨されていないので注意。

導入については、各種 OS 環境のパッケージを取得してインストールする。

vagrant up

vagrant up --provision

実行すると仮想マシンが 2 台構築されて以下のような構成となる。

[ vm02 ](collectd) => [ vm01 ](facette / collectd) <= [ ワシ ] 

facette UI

ざっくりと紹介。

f:id:inokara:20161010182833p:plain

Graphite とか influxdb とかも利用可能。機会があれば試してみよう。

f:id:inokara:20161010182913p:plain

Origin がバックエンドのデータベースのことだと思われる。今回は collectd(rrd)のみ。

f:id:inokara:20161010182954p:plain

Sources が各 collectd が動いているホスト。Source Groups で各 Source をグルーピング出来る。

f:id:inokara:20161010183001p:plain

collectd で収集しているメトリクス各種。

f:id:inokara:20161010183011p:plain

まだまだお触りが足りていないけど、グラフをこさえるところまではイケた。

以上

メモでした。