我已经按照AWS docs中的描述设置了 Kinesis firehose 并安装了 Kinesis 代理。我可以通过 S3 存储桶获取测试数据,但 Kinesis 代理不会发送任何 .log 文件。我怀疑将代理连接到消防软管时出现问题。
我的/etc/aws-kinesis/agent.json
文件在下面。我也尝试过"firehose.endpoint"
没有,https://
但我仍然无法通过任何数据。
我已验证 aws-kinesis-agent 服务正在运行。
我没有使用 kinesis.endpoint/kinesisStream,但我已将流程留在了 agent.json 文件中。这会是个问题吗?
我错过了什么?
{
"cloudwatch.emitMetrics": true,
"kinesis.endpoint": "",
"firehose.endpoint": "https://firehose.us-west-2.amazonaws.com",
"flows": [
{
"filePattern": "/home/ec2-user/src/Fake-Apache-Log-Generator/*.log*",
"kinesisStream": "yourkinesisstream",
"partitionKeyOption": "RANDOM"
},
{
"filePattern": "/home/ec2-user/src/Fake-Apache-Log-Generator/*.log*",
"deliveryStream": "apachelogfilesdeliverystream"
}
]
}
编辑:
日志文件/var/log/aws-kinesis-agent/aws-kinesis-agent.log
显示正在解析的 0 条记录。日志消息将我带到了这篇文章,并且我进行了推荐的修复。此外,我必须从 /etc/aws-kinesis/agent.json 文件中删除 kinesis 流,以避免出现在日志文件中的异常。
底线是 aws-kinesis-agent 无法从 /home/ec2-user/ 或其子目录读取文件,您必须修复 agent.json 文件。