Elasticsearch

    Elasticsearch 输出插件支持 TLS/SSL,有关可用属性和配置的详细信息,请参阅 TLS/SSL 部分。

    要将记录输出到 Elasticsearch 服务中,您可以从命令行或通过配置文件运行插件:

    es 插件可以通过两种方式从命令行读取参数,通过 -p 参数或直接通过服务 URI 进行设置。URI 格式如下:

    使用指定的格式,您可以通过以下方式启动 Fluent Bit:

    1. -o stdout -m '*'

    这与如下命令行是类似的:

    1. $ fluent-bit -i cpu -t cpu -o es -p Host=192.168.2.3 -p Port=9200 \
    2. -p Index=my_index -p Type=my_type -o stdout -m '*'

    某些输入插件可能会生成字段名称中包含点的消息,从 Elasticsearch 2.0 不再允许这样做,因此当前 es 插件将其替换为下划线,例如:

    1. {"cpu0.p_cpu"=>17.000000}

    变为

    1. {"cpu0_p_cpu"=>17.000000}

    从 Elasticsearch 6.0 开始,您不能在单个索引中创建多个类型。这意味着您无法再按以下方式设置配置:

    如果您看到类似如下的错误消息,则需要修改配置,从而在每个索引上使用单一的类型(Type)

    Rejecting mapping update to [search] as the final mapping would have more than 1 type

    有关详细信息,请阅读.

    要使用 Amazon ElasticSearch Service,您必须将凭证指定为环境变量:

    1. export AWS_ACCESS_KEY_ID="your-access-key"
    2. export AWS_SECRET_ACCESS_KEY="your-secret-key"
    3. export AWS_SESSION_TOKEN="your-session-token"

    虽然通常将 AWS 相关凭据设置为环境变量是安全的,但最佳实践是从标准 AWS 来源之一获取凭据(如 Amazon EKS IAM Role for a Service Account)。因此,此功能可能不适用于生产环境。Fluent Bit 和 AWS 正在共同努力以在 Fluent Bit v1.5 中提供对所有标准 AWS 凭证来源的全面支持。

    配置示例:

    1. Match *
    2. Host vpc-test-domain-ke7thhzoo7jawsrhmm6mb7ite7y.us-west-2.es.amazonaws.com
    3. Port 443
    4. Index my_index
    5. Type my_type
    6. AWS_Auth On
    7. AWS_Region us-west-2
    8. tls On

    注意,Port 设置为 443,并启用了 。

    如果此功能尚未满足您的需求,则可以使用如下代理作为替代解决方法:

    可以在以下位置找到有关 AWS Sigv4 和 ElasticSearch 的更多详细信息: