Откройте для себя исторические тенденции в Elasticsearch (не визуально) - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть некоторый опыт использования Elastic в качестве хранилища журналов, но я застрял на базовом распознавании трендов (где мне нужно сравнить найденные документы друг с другом) за периоды времени.

Простой запрос может ответить на следующий вопрос:

Поиск всех вхождений строк документа (строка задается растущим / продолжающимся значением @timestamp), где определенное поле (например, threads_count) увеличивается для фиксированного количества документов или периода времени.

  • Так что, если у меня есть thread_count какого-либо приложения, оно регистрируется каждую минуту в течение дня, включая метку времени.И я уточняю, что я ищу растущий тренд за 10 минут - результат должен возвращать документы или наборы документов, где значение thread_count было больше, чем за минуту до того, как минимум, для 10 документов.

Это очень похожая задача - увидеть линейный график и определить растущие части на глаз.

Может быть, я просто пропускаю правильное имя функции для поиска.Я не заинтересован в визуализации, я хотел бы искать похожие ситуации через API и предпринимать необходимые действия.

Любая ссылка на документацию или простой пример приветствуется!

1 Ответ

0 голосов
/ 20 февраля 2019

Скрипт не может использоваться между документами.Таким образом, вам придется использовать полезную нагрузку.

В вашем запросе отсортировать результат по дате.

https://www.elastic.co/guide/en/elastic-stack-overview/6.3/how-watcher-works.html

Сценарий в полезной нагрузке может сказать вам, если полерастет (что-то в этом роде, сейчас у вас нет доступа к индексу es)

"transform": {
    "script": {
        "source": "ctx.payload.transform = []; def current_score = -1;
def current = []; for (int j=0;j<ctx.payload.hits.hits;j++){
//check in the loop if current_score increasing using ctx.payload.hits.hits[j]._source.message], if not return "FALSE"

 } ; return "TRUE",
    "lang": "painless"
    }
}

Если вы используете logstash для индексации ваших документов, посмотрите, что прошло, может быть тоже неплохо: https://www.elastic.co/guide/en/logstash/current/plugins-filters-elapsed.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...