Amazon web services Docker Compose with awslogs驱动程序:如何获得更好的流名称?

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:

我正在使用docker compose中的驱动程序,想知道是否有更好的方法来控制cloudwatch日志流命名

如果由于性能问题,您的服务在多个容器/节点上运行,那么如下所示指定
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)

谢谢,我会接受您的回答,因为它看起来是一个合理的方法,如果它有效的话,尽管我已经从这个问题上转移了,并且无法立即测试它。我最终忽略了这个问题,并使用了命令行工具,它允许在组级别分析日志,因此我永远不会看到丑陋的特定于容器的流名称。