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をつかってlogをPub-Sub方式で取得をさせる

前回、syslogをKafkaに転送させるようにしたので、今度はそこからGraylogでログを取得する。 特にプラグインもなしでできるので、(いろいろと問題はあるが)なかなか良い感じだ。

設定は簡単で、[System] > [Inputs]で新規のインプットとして[GELF Kafka]を選択し、「Launch new input」から新しいインプットを作成するだけだ。

zookeeperのアドレスは複数指定できるので、各ノードのアドレスを指定してやる。

で、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_...