我是 AWS 的新手,正在尝试它的一些服务。我设法创建了一个在 EC2 实例中运行的 python 应用程序。应用程序创建一个包含分析数据的日志文件。我想将此日志文件与 AWS 的 Elasticsearch 和 Kibana 服务连接,以开始对其进行分析。有人可以指出将我的 EC2 应用程序日志流式传输到 AWS 弹性搜索服务的最佳方式吗?
问问题
600 次
1 回答
1
您有多种选择来处理这个问题。在 AWS 的情况下
- 安装aws cloud watch 日志代理
- 使用日志文件启动 log-agent
- 将云监视日志流式传输到 lambda
lamda 会将日志推送到 ELK
但我将采用以下方法,因为它不需要 Lambda 和 log-group,并且日志将直接发送到 ELK。
- 文件节拍
- Logagent(基于节点的包)
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
于 2019-10-05T03:32:26.977 回答