Amazon web services Docker Compose with awslogs驱动程序:如何获得更好的流名称?
我正在使用docker compose中的驱动程序,想知道是否有更好的方法来控制cloudwatch日志流命名 如果由于性能问题,您的服务在多个容器/节点上运行,那么如下所示指定Amazon web services Docker Compose with awslogs驱动程序:如何获得更好的流名称?,amazon-web-services,docker,docker-compose,docker-swarm,amazon-cloudwatch,Amazon Web Services,Docker,Docker Compose,Docker Swarm,Amazon Cloudwatch,我正在使用docker compose中的驱动程序,想知道是否有更好的方法来控制cloudwatch日志流命名 如果由于性能问题,您的服务在多个容器/节点上运行,那么如下所示指定awslogs stream将无法正常工作。如果您不指定它,您只会得到随机容器ID,这也不是很好,并且随着时间的推移会变得丑陋 它看起来(我没有使用)支持awslogs流前缀,但没有显示为docker compose或awslogs驱动程序的选项 我是否错过了获得更有意义但唯一的流名称的其他选项 logging:
awslogs stream
将无法正常工作。如果您不指定它,您只会得到随机容器ID,这也不是很好,并且随着时间的推移会变得丑陋
它看起来(我没有使用)支持awslogs流前缀
,但没有显示为docker compose或awslogs驱动程序的选项
我是否错过了获得更有意义但唯一的流名称的其他选项
logging:
driver: awslogs
options:
mode: non-blocking
awslogs-region: us-east-1
awslogs-group: mygroup
awslogs-stream: mystream # Can't do this with multiple containers
标记选项指定如何格式化标识容器日志消息的标记。默认情况下,如果未指定容器ID,则系统将其用作日志流名称。若要覆盖此行为,请指定标记选项。这是一个golang模板
logging:
driver: "awslogs"
options:
awslogs-region: "us-east-1"
awslogs-group: "mygroup"
tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
因此,您的日志流名称应该是这样的(imagename/containerName/containerID)谢谢,我会接受您的回答,因为它看起来是一个合理的方法,如果它有效的话,尽管我已经从这个问题上转移了,并且无法立即测试它。我最终忽略了这个问题,并使用了命令行工具,它允许在组级别分析日志,因此我永远不会看到丑陋的特定于容器的流名称。