因此,我们将日志(apache、tomcat 等)存储在 Amazon CloudWatch Logs 中。我正在尝试使用 Logstash 从 AWS 建立索引并将它们发送到 Elasticsearch/Kibana。
我似乎找不到一个插件来完成这个。有没有人试过这个并且成功了?我不想要指标,只想要存储在 AWS Logs 中的日志。
因此,我们将日志(apache、tomcat 等)存储在 Amazon CloudWatch Logs 中。我正在尝试使用 Logstash 从 AWS 建立索引并将它们发送到 Elasticsearch/Kibana。
我似乎找不到一个插件来完成这个。有没有人试过这个并且成功了?我不想要指标,只想要存储在 AWS Logs 中的日志。
其他海报提到 CloudFormation 模板可以将您的日志流式传输到 Amazon Elasticsearch,但如果您想先通过 Logstash,这个 logstash 插件可能对您有用:
https://github.com/lukewaite/logstash-input-cloudwatch-logs/
此插件允许您将特定的 CloudWatch 日志组或与前缀匹配的一系列组提取到您的 Logstash 管道中,并按照您的意愿处理数据。它发布在 RubyGems 上,可以像普通的 Logstash 插件一样安装:bin/logstash-plugin install logstash-input-cloudwatch_logs
.
正如 BMW 已经指出的那样,AWS 刚刚推出了专用的CloudWatch Logs 订阅消费者,它通过相应的方式提供对完整 CloudWatch Logs + Elasticsearch + Kibana 堆栈的一键访问。AWS CloudFormation模板,如介绍性博客文章中进一步说明。
鉴于您似乎有一个现成的 ELK 堆栈,调整 AWS示例模板以针对您自己的终端节点应该不会太复杂。
为了使用 CloudFormation 模板(根据 BMW 的回答),需要对其进行自定义,其中一部分是将您的帐户 ID 和区域作为CF Resource提供。AWS::AccountId 和 AWS::Region 是伪参数,它们返回正在创建堆栈的账户的 AWS 账户 ID,例如 123456789012,以及表示正在其中创建包含资源的 AWS 区域的字符串,例如作为 us-west-2。(http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html)