我正在运行带有 Firelens 和自定义 Fluentbit 配置(附在下面)的 Fargate 类型的 AWS ECS 任务。
虽然我可以成功运行,但当我重新部署任务(通过增加任务数量等来更新 ECS 服务)时,经常有任务无法通过 TCP 到 Elasticsearch,并显示下面的 fluentbit 错误消息
[error] [io] TCP connection failed: 199.12.31.400:9200 (Connection timed out)
我什至不知道如何解决这个问题......任何人都可以分享我一些想法?猜测切换网络时AWS有问题我们......?
ECS服务公网IP开启。
我使用的 Elasticsearch IP 地址是与 ECS 服务在同一 VPC 中的私有 IP 地址。
Elasticsearch 部署在 EC2 中,而不是托管服务中。
[SERVICE]
Parsers_File /fluent-bit/parsers/parsers.conf
Flush 1
Grace 30
Log_Level debug
[FILTER]
Name parser
Match *
Key_Name log
Parser json
Reserve_Data True
[FILTER]
Name modify
Match *
Remove container_id
Remove container_name
Remove container_name
Remove ecs_cluster
Remove ecs_task_arn
Remove source
[OUTPUT]
Name stdout
Match *
[OUTPUT]
Name es
Match *
Host 199.12.31.400
Port 9200
Logstash_Format On
Logstash_Prefix logstash
Trace_Output On
Type _doc