首页 > 解决方案 > Fluentd 正在工作,但没有在 elastcisearch 上创建索引

问题描述

我有一个 Kubernetes pod java 应用程序(将日志写入卷主机 (/var/log/java-app/java.log) 上的文件),并使用 Fluentd 作为守护程序集来跟踪日志文件并写入 Elasticsearch。我的 fluentd 正在工作,但没有在弹性搜索上创建索引,也没有在 kibana 上显示索引。

这是 Fluentd 的配置:

javaapp.conf: |
<source>
  @type tail
  path /var/log/java-app/java.log
  pos_file /var/log/java-apps.log.pos
  tag java.app
  read_from_head true
  <parse>
    @type json
    time_format %Y-%m-%dT%H:%M:%S.%NZ
  </parse>
</source>

 # we send the logs to Elasticsearch
<match java.**>
   @type elasticsearch_dynamic
   @log_level info
   include_tag_key true
   host "#{ENV['FLUENT_ELASTICSEARCH_HOST']}"
   port "#{ENV['FLUENT_ELASTICSEARCH_PORT']}"
   user "#{ENV['FLUENT_ELASTICSEARCH_USER']}"
   password "#{ENV['FLUENT_ELASTICSEARCH_PASSWORD']}"
   scheme "#{ENV['FLUENT_ELASTICSEARCH_SCHEME'] || 'http'}"
   ssl_verify "#{ENV['FLUENT_ELASTICSEARCH_SSL_VERIFY'] || 'true'}"
   reload_connections true
   logstash_format true
   logstash_prefix java-app-logs
   <buffer>
       @type file
       path /var/log/fluentd-buffers/java-app.system.buffer
       flush_mode interval
       retry_type exponential_backoff
       flush_thread_count 2
       flush_interval 5s
       retry_forever true
       retry_max_interval 30
       chunk_limit_size 2M
       queue_limit_length 32
       overflow_action block
   </buffer>
</match>

Fluentd 版本:fluent/fluentd-kubernetes-daemonset:v1.1-debian-elasticsearch Elasticsearch 版本:docker.elastic.co/elasticsearch/elasticsearch:7.3.0

看起来 Fluentd 无法将日志放入 Elasticsearch。

标签: elasticsearchloggingkuberneteskibanafluentd

解决方案


推荐阅读