是否有一些AWS命令可以从ECS群集中获取所有服务/任务的日志? 就像是:

aws ecs logs --cluster dev

要么

aws ecs describe-clusters --cluster dev logs

例如,必须有一些API来检索UI此处显示的日志:

在此处输入图片说明

#1楼 票数:1 已采纳

没有,没有这种开箱即用的选项可以从基于集群的所有服务中获取日志,因为evey容器在自己的空间(EC2实例)中运行。

因此,您可以尝试使用类似的选项,但是在此之前,您需要了解AWS ECS的日志记录机制。

logDriver

容器使用的日志驱动程序。 为此参数列出的有效值是默认情况下Amazon ECS容器代理可以与之通信的日志驱动程序。

对于使用Fargate启动类型的任务,支持的日志驱动程序是awslogs, splunk, and awsfirelens.

对于使用EC2启动类型的任务,支持的日志驱动程序是awslogs, fluentd, gelf, json-file, journald, logentries, syslog, splunk, and awsfirelens

因此,如果您在同一个ec2实例上运行多个容器,则syslog对您有意义。

Syslog日志记录驱动程序

syslog日志记录驱动程序将日志路由到syslog服务器。 syslog协议使用原始字符串作为日志消息,并支持一组有限的元数据。 syslog消息必须以特定方式格式化才能生效。 接收者可以从有效消息中提取以下信息: 在此处输入图片说明

但是最好的方法是对每个容器有一个日志组。 由于在出现fargate的情况下syslog无法正常工作,因此最好对每个容器使用日志组。

在此处输入图片说明

  ask by MrCholo translate from so

未解决问题?本站智能推荐:

2回复

列出所有ecs集群

我正在尝试列出我所有的 ECS 集群。 不幸的是,当我进入 尽管我知道该地区存在集群,但我收到以下错误: 我很乐意帮助指出我做错了什么。
4回复

暂时停止ECS集群

我想在下班后停止 EC2 实例以节省成本。 如何对 ECS 实例执行相同操作? 即使我停止了所有任务/服务,实例还在吗? 我是否直接停止 EC2 实例?
1回复

ECS集群中的Arflow

我以前使用过运行 Ubuntu VM 的 Airflow。 我能够通过 WinSCP 和 putty 登录到 VM 以运行命令并根据需要编辑与 Airflow 相关的文件。 但我第一次遇到运行 AWS ECS 集群的 Airflow。 我是 ECS 的新手所以,我想看看什么是最好的方法: 运行诸如
1回复

在ECS集群上安装Gitlabrunner

我们使用 Gitlab CI 作为 CI/CD 运行 AWS ECS/ECR。 由于负载增加,我们正在寻找在 AWS 上自动扩展运行器的最佳方法。 我知道 Gitlab 支持其 ci-runner 的自动缩放。 https://docs.gitlab.com/runner/configuratio
1回复

在VPC内创建ECS集群的优势

在VPC内创建ECS集群有什么优势? 我在控制台页面中看到它询问是否要在VPC内创建ECS集群?
1回复

如何通过自动扩展来扩展ECS集群?

我想你有2缩放 所以我认为流程就像 您收到更多请求 您的任务需要更多资源(CPU /内存) 您的ecs任务自动缩放功能将启动并创建更多任务 您的ec2自动缩放功能也会启动并创建更多的ec2 问题 您的ecs需要知道新启动的ec2(来自ec2自动缩放组)是可以
1回复

如何保留ECS容器的日志?

我正在运行 ECS 任务,最近服务 cpu 达到 100% 并下降。 我等待实例安定下来并进入。 我正在寻找日志,但似乎docker容器重新启动并且日志全部消失(cpu高时的日志) 下一次,我如何确保至少可以看到日志以诊断问题? 我有以下内容,希望在某处看到一些日志(安装在主机中) 但是主机中没有/
2回复

具有Cloudformation的ECS集群名称

我正在尝试使用CloudFormation在AWS上部署ECS集群,但是我不知道如何为集群设置自定义名称。 创建了集群,但是以某种方式生成了名称,其格式类似于stackname-ECSCluster-randomstring 。 有没有办法为集群设置自定义名称? AWS :: ECS