繁体   English   中英

AWS CloudWatch 记录到 ELK

[英]AWS CloudWatch Logs to ELK

我计划将 AWS CloudWatch 日志复制到 ELK 并希望使用 Kibana 仪表板来可视化日志。

一种选择是将日志从 CloudWatch 流式传输到 ELK。

https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_ES_Stream.html

但我觉得这将涉及广泛执行 Lambda 函数,它可能不是一个具有成本效益的选择。

有没有其他经济有效的方法可以将日志从 CloudWatch 复制到 S3,然后再复制到 ELK?

我很好,如果日志不是实时的,可能延迟 15 分钟或一小时就可以了。

但我正在寻找一种具有成本效益的解决方案。

顺便说一句,定期清除 CloudWatch 日志的最佳方法是什么? (也许一周后)

首先,您可以为您的 cloudwatch 日志设置保留策略 默认情况下它是无限期的,但您可以将其设置为您提到的 7 天。

其次,根据我的说法,lambda 将是将日志摄取到您的弹性搜索域的一种具有成本效益的选择。

其他选项,我可以考虑如下:

  • 带有日志存储的 ec2 实例从 cloudwatch 读取日志并将其摄取到 elasticsearch。
  • 也许您可以使用 aws 批处理进行扩展

我的答案并不完全是您的情况的答案,而是尝试从另一个角度解决这个问题。
如果您拥有日志生成功能,那对您来说将是实际的。

将日志从一个源复制到另一个源或多或少都采用相同的解决方案。 但是整个想法让我感到好奇,如果您根本不需要CloudWatch(即日志最终由Elastic stack处理)。
在这种情况下,我们不需要CloudWatch,您的应用程序可以将日志直接发送到您拥有的Elastic Stack(通过Logstash)。
我们只需要在应用程序的日志记录配置中将CloudWatch替换为Logstash。 当然,某些AWS服务可能不支持它。

EC2竞价型实例将是最便宜的选择。
如果您的日志条目很少(非常不常见的情况),那么lambda会便宜一些。 但是这种情况仅在开始时才会发生,通常会有大量的原木,为此使用lambda会很昂贵:-)

EC2竞价型实例可以随时中断,但对我们来说很好。 因为我们不需要日志的实时同步。

如果您要支持1年或更长时间的日志同步,则可以使用EC2节省计划成本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM