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

使用AWS EKS with Fargate将应用日志发送至Logstash的方案咨询

EKS Fargate环境采集应用日志到Logstash可行方案

方案1:使用Fargate内置日志路由(无额外Sidecar开销)

这是AWS官方原生支持的方案,不需要手动部署额外的日志采集组件,没有Sidecar资源开销,适配轻量采集需求:

  • 首先为Fargate Pod执行角色添加必要的基础权限,确保内置Fluent Bit组件可以正常运行
  • 确认Fargate Pod所在子网的路由规则、安全组策略允许访问你的Logstash服务,默认Logstash接收Fluent Bit日志的端口为5044
  • 给需要采集日志的Fargate Pod添加annotation来自定义输出规则,示例配置如下:
annotations:
  eks.amazonaws.com/fargate-log-configuration: |
    {
      "logConfigurationName": "logstash-output",
      "logDriver": "fluentbit",
      "options": {
        "Name": "logstash",
        "Host": "替换为你的Logstash服务地址",
        "Port": "5044",
        "tls": "on",
        "tls.verify": "off"
      }
    }
  • 批量配置场景可以部署Kubernetes突变准入控制器,自动给所有调度到Fargate的Pod注入上述annotation,不需要逐个修改应用部署配置。

方案2:Fluent Bit Sidecar注入模式

适合需要复杂日志处理(自定义过滤、字段改写、多目标分发)的场景,灵活性更高:

  • 在每个业务Pod中加入Fluent Bit Sidecar容器,通过共享存储卷采集同Pod内业务容器的日志,示例Pod配置片段如下:
spec:
  volumes:
    - name: app-log-dir
      emptyDir: {}
    - name: fluentbit-config
      configMap:
        name: fluentbit-logstash-config
  containers:
    # 业务应用容器
    - name: business-app
      image: 替换为你的业务镜像地址
      volumeMounts:
        - name: app-log-dir
          mountPath: /var/log/your-app
    # Fluent Bit采集Sidecar
    - name: fluentbit-sidecar
      image: cr.fluentbit.io/fluent/fluent-bit:2.2.0
      volumeMounts:
        - name: app-log-dir
          mountPath: /var/log/your-app
        - name: fluentbit-config
          mountPath: /fluent-bit/etc/
  • 提前创建存储Fluent Bit配置的ConfigMap,配置输入采集共享目录下的日志文件、输出指向Logstash服务即可
  • 批量部署场景同样可以通过突变准入控制器自动注入Sidecar,无需修改现有应用的部署清单。

注意:两种方案都需要确保Fargate Pod与Logstash之间的网络连通性,如果Logstash部署在集群外,需要配置对应VPC对等连接、公网路由或专线;如果部署在同一集群内,需要放通集群内部网络访问策略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:24:04