Date Modified Tags linux

前回の続き

rbenvのgemを使ってインストールしたfluentdはserviceからの起動スクリプトが無いので、service fluentd startみたいなことをしたければ自分で登録するしかない。

でも1からスクリプトを書くのは面倒なので、td-agentのスクリプトを利用することにした。 まずはtd-agentのインストール、削除

$ sudo aptitude install td-agent
$ sudo aptitude remove td-agent

削除してもserviceで使うスクリプトは残るみたいなので、これを元に起動スクリプトを作る。

td-agentの起動スクリプトは

/etc/init.d/td-agentにある。

td-agentをfluentdに変えて、編集した。編集内容は主に以下の通り

  • td-agentをfluentdに変更
  • DAEMONをfluentdまでのパスに変更
  • USER、GROUPをfluentdをインストールしたユーザー、グループに変更
  • DAEMON_ARGSに"--config /path/to/config"を追加
  • /var/log/fluentd/fluentd.logを作っておく。ユーザー、グループはfluentdのユーザー、グループにする

必要無くて消して良い部分も結構ある気がするが、とりあえず動く為に最小限の修正にしておく。 最後にserviceに登録するために

$ sudo update-rc.d fluentd defaults

でserviceにfluentdが登録される。ちなみにスクリプトのデバッグは

$ bash -x /etc/init.d/fluentd start

とすればある程度出来るので、変なエラーが出ないかはここでチェックしてしまうと良い。

以上をansibleで動かすようにしてみた。

参考: