当前位置: 首页 > 知识库问答 >
问题:

将日志从ECS Fargate发送到Elasticsearch的最佳方法

田晨
2023-03-14

我们在AWS ECS Fargate中部署了多个运行NodeJS服务(节点:11 alpine docker image)的容器。

我们已经有一个正在运行的ElasticSearch实例从非Fargate应用程序收集日志。我想将Fargate容器中的日志传递到这个ElasticSearch实例中,但我很难找出最好的方法。

1)似乎一种方法是从Cloudwatch流式传输日志-

2) 我希望我可以运行一个Logstash docker实例来收集容器中的日志,但我不确定在运行Fargate时这是否可行?

3) 我应该在每个容器上安装类似FileBeat的东西并让它发送日志吗?

非常感谢您的帮助。

共有1个答案

宇文温文
2023-03-14
  1. 似乎一种方法是从Cloudwatch流式传输日志-

如果您正在寻找基于AWS的托管解决方案,这是其中一种方法。您实际上不需要编写Lambda函数,AWS会为您完成。虽然,您承担AWS CloudWatch日志的成本。

AWS推荐的另一种解决方案是使用fluent bit作为侧车容器,从服务中运行的其他容器直接将日志导出到Elasticsearch/OpenSearch。使用此解决方案,您可以通过不使用AWS CloudWatch来节省资金。此解决方案还可以在发生故障时丢失日志方面提供更好的结果。

是的,如果您将该容器与其他容器一起运行,则这是可能的。

您可以根据需要使用Fluent Bit、Filebeat、Fluentd、Functionbeat或Logstash。

注意:如果您正在考虑运行自己的日志导出器容器,如Logstash、Fluent Bit等,请不要启用CloudWatch日志来节省资金,因为您不会使用它。

 类似资料:
  • 问题内容: 我想知道哪种方法是将数据从dynamoDB发送到elasticsearch的最佳方法。 AWS开发工具包js。https://github.com/Stockflare/lambda-dynamo-to-elasticsearch/blob/master/index.js DynamoDB Logstash插件:https : //github.com/awslabs/logstash

  • 问题内容: 我有一个测试的Kubernetes集群,我在AWS上创建了elasticsearch,其中包括用于日志管理的Kibana。 端点:https : //search-this-is-my-es- wuktx5la4txs7avvo6ypuuyri.ca-central-1.es.amazonaws.com 据我谷歌搜索,我必须从流利发送日志。然后,我尝试使用本文来实现DaemonSet

  • 我是docker和所有这些日志记录的新手,所以可能我犯了一个stuipd错误,所以提前感谢您的帮助。我让麋鹿通过Dockerfile行运行docker容器(6.2.2): 在一个单独的容器中,我通过folling Dockerfile行安装并运行Filebeat: 我的Filebeat配置是: 正如你所看到的,我试图在elasticsearch中创建一个自定义索引,但现在我只是想先让默认索引正常工

  • 我已在我的应用程序(ASP.NET Core)上使用elasticsearch将nlog配置为nlog.config,如下所示: 应用程序上的设置是: 当我通过dotnet-run运行应用程序时,我有一只麋鹿在这样的码头工人那里长大——https://github.com/deviantony/docker-elk 所有日志都会被保存。 但当我将我的应用程序添加到docker映像时,它就不起作用了

  • 问题内容: 我有这样的日志: 我想把他们推到。我正在使用filebeat通过以下配置将数据发送到logstash: 现在使用以下配置,我想更改编解码器类型: 但是,我仍然以字符串格式获取日志: “ message”:“ {\” logId \“:\” 57aaf6c96224b \“,\” clientIp \“:\” 127.0.0.1 \“,\” time \“:\” 03:11:29 pm

  • 我有3个节点设置 10.x.x.1-应用程序和文件拍10.x.x.2-用于解析和日志存储的机器10.x.x.3-具有集中的日志存储节点,我们需要从该节点将消息推送到弹性搜索中 10.x.x.3 logstash conf文件 是否有任何插件可以将json数据从一个logstash发送到另一个logstash服务器