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

如何将EC2部署的ECS日志同时转发至Splunk和CloudWatch

ECS EC2启动类型日志同时转发到CloudWatch和Splunk的可行方案

存在完全可落地的实现方案,目前主流有两类适配不同场景的路径:

方案1:AWS原生FireLens + Fluent Bit(ECS官方推荐)

这是AWS官方针对ECS场景提供的日志路由方案,原生支持多目标同时输出:

  • 前置准备:可以直接将Fluent Bit作为Sidecar容器和业务容器放在同一个Task定义中,也可以提前在所有ECS EC2节点上预装Fluent Bit Agent
  • 配置逻辑:
    1. 在Task定义的业务容器配置段中,将日志驱动指定为awsfirelens
    2. 在FireLens配置中同时声明两个输出目标:
      • CloudWatch输出:指定输出插件为cloudwatch,配置对应的日志组名称、AWS区域、日志流前缀即可,会自动继承ECS Task角色的权限推送日志
      • Splunk输出:指定输出插件为splunk,配置你的Splunk HEC(HTTP事件收集器)地址、HEC Token、目标索引名称等参数
    3. 权限配置:给ECS Task角色开通logs:CreateLogStream、logs:PutLogEvents等CloudWatch写入权限,同时放通ECS实例到Splunk HEC端口的网络访问权限
  • 优势:AWS官方维护,稳定性高,资源开销小,不需要额外改造现有ECS部署逻辑

方案2:通用节点日志代理(适配已有统一日志架构的场景)

如果你已经在EC2节点上部署了统一的日志采集组件(Fluentd、Logstash等),可以直接复用现有架构实现:

  • 配置逻辑:
    1. 在ECS Task定义中,将业务容器的日志输出到EC2节点的本地指定目录,或者直接输出到stdout由节点上的采集Agent默认采集
    2. 在节点日志Agent的配置中,新增匹配ECS日志的规则,同时配置CloudWatch和Splunk两个输出端
    3. 对应配置Agent的IAM权限和Splunk访问权限即可
  • 优势:可以和EC2节点上其他非ECS业务的日志采集规则统一维护,适合已有统一日志规范的场景

效果验证

配置完成后写入一条带特殊标识的测试日志,分别在CloudWatch对应日志组、Splunk对应索引中检索,确认日志内容、时间戳完全一致即配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:36:03