Mac上のVirtualBoxにFluentd(td-agent)を入れる
コマンドひとつで好き勝手にマシンが作れるのは便利だけれど、
いちいちリモートにログインしてログを見るのがどうにも面倒くさい・・・。
ログをホストに持ってきたら、楽ちんじゃん!!
ということで、仮想マシン作成時にfluentd(td-agent)を入れてログを飛ばすことにしました。
開発機のMacに、VagrantでVirtualBoxを入れています。
fluentdインストール
クイックスタードガイドによると、色々とインストール方法があるみたいですが、
今回は何度も潰して建てる環境なので、chefでインストールが楽ですかね。
Quickstart Guide | Fluentd
Berksfileでtd-agentを落としてくる。
$ echo 'cookbook "td-agent"' >> Berksfile $ berks install
ついでに knifhプラグインの chef-td-agent も持ってくる。
$ gem install knife-github-cookbooks $ knife cookbook github install treasure-data/chef-td-agent
Vagrantで仮想マシン起動時にインストールされるよう追加。
$ cat Vagrantfile (略) config.vm.provision :chef_solo do |chef| chef.cookbooks_path = "./cookbooks" chef.run_list = %w[ recipe[td-agent] ] end (略)
以上でインストール完了。
vargrant up
で起動。勝手に追加してくれます。
ゲストのtd-agent
ゲストにログインして、ローカルのファイルから、ローカルのファイルへ転送をしてみます。
設定は以下の通り。
# cat /etc/td-agent/td-agent.conf <source> type tail format none path /var/log/example tag example.hoge </source> <match example.*> type file path /var/log/td-agent/example </match>
td-agent
ユーザーで動作するようなので、パーミッションにはご注意ください。
あとは出力先をゲストの/vagrant/
にすれば終了です。
vagrantのおかげで、ホストとのファイル共有も楽ちん。
fluentd と td-agent
そういやfluentdとtd-agentの関係がよく分かりませんでした。
古い記事だと、fluentdの安定版がtd-agentみたいな事が書いてましたけど・・・
fluentdの公式で、td-agentのインストール手順しか書いていないってことは、
fluentdの実装が td-agent になったって認識でいいんですかね?