我是logstash和elasticsearch的新手。我有logline,我已在logstash中解析。见下面的例子: 记录行:
20150727 020225108-0700 site1dir01 imqueueserv 4161 0 139965885622016 Note;MtaQueueDirRemoved(79/54) /xyz/user1/queue/deferred/MTA:rme=QS_P_GETQUEUEDMESSAGES:port=10003
我为它写的Grok模式:
grok{
match => ["message", "%{YEAR}%{MONTHNUM}%{MONTHDAY} %{USERNAME:Integerdata} %{HOST} %{WORD:servername} %{INT:processID}...%{INT:data} %{WORD:loglevel};%{WORD:traceName}\(.*\) %{GREEDYDATA:Logdata}",
"message", "%{GREEDYDATA:mtaLogData}"]
}
现在在Kibana,我正在获取时间戳数据:
@timestamp ==> 2015-07-27T02:02:25.812-07:00
现在当我在elasticsearch中的curl命令下面触发以获取特定日期的数据时,我得到了所有不应该发生的记录。
我的卷曲命令如下:
curl -XGET 'http://localhost:9200/_all/_count?pretty=true' -d '{
"query" : {
"bool" : {
"should" : [
{
"match" : {
"type" : "queueserverLog"
}} ,
{
"filtered" : {
"filter" : {
"range" : {
"timestamp" : {
"from" : "2015-07-23T00:00:01",
"to" : "2015-07-23T23:59:59"
}
}
}
}
}
]
}
}
}'
有人可以指导我根据我需要在此处进行的日期过滤来获取数据吗?