You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Airbyte启动脚本将EC2上Docker容器日志发送到CloudWatch

将Airbyte EC2部署的日志发送到CloudWatch的配置方案

由于./run-ab-platform.sh是通过Docker Compose启动所有Airbyte服务,无需直接修改该脚本,而是通过调整Docker Compose配置或Docker守护进程设置来实现日志转发到CloudWatch。以下是具体步骤:

方案一:修改Airbyte Docker Compose配置(仅Airbyte服务生效)

1. 编辑Airbyte的docker-compose.yml文件

进入Airbyte安装目录,找到docker-compose.yml,添加全局日志配置模板,再为每个服务引用该配置:

# 在文件最顶部添加全局日志模板
x-logging: &default-cloudwatch-logging
  driver: awslogs
  options:
    awslogs-region: us-east-1
    awslogs-group: airbyte-ec2-DockerContainer
    # 可选:为每个服务生成独立日志流,便于区分
    awslogs-stream-prefix: "{{.Name}}"

# 为每个Airbyte服务添加logging配置
services:
  airbyte-api-server:
    logging: *default-cloudwatch-logging
    # 保留原服务的其他配置(镜像、端口、环境变量等)
  worker:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  webapp:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  temporal:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  server:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  proxy:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  db:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  connector-builder-server:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  cron:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  init:
    logging: *default-cloudwatch-logging
    # 保留原服务配置
  bootloader:
    logging: *default-cloudwatch-logging
    # 保留原服务配置

2. 重启Airbyte服务使配置生效

# 停止当前运行的服务
./run-ab-platform.sh down

# 重新启动服务
./run-ab-platform.sh -b

方案二:配置Docker守护进程全局日志驱动(所有容器生效)

如果希望EC2上所有Docker容器默认将日志发送到CloudWatch,可修改Docker daemon配置:

1. 创建/编辑Docker daemon配置文件

sudo nano /etc/docker/daemon.json

添加以下内容:

{
  "log-driver": "awslogs",
  "log-opts": {
    "awslogs-region": "us-east-1",
    "awslogs-group": "airbyte-ec2-DockerContainer",
    "awslogs-stream-prefix": "ec2-docker"
  }
}

2. 重启Docker服务

sudo systemctl restart docker

3. 重启Airbyte服务

./run-ab-platform.sh down && ./run-ab-platform.sh -b

关键注意事项

  • 确认EC2实例绑定的IAM角色已具备CloudWatch Logs的写入权限(如CloudWatchLogsFullAccess)
  • 私有子网环境下,需确保EC2可通过VPC端点访问CloudWatch Logs服务,否则日志无法上传
  • 日志流前缀可帮助你在CloudWatch日志组中快速区分不同服务的日志,建议启用

内容的提问来源于stack exchange,提问作者macromind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 09:17:26