目前
我已经使用一个日志文件完成了上述任务,并将带有logstash的数据传递给elasticsearch中的一个索引:
yellow open logstash-2016.10.19 5 1 1000807 0 364.8mb 364.8mb
我真正想做的事
如果我有以下日志文件,这些文件是根据年,月和日期命名的
MyLog-2016-10-16.log
MyLog-2016-10-17.log
MyLog-2016-10-18.log
MyLog-2016-11-05.log
MyLog-2016-11-02.log
MyLog-2016-11-03.log
我想告诉logstash按年,月和日期阅读并创建以下索引:
yellow open MyLog-2016-10-16.log
yellow open MyLog-2016-10-17.log
yellow open MyLog-2016-10-18.log
yellow open MyLog-2016-11-05.log
yellow open MyLog-2016-11-02.log
yellow open MyLog-2016-11-03.log
我可以就如何进行此操作获得一些指导吗?
谢谢你
答案 0 :(得分:0)
这也很简单:
lastKey
答案 1 :(得分:0)
如果文件中的行包含日期时间信息,则应使用日期{}过滤器从该值设置@timestamp。如果这样做,您可以使用@Renaud提供的输出格式,“MyLog - %{+ YYYY.MM.dd}”。
如果这些行不包含日期时间信息,您可以使用索引名称的输入路径,例如“%{路径}”。要获得路径的基本名称:
mutate {
gsub => [ "path", ".*/", "" ]
}
答案 2 :(得分:0)
输出部分中的此配置是否足以满足您的需要?
output {
elasticsearch {
embedded => false
host => localhost
port => 9200
protocol => http
cluster => 'elasticsearch'
index => "syslog-%{+YYYY.MM.dd}"
}
}