fluentdがv0.14からWindowsで動くようになりました.それにともない,fluentd v0.14を使うtd-agent 3.0もWindows用のmsiパッケージを提供することにしました!
で,msiパッケージを作ってみたので,興味のある方に試してもらいたく,使い方を書きます.
正式版リリース時には,fluentdの公式ドキュメントにもちゃんとした手順は追加する予定です.これらの手順は管理者権限を持ったアカウントで実行しているのを想定しています.
インストール
msiパッケージをダウンロードしてクリックすればインストール出来ます.パッケージのURIは以下です.
beta1とついている通り,まだbetaです.今後いくつか変更予定がありますが,それは最後に書きます.
Fluentdを動かす
プロンプトを起動する
msiパッケージをインストールすると,Td-agent Command Prompt
というのも一緒にインストールされます.
Windows Server 2012だとこんな感じの表示です.これをクリックすると,td-agentのrubyとかにPATHが入った状態でプロンプトが起動します.
設定ファイルとログのディレクトリを用意する
まだスクリプトの修正が完全ではなく,td-agent.confとかを勝手に作らないので,ここは現状自前で用意する必要があります.
- C:/opt/td-agent/conf/td-agent.conf
テスト用なのでin_forward
とout_stdout
を使ってみます.
<source>
@type forward
</source>
<match test.**>
@type stdout
</match>
fluentdコマンドで動かす
プロンプトが起動したらC:/opt/td-agent
に最初からいるので,以下のコマンドでfluentdを起動させます.
> fluentd -c conf\td-agent.conf
これでfluentdが起動するはずです.
fluent-catで動作確認
新しくTd-agent promptを立ち上げ,以下のコマンドを入力すれば,fluentd側で受け取れているのが確認できます.
> echo {"message":"hello"} | fluent-cat test.event
スクリーンショットだけ貼っておきますが,in_tail
も基本的な動作は確認しています.
Fluentdをサービスとして登録する
手順は下記の記事と同じ流れになります.
fluentd Windows版をWindowsサービスとして動かす
fluentdをサービスとして登録する
Td-agent promptから以下のコマンドを入力します
> fluentd --reg-winsvc i
そうすると,サービスとしてFluentd Windows Service
が登録されます.これは管理ツールから確認出来ます.
fluentdの起動オプションを設定する
プロンプト上で以下のコマンドを入力してください
> fluentd --reg-winsvc-fluentdopt '-c C:/opt/td-agent/conf/td-agent.conf -o C:/opt/td-agent/log/td-agent.log
ログディレクトリは現状インストール時に自動で作られないので,C:/opt/td-agent/log
を作ってから実行してください.
また,トラブルを回避するため,fluentdのオプションで指定するパスは\
区切りではなく,/
区切りで指定してください.これはfluentdの設定ファイル内のファイルパスも同じです.
Fluentd Windows Serviceからfluentdを起動する
Fluentd Windows Serviceのプロパティを開き,Start
を押せば走るようになります.上記の記事にスクリーンショットがあるので,そちらも参考にしてみてください.
これらが基本的な操作になります.また,Td-agent promptからfluent-gem
を使えば,プラグインもインストール可能です.
今後のタスク
いくつか追加・変更が入る予定です
- Rubyを2.4にする.現状ruby 2.4に対応していないgemを回避するため2.3.3を使っていますが,正式版の時には2.4.0にする予定です.
- ヘルパーとなるスクリプト群を用意する.上記のサービス登録やオプション追加などを一発でやるスクリプトを入れます.
- Windowsのイベントログを集めるプラグインを同梱する.okahashiさんが作ってくれたプラグインがあるので,これを叩き台にしてmsiパッケージに同梱しようと思ってます.必要な機能など,イベントログ周りに詳しい人に色々と教えてもらいたいです.
以上です.是非試してフィードバックを貰えると嬉しいです.また,Linux/Mac向けのtd-agent 3.0.0もすぐリリースします.その時にもまた変更点など記事を書く予定です.