1

我已经按照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 文件。

4

1 回答 1

1

/home/ec2-user/<any-file>由于某些权限问题,Kinesis 代理无法从文件中读取日志。尝试将您的日志位置更改为/tmp/logs/<log-file>.

于 2019-11-05T01:22:25.450 回答