如何在AWS上实施集中式日志记录解决方案?

时间:2018-10-08 13:06:23

标签: amazon-web-services

需要有关集中式日志记录的专家意见,以监视,存储,管理和可视化有关我们基础架构的日志。 我们需要在我们的项目中建立一个集中的日志记录框架;问题是我们有用不同语言编写的项目,例如Java,Angular,Scala和Python。

定制解决方案将导致与管理和维护其组件相关的其他任务,成本和依赖性,因此我们正在考虑使用AWS Partner Network(APN)产品,这将是Splunk中管理最好的服务, Sumo Logic,Datadog,Elastic和Loggly ???

任何指导将不胜感激。

关于, 桑达尔

3 个答案:

答案 0 :(得分:1)

您可以使用AWS CloudWatch,为每个应用程序或服务创建日志流。 定义您的自定义指标,创建仪表板和警报。

不仅限于AWS产品;您可以将CloudWatch Log Agent用于本地网络上的本地服务或软件。

有关更多信息,请阅读Jeff Barr的以下文章

the spread syntax

https://aws.amazon.com/blogs/aws/cloudwatch-log-service/

FYI:我们已经通过CloudWatch监视了AWS内部和外部的许多应用程序和服务,并且它的工作原理很吸引人。

答案 1 :(得分:0)

我使用了您提到的许多解决方案。 Splunk很好,但是如果您有大量数据,它将变得非常昂贵。您本来可以一直使用Cloudwatch Logs,但在可视部分上却没有提供太多帮助。

我将推荐ELK(ElasticSearch,Logstash,Kibana)堆栈。这是一个非常标准的解决方案。日志存储在Elastic Search中。 Kibana用于日志的可视化。这几乎是实时的。

如果您有非常特定的仪表板;那么您总是可以使用AngularJS等前端技术来创建自定义仪表板,但是如果视觉部分确实很大且非常灵活,那么我觉得ELK会更好。

答案 2 :(得分:0)

ELK(ElasticSearch,Logstash,Kibana)堆栈对于您要查找的内容确实是一个很好的解决方案,但是在某些情况下,ELK无法获得某些指标,在这种情况下,您可以使用诸如创建自己的解决方案自己的 beat 程序以获取信息,或使用其他程序收集此指标(例如Apache NiFi)。