0

我正在运行带有 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
4

1 回答 1

0

最后,这是 CIDR 过滤的问题......感谢@kathikeayan 让我仔细检查。

于 2020-06-08T06:02:24.500 回答