Filebeat 未在 Elasticsearch 中创建索引

Filebeat is not creating index in Elasticsearch

我正在设置 Filebeat 以将日志发送到 Elasticsearch。这是我的 filebeat.yml:

filebeat.prospectors:
- type: log
  paths:
  - '/var/log/project/*.log'
  json.message_key: message

output.elasticsearch:
  hosts: ["localhost:9200"]

我有这个文件/var/log/project/test.log,内容如下:

{ "message": "This is a test" }

并且我期待将此日志发送到 Elasticsearch。 Elasticsearch 运行正在本地主机 9200 的 Docker 容器中。

当我运行 filebeat (Docker)时,Elasticsearch中没有创建索引。所以,在 Kibana 中,我没有看到任何数据。

这是为什么? Filebeat 不是应该自动创建索引吗?

您可以创建如下索引

output.elasticsearch:
hosts: ["localhost:9200"]
index: "test-%{+yyyy.MM.dd}"

已解决!我没有在主机和 Filebeat 容器之间共享日志目录,所以没有要发送的日志。

我在 运行 Filebeat 时添加了一个卷:

docker run -it -v $(pwd)/filebeat.yml:/usr/share/filebeat/filebeat.yml -v /var/log/project/:/var/log/project/ docker.elastic.co/beats/filebeat:6.4.0