LoginSignup
4
3

More than 5 years have passed since last update.

kinesis-agentを使って、Kinesis Streamsにデータを送る

Posted at

Kinesisを使おうとして、Producerにfluentd以外に
最近「Kinesis エージェント」というものがある事を知ったので試してみる。

エージェントインストール

http://docs.aws.amazon.com/ja_jp/kinesis/latest/dev/writing-with-agents.html
こちらを参考にして進めたが、若干分かりづらい所もあったのでメモする。

アプリケーションサーバ(EC2)に、エージェントをインストールする。

sudo yum install –y aws-kinesis-agent

エージェント設定

/etc/aws-kinesis/agent.json
を編集する。

{
  "cloudwatch.emitMetrics": true,
  "cloudwatch.endpoint": "monitoring.ap-northeast-1.amazonaws.com",
  "kinesis.endpoint": "https://kinesis.ap-northeast-1.amazonaws.com",
  "awsAccessKeyId": "ACCESSKEY",
  "awsSecretAccessKey": "SECRETKEY",
  "flows": [
    {
      "filePattern": "/tmp/app.log*",
      "kinesisStream": "yourkinesisstream"
    }
  ]
}
  • kinesis.endpoint を設定していないと、ログに下記の内容が出力されてパースまでは行うが送信しないで終わる。

    XXX records parsed (XXX bytes), and 0 records sent successfully to destinations
    
  • cloudwatch.emitMetrics cloudwatch.endpoint を設定しておけば
    CloudWatchのカスタムメトリクスという所に、AWSKinesisAgentという項目が選択出来るようになって
    BytesSent、RecordSendAttempts、RecordSendErrors、ServiceErrorsなどのメトリクスが取れる。
    http://docs.aws.amazon.com/ja_jp/kinesis/latest/dev/agent-health.html

  • awsAccessKeyIdで設定したユーザには、AmazonKinesisFullAccessのようなポリシー権限が必要。

エージェント実行

/etc/aws-kinesis/agent.json
のケツカンマに注意して、編集が終わったらサービスを起動する。

sudo service aws-kinesis-agent start

/var/log/aws-kinesis-agent/aws-kinesis-agent.log
ここにログが出力される。

Kinesis Streamsの設定は省略したけど
ストリーム名と、シャード数の設定だけなので、そんなにハマるポイントはない。

Happy Kinesising!!

4
3
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
3