Kafkaからデータを取得する方法はいろいろとあるようだが、今回はfluentdでKafkaからデータをPullさせてみる。
基本的にはPushのときと変わらず、fluent-plugin-kafkaを用いる。
一応、td-agentおよび必要となるプラグインのインストールコマンドは以下(CentOS 7)。
curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
yum install -y gcc
/opt/td-agent/embedded/bin/gem install fluent-...
前回、syslogをKafkaに転送させるようにしたので、今度はそこからGraylogでログを取得する。
特にプラグインもなしでできるので、(いろいろと問題はあるが)なかなか良い感じだ。
設定は簡単で、[System] > [Inputs]で新規のインプットとして[GELF Kafka]を選択し、「Launch new input」から新しいインプットを作成するだけだ。
![](/images/1/3/5/f/7/135f7ccd732bc8602ff38539915272aa4e7d7ef9-20170128130554000000.jpeg)
zookeeperのアドレスは複数指定できるので、各ノードのアドレスを指定してやる。
![](/images/2/2/7/1/5/22715df3d6b5283df34adcd31ce8883e6cc66d0a-20170128162255000000.jpeg)
で、INPUTが正常に作成・動作したら、以下のようにKafkaからログが取得されるようになる。
...
仕事でPub-Subのシステム構築が必要になりそうなので、この用途でのデファクトスタンダートとなってきてるKafkaクラスタをCentOS 7で構築してみる。
構成は3台構成、ZooKeeperとの同居(こちらも3台構成)とする。
ホスト名はとりあえずBS-PUB-CLUSTERTEST01~03としている。
1. 前提パッケージのインストール
Kafkaを動作させるにはJavaが必要なようなので、事前にOpenJDKのインストールをする。
以下のコマンドを実行する。
yum install -y java-1.8.0-openjdk.x86_64
JAVA_HOME、JRE_...