将日志从 AWS 发送到 Elastic Cloud

Send logs from AWS to Elasticcloud

我正在使用 Elasticcloud(托管的 elasticsearch)来索引我的应用程序数据。现在我想开始将日志从我的 AWS lambda 函数流式传输到我的 Elasticcloud 账户。我用谷歌搜索了一下,发现有几种方法可以做到这一点:

  1. 功能节拍
  2. Cloudwatch-> Elasticsearch 订阅过滤器
  3. Cloudwatch-> Lambda 订阅过滤器

我的问题是

第一个问题:

由于Functionbeat在AWS的情况下部署到Lambda,所以1号和3号费用相同。 No.1 部署速度更快,因为 3 需要自己创建 Lambda。

至于性能,当然要看具体实现了,我估计这两种方法没有太大区别,除非毫秒延迟对你有影响。

如果您使用的是 Elastic Cloud,则不能使用与 Amazon Elasticsearch Service 配合使用的 2。这两个是完全不同的服务。 (参见this page,我知道这有点混乱!)


第二个问题:

不,您不必这样做。 Functionbeat 直接从 CloudWatch 获取日志。 S3 bucket 用于在部署到 Lambda 之前存储 Function beat 模块本身。