0

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

4

1 回答 1

1

您有多种选择来处理这个问题。在 AWS 的情况下

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

    在此处输入图像描述

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

Filebeat是 Elastic Stack 的一部分,这意味着它可以与 Logstash、Elasticsearch 和 Kibana 无缝协作。无论您是想使用 Logstash 转换或丰富您的日志和文件、在 Elasticsearch 中进行一些分析,还是在 Kibana 中构建和共享仪表板,Filebeat 都可以轻松地将您的数据传送到最重要的地方。

在此处输入图像描述

您只需要 sepcify 应用程序日志文件。

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

Logagent是一个现代的、开源的、轻量级的日志运输工具。它就像 Filebeat 和 Logstash 合二为一,没有 JVM 内存 > 占用空间。它具有开箱即用和可扩展的日志解析、> 磁盘缓冲、安全传输和批量索引到 > Elasticsearch、Sematext 日志和其他目的地的功能。它的低内存 > 占用空间和低 CPU 开销使其适合部署在边缘 > 节点和设备上,而其解析和结构化日志的能力使其成为一个很好的 Logstash 替代品。

sudo npm i -g @sematext/logagent

在此处输入图像描述 将数据运送到 aws-elasticsearch-with-logagent

于 2019-10-05T03:32:26.977 回答