カピバラ好きなエンジニアブログ

興味ある技術とか検証した内容を赴くままに書いていきます。カピバラの可愛さこそ至高。

Fluentdインストール(Windows Server 2019)

はじめに

タイトル通りです。
普段使用しているWindows ServerにFluendのインストールを行っていきます。

インストールは公式の手順を元に進めます。
docs.fluentd.org


実施内容

  • What is td-agent?
  • Step 1: Install td-agent
  • Step 2: Run td-agent from Command Prompt
  • Step 3 , Step 4
  • その他
  • 所感

 
 

What is td-agent?

最初にtd-agentとは何かということが書いてあります。

Fluentd is written in Ruby for flexibility, with performance sensitive parts written in C. However, casual users may have difficulty installing and operating a Ruby daemon.
That's why Treasure Data, Inc is providing the stable distribution of Fluentd, called td-agent. The differences between Fluentd and td-agent can be found here.
For Windows, we're using the OS native .msi Installer to distribute td-agent.

Google 翻訳結果は以下です。

Fluentdは柔軟性のためにRubyで記述されており、パフォーマンスに敏感な部分はCで記述されています。ただし、一般ユーザーはRubyデーモンのインストールと操作が難しい場合があります。
それが、Treasure Data、Incがtd-agentと呼ばれるFluentdの安定した配布を提供している理由です。 Fluentdとtd-agentの違いはこちらにあります。
Windowsでは、OSネイティブの.msiインストーラーを使用してtd-agentを配布しています。

 
 

Step 1: Install td-agent

次にWindows 用のインストーラを以下からダウンロードします。
td-agent-package-browser.herokuapp.com

今回は最新のtd-agent-3.5.1-0-x64.msi をダウンロードします。
f:id:live-your-life-dd18:20200128095409p:plain

ダウンロードできたらダブルクリックしてインストールをしていきます。
f:id:live-your-life-dd18:20200128095513p:plain

f:id:live-your-life-dd18:20200128095610p:plain

f:id:live-your-life-dd18:20200128095628p:plain

f:id:live-your-life-dd18:20200128095640p:plain

f:id:live-your-life-dd18:20200128095723p:plain
 
 

Step 2: Run td-agent from Command Prompt

今度は出力確認のためにtd-agentのconfファイルを設定していきます。

confファイルは以下に格納されています。
C:\opt\td-agent\etc\td-agent
f:id:live-your-life-dd18:20200128095928p:plain

confファイルには公式に載っている以下を記載します。
※confファイルに既に別の設定が記載されている場合は、バックアップを取って書き換えます。

<source>
  @type forward
</source>
<match test.**>
  @type stdout
</match>

f:id:live-your-life-dd18:20200128100358p:plain

confの設定ができたら実際に実行してみます。
WindowsのメニューからTd-agent Command Promptを起動します。
f:id:live-your-life-dd18:20200128100551p:plain

そのあと以下のコマンドでtd-agentのプロセスを起動します。

> fluentd -c etc\td-agent\td-agent.conf

これでプロセスが立ち上がりました。
f:id:live-your-life-dd18:20200128100837p:plain

ここから実際にfluentdにレコードを送るのですが、今のプロンプトは既にプロセス起動で使用しているので、別途プロンプトを立ち上げます。
f:id:live-your-life-dd18:20200128101123p:plain

立ち上がったら以下のコマンドを実行して、fluentdにhelloというメッセージを送ります。

> echo {"message":"hello"} | fluent-cat test.event

先ほどのプロセスを起動したプロンプトを確認するとhelloのメッセージが送られていることが確認できます。
f:id:live-your-life-dd18:20200128101348p:plain
 
 

Step 3 , Step 4

以降の手順はWindows serviceにFluentdを登録、自動起動する手順が載っていますが、今回はそこまでする予定はないので、これで完了です。
 
 

その他

Fluentdは様々なプラグインが提供されており、それを使用することが多いです。
プラグインのインストール時のコマンド例は以下です。

> fluent-gem install fluent-plugin-xyz --version=1.2.3

 
 

所感

今までインストールからやったことないので、今回はやってみました。
次はS3のプラグインをインストールして、S3にアップロードしていきます。