Kinesis
Amazon Kinesis Data Streams ノート。
Intro
Kinesis Data Streams は、数十万 のソースから毎秒 ギガバイト単位 のデータを継続的 にキャプチャできる、スケーラブルで耐久性 のあるリアルタイムデータストリーミングサービス。
Setup Kinesis Agent On EC2
Create IAM Role
EC2 に付与 :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"kinesis:PutRecords"
],
"Resource": "*"
}
]
}Install Agent
sudo yum updatesudo yum install –y aws-kinesis-agentCreate a folder for streaming data
cd /opt/
sudo mkdir app-stream-1
cd app-stream-1Config
sudo cat /etc/aws-kinesis/agent.jsonデフォルト設定 :
{
"cloudwatch.emitMetrics": true,
"kinesis.endpoint": "https://kinesis.ap-southeast-1.amazonaws.com",
"firehose.endpoint": "",
"flows": [
{
"filePattern": "/opt/app-stream-1/logfile.log",
"kinesisStream": "kds-test",
"partitionKeyOption": "RANDOM"
},
{
"dataProcessingOptions": {
"optionName": "CSVTOJSON",
"customFieldNames": [ "field1", "field2" ],
"delimiter": "yourdelimiter"
},
"filePattern": "/tmp/app.log*",
"kinesisStream": "stream name",
"initialPosition": "END_OF_FILE",
"maxBufferAgeMillis": "60000",
"maxBufferSizeBytes": "4194304",
"maxBufferSizeRecords": "500",
"minTimeBetweenFilePollsMillis": "100",
"multiLineStartPattern": "",
"partitionKeyOption": "RANDOM",
"skipHeaderLines": "0",
"truncatedRecordTerminator": "\n"
}
]
}Set permissions
sudo chown aws-kinesis-agent-user:aws-kinesis-agent-user -R /opt/stream-1Kinesis Agent Services
sudo service aws-kinesis-agent statussudo service aws-kinesis-agent start
sudo service aws-kinesis-agent restart
sudo service aws-kinesis-agent stopTail log files
アプリケーションログファイルを監視 :
sudo tail -f /opt/kds/file.logKinesis Agent ログファイルを監視 :
sudo tail -f /var/log/aws-kinesis-agent/aws-kinesis-agent.log