LoginSignup
4
4

More than 5 years have passed since last update.

Amazon Kinesisのデータをtd-agentで取り出す

Posted at

Amazon Kinesisに入力されたデータをtd-agentで取り出します。

Untitled.png

Amazon Kinesisのデータの取り出しには、kinpiraさんが作ったfluent-plugin-in-kinesis( http://qiita.com/kinpira/items/cefaf9050429325498aa )というプラグインを使わせて頂きます。

今回の環境

今回は以下の環境を使います。
1.Amazon Kinesis
 ・ストリーム名:test-stream
2.Amazon EC2
 ・Ubuntu 14.04
 ・「1」で作成したストリームを操作可能なIAM Roleを付与
 ・AWS CLIをインストール

以降の操作はすべて「2」で作成したEC2上で実施します。

td-agentインストール

まずEC2にtd-agentをインストールします。

$ curl -L http://toolbelt.treasuredata.com/sh/install-ubuntu-trusty-td-agent2.sh | sh
$ td-agent --version
 td-agent 0.12.20

fluent-plugin-in-kinesisインストール

Amazon Kinesisのデータを取得するプラグイン「fluent-plugin-in-kinesis」をインストールします。

$ sudo td-agent-gem install fluent-plugin-in-kinesis
$ td-agent-gem list --local |grep fluent-plugin-in-kinesis
 fluent-plugin-in-kinesis (0.0.2)

td-agent.confを書き換え

td-agent.confを下記のように書き換え

/etc/td-agent/td-agent.conf
<source>
  type kinesis
  stream_name test-stream
  region ap-northeast-1
  load_records_limit 1000 # 一度に取得できるレコード数
  load_shard_interval 10  # 対象のストリームに存在するシャード一覧を確認する間隔(10秒に1回シャード一覧を確認する)
  load_record_interval 1  # データを取得する間隔
  tag test.stream
  state_dir_path /var/log/td-agent/save # Kinesisのデータを何処まで読み込んだか記録しておく為のディレクトリ
  format json
</source>

<match test.stream>
  type file
  path /var/log/td-agent/test-stream
</match>

state_dir_pathで指定したディレクトリを作成し、td-agentを再起動

$ sudo mkdir /var/log/td-agent/save
$ sudo chown td-agent.td-agent /var/log/td-agent/save
$ sudo service td-agent restart
$ sudo service td-agent status
 * td-agent is running

Amazon Kinesisからtd-agentでデータを取り出し

AWS CLIを使ってKinesisにデータを投入し
投入したデータをtd-agentで取得出来ている事を確認します。

Kinesisにデータ投入

$ aws kinesis put-record --stream-name test-stream --data '{"data":"test-data"}' --partition-key test-key --region ap-northeast-1
 {
     "ShardId": "shardId-000000000000", 
     "SequenceNumber": "49559397709724644070674617403929989783736592900930142210"
 }

td-agentでデータが取得出来ているか確認します。

$ tail -f /var/log/td-agent/test-stream.20160221.b52c48f9481c0ca59
 2016-02-21T15:00:15+00:00    test.stream {"data":"test-data2"}
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4