使用AWS ELK堆栈捕获日志

时间:2019-10-04 22:38:03

标签: amazon-web-services amazon-ec2 elk

我是AWS的新手,正在尝试一些服务。我设法创建了一个在EC2实例中运行的python应用程序。该应用程序将创建一个包含分析数据的日志文件。 我想将此日志文件与AWS的Elasticsearch和Kibana服务连接,以开始在其上运行分析。 有人可以指出我将EC2应用程序日志流式传输到AWS Elasticsearch服务的最佳方法。

1 个答案:

答案 0 :(得分:0)

您有多种选择来解决此问题。如果是AWS

  • 安装aws cloud watch log agent
  • 使用日志文件启动日志代理
  • 将云监视日志流到lambda
  • Lamda会将日志推送到ELK

    enter image description here

但是我将采用以下方法,因为它不需要Lambda和日志组,并且日志将直接发送到ELK。

  • Filebeat
  • Logagent(基于节点的pacakge)
  

Filebeat 是Elastic Stack的一部分,这意味着它可以与Logstash,Elasticsearch和Kibana无缝协作。是否要   使用Logstash转换或丰富您的日志和文件,   Elasticsearch中的一些分析,或在中构建和共享仪表板   Kibana,Filebeat使将数据轻松传送到重要位置变得容易   大多数。

enter image description here

您需要分隔应用程序日志文件。

paths:
- /app/log/*.log
- /app/log/*/*.log
  

Logagent 是一种现代的,开源的,轻量级的日志传送器。它就像Filebeat和Logstash一样,没有JVM内存>占用空间。它具有开箱即用和可扩展的日志解析,>磁盘上缓冲,安全传输以及对> Elasticsearch,Sematext日志和其他目标的批量索引的功能。它的低内存>占用空间和低CPU开销使其适合在边缘>节点和设备上进行部署,而其解析和结构化日志的能力使其成为Logstash的绝佳替代品。

sudo npm i -g @sematext/logagent

enter image description here shipping-data-to-aws-elasticsearch-with-logagent