我正在设置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中没有创建索引。因此,在基巴纳州,我看不到任何数据。
那是为什么?不应该Filebeat自动创建索引吗?
答案 0 :(得分:0)
您可以创建以下索引
output.elasticsearch:
hosts: ["localhost:9200"]
index: "test-%{+yyyy.MM.dd}"
答案 1 :(得分:0)
解决了!我没有在主机和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