考虑以下目录结构:
/var/log/quodo/campaigns/deployment_29/campaign-32/users.log
/var/log/quodo/campaigns/deployment_29/campaign-12/ads.log
/var/log/quodo/campaigns/deployment_55/campaign-77/users.log
/var/log/quodo/campaigns/deployment_55/campaign-37/ads.log
...
我想使用Filebeat将/var/log/quodo/campaigns/<whatever1>/<whatever2>
下的所有日志登录到ElasticSearch。
Filebeat does not feature recursive monitoring of a directory:
要从预定义级别的子目录中获取所有文件,可以使用以下模式:
/var/log/*/*.log
。这会从
.log
的子文件夹中获取所有/var/log
个文件。它不从/var/log
文件夹本身获取日志文件。 目前无法以递归方式获取目录所有子目录中的所有文件。
filebeat.prospectors:
- input_type: log
paths:
- /var/log/quodo/campaigns/*/*/*
scan_frequency: 1s
output.elasticsearch:
<connection data>
我可以在Filebeat配置的目录层次结构中使用两级*
吗?
答案 0 :(得分:1)
以下是我的文件版本
$ filebeat.sh --version
filebeat version 5.6.2 (amd64), libbeat 5.6.2
我尝试了以下配置
filebeat.prospectors:
- input_type: log
paths:
- /var/log/**/**/*
output.console:
pretty: true
logging.level: debug
它对我很有用
{
"@timestamp": "2017-10-07T18:12:17.694Z",
"beat": {
"hostname": "vagrant",
"name": "vagrant",
"version": "5.6.2"
},
"input_type": "log",
"message": "tarun",
"offset": 6,
"source": "/var/log/test1/test3/test.log",
"type": "log"
}
答案 1 :(得分:1)
在filebeat版本7.6.1上它可以监视递归
img = $("#profilePhoto_update")
$("#profilePhoto_update").change(function(e) {
for (var i = 0; i < e.originalEvent.srcElement.files.length; i++) {
var file = e.originalEvent.srcElement.files[i];
var reader = new FileReader();
reader.onloadend = function() {
img.src = reader.result;
}
reader.readAsDataURL(file);
$("#profilePhoto_update").after(img);
}
});