AWS CloudWatch 日志到 ELK

Posted

技术标签:

【中文标题】AWS CloudWatch 日志到 ELK【英文标题】:AWS CloudWatch Logs to ELK 【发布时间】:2020-03-19 11:26:28 【问题描述】:

我计划将 AWS CloudWatch 日志复制到 ELK,并希望使用 Kibana Dashboard 可视化日志。

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

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

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

其次,在我看来,lambda 是一种将日志摄取到您的弹性搜索域的经济有效的选择。

其他选项,我可以这样想:

带有日志存储的 ec2 实例从 cloudwatch 读取日志并将其提取到 elasticsearch。 或许您可以使用 aws batch 进行扩展

【讨论】:

以上是关于AWS CloudWatch 日志到 ELK的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk:将自定义日志添加到 CloudWatch?

将 aws lambda 日志重定向到 cloudwatch 中的特定日志组

AWS Elastic Beanstalk PHP 日志不在 CloudWatch 中

AWS:将日志从 Amazon CloudWatch 导出到 Amazon Redshift

AWS EB Node.JS 日志到 CloudWatch

用于 ECS 任务/容器的 Terraform AWS CloudWatch 日志组