【问题标题】:EKS pods logging to Elastic CloudEKS pod 记录到 Elastic Cloud
【发布时间】:2021-05-13 12:04:26
【问题描述】:

我正在尝试设置从 EKS 发送到 ElasticSearch Cloud 的 pod 日志。

根据Fluent Bit for Amazon EKS on AWS Fargate is here,应该支持ElasticSearch:

您可以选择 CloudWatch、Elasticsearch、Kinesis Firehose 和 Kinesis Streams 作为输出。

根据FluentBit Configuration Parameters for ElasticSearch,具有Cloud_IDCloud_Auth 参数应该足以将日志传送到Elasticsearch Cloud。

一个示例here 展示了如何为 FluentBit 配置 ES 输出,所以我的配置如下:

[OUTPUT]
  Name  es
  Match *
  Logstash_Format On
  Logstash_Prefix ${logstash_prefix}
  tls On
  tls.verify Off
  Pipeline date_to_timestamp
  Cloud_ID ${es_cloud_id}
  Cloud_Auth ${es_cloud_auth}
  Trace_Output On

我正在运行一个简单的 ngnix 容器来生成一些日志(如链接示例之一),但它们似乎没有出现在我的 ElasticSearch / Kibana 中。

我错过了什么吗?如何将日志发送到 ElasticSearch Cloud?

另外,Trace_Output On 应该记录 FluentBits 发送日志的尝试,但我在哪里可以在 EKS 上查看这些日志?

【问题讨论】:

  • 我假设您在 Fargate 配置文件中运行 nginx,对吗?您在哪个命名空间中创建了 FluentBit ConfigMap?你用什么资源来启动 nginx?能否确认 nginx pod 自动创建了 side car 容器?

标签: amazon-eks aws-fargate fluent-bit


【解决方案1】:

我也遇到过这个。在我看来,使用 AWS 托管的 FluentBit 时仅支持 AWS ElasticSearch(据我所知)。

https://aws.amazon.com/about-aws/whats-new/2020/12/amazon-eks-adds-built-in-logging-support-for-aws-fargate/

如果您愿意,您可以使用 sidecar fluentbit 容器(可以发送到 ElasticSearch)来解决这个问题。您需要修改应用程序以将日志写入文件系统。

或者您可以将托管 FluentBit 与 cloudwatch 输出一起使用,通过 lambda 函数订阅日志组并将其发送到 ES。

【讨论】:

    猜你喜欢
    • 2017-09-27
    • 2019-12-03
    • 2020-08-21
    • 2020-01-15
    • 2020-10-26
    • 2023-01-15
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多