こんにちは、cloudpack佐藤 裕行 です。

Fluentdを可視化したい!

手っ取り早く可視化したかったため、実装。

以下の値をグラフ化することができます。

fluentd_process
プロセス数の取得
fluentd_resource
メモリ量の取得
fluentd_monitor_agent
各種metricsの取得

Muninクライアントの導入

サーバ側は実装済みとする。

sudo yum install perl-XML-SAX-0.96-7.el6.noarch
sudo yum --disablerepo=rpmforge-extras --enablerepo=epel install munin-node

依存関係でエラーがでたので、Perlのインストールとdisablerepoは環境によってどうぞ。

設定

td-agentの設定ファイルにmonitor_agentを記載して再起動。


  type monitor_agent
  bind 127.0.0.1
  port 24220

動作確認。
値が帰ってくれば問題ない。

curl http://localhost:24220/api/plugins.json

プラグイン実装

munin-fluentdを使用して、monitor_agentの値をmuninに渡す。

cd /opt
git clone https://github.com/moaikids/munin-fluentd.git

シンボリックリンク

ln -s /opt/munin-fluentd/plugins/fluentd/fluentd_monitor_agent /etc/munin/plugins/
ln -s /opt/munin-fluentd/plugins/fluentd/fluentd_process /etc/munin/plugins/
ln -s /opt/munin-fluentd/plugins/fluentd/fluentd_resource /etc/munin/plugins/

実行権限を付与

chmod +x /opt/munin-fluentd/plugins/fluentd/fluentd_*

設定ファイルを記載

/etc/munin/plugin-conf.d/fluentd

[fluentd*]
user munin
env.host localhost
env.port 24220
env.package td-agent #もしくはfluentd

接続するサーバ追加

/etc/munin/munin-node.conf

allow ^10.xx.xx.xx$

再起動

service munin-node restart

これで、サーバ側で値が取得できれば完了。

etc…

ホスト名にアンダーバー等の文字列が入っている場合は、munin-nodeがうまく動かないので
munin-node.confにhost_nameを記載して対応する。

参考サイト

元記事はこちらです。
Munin に td-agent/fluentd のプラグインを入れる(CentOS6.5)