我已经使用" level"等字段解析了事件。 (DEBUG,INFO,ERROR,FATAL)。如何按最后一分钟和级别类型检索事件计数=错误?
我是这样尝试的:
curl -XGET 'mysite.com:9200/myindex/_count?pretty=true' -d '
{
"query":{
"term":{
"level":"error"
}
},
"filter":{
"range":{
"_timestamp":{
"gt":"now-1m"
}
}
}
}'
答案 0 :(得分:2)
您的活动必须有时间戳。如果是,请使用级别类型和范围时间戳的查询过滤器对事件编写计数聚合查询(elasticsearch支持时间/日期字段范围,带有' now'参数)。 令人困惑的部分是你没有提到你想要什么样的计数。总事件计数或你想按类型或一些名称参数计算(在这种情况下使用该参数的术语聚合)。
https://www.elastic.co/guide/en/elasticsearch/reference/1.4/mapping-date-format.html#date-math
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"level": "trace"
}
},
{
"range": {
"timestamp": {
"gt": "now-1m"
}
}
}
]
}
}
}
}
}