Получить количество событий по последней минуте и уровню события

Я проанализировал события с полем типа "уровень" (DEBUG, INFO, ERROR, FATAL). Как получить количество событий по последней минуте и уровню типа = ОШИБКА?

экран из Кибаны

Я пытаюсь так:

    curl -XGET 'mysite.com:9200/myindex/_count?pretty=true' -d '
   {
   "query":{
      "term":{
         "level":"error"
      }
   },
   "filter":{
      "range":{
         "_timestamp":{
            "gt":"now-1m"
         }
      }
   }
}'

1 ответ

У вас должна быть временная метка для ваших событий. Если да, напишите агрегатный запрос по событиям с фильтрами запросов типа level и range timestamp(эластичный поиск поддерживает диапазон в поле времени / даты с параметром 'now'). сбивает с толку то, что вы не упомянули, какой счет вы хотите. Общее количество событий или вы хотите считать по типу или какому-либо параметру имени (в этом случае используйте агрегирование терминов по этому параметру).

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html

https://www.elastic.co/guide/en/elasticsearch/reference/1.4/mapping-date-format.html

{
    "query": {
        "filtered": {
            "filter": {
                "bool": {
                    "must": [
                        {
                            "term": {
                                "level": "trace"
                            }
                        },
                        {
                            "range": {
                                "timestamp": {
                                    "gt": "now-1m"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}
{
    "query": {
        "filtered": {
            "filter": {
                "bool": {
                    "must": [
                        {
                            "term": {
                                "level": "trace"
                            }
                        },
                        {
                            "range": {
                                "timestamp": {
                                    "gt": "now-1m"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}

@ Андрей-Стефан экран из Кибаны

Я пытаюсь так:

    curl -XGET 'mysite.com:9200/myindex/_count?pretty=true' -d '
   {
   "query":{
      "term":{
         "level":"error"
      }
   },
   "filter":{
      "range":{
         "_timestamp":{
            "gt":"now-1m"
         }
      }
   }
}'
Другие вопросы по тегам