Elasti c Поиск пользовательского регистратора для Java - PullRequest
3 голосов
/ 28 января 2020

В настоящее время у нас есть несколько Java приложений для микросервисов, которые используют Elasti c Search, и для целей отладки у нас установлено ведение журнала tracer. Это выводит все запросы ES и ответы в журналы. Нам действительно нужны только запросы, и только на непроизводственные. Для всех сред мы хотим сохранить время отклика поиска вместе с настраиваемым заголовком, который мы установили для целей отслеживания в нескольких приложениях микросервисов.

Я вижу, что в. NET есть специальное решение, которое идеально подойдет для нас: https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/logging-with-on-request-completed.html#logging -с запросом-завершено но, к сожалению, я не могу показаться найти подходящую функцию Java.

Есть ли способ сделать это с помощью Java?

1 Ответ

0 голосов
/ 03 февраля 2020

Если я правильно сформулировал ваш вопрос, то вы хотите следующее: -

  1. Журнал каждого запроса эластичного поиска только (но не ответа) с разных микросервисов.
  2. Вы просто хотите, чтобы он был включен ваши тестовые кластеры

В elastisearch есть обходной путь для этого. Elasticsearch сам регистрирует запросы, сделанные к нему, и вам просто нужно установить порог для него. Поэтому любой запрос, который занимает больше времени, чем этот порог, будет записан в отдельный файл " _slow_log. " в папке журналов. Вам просто нужно установить пороговое значение «0», чтобы регистрировать только каждый запрос, и снова это можно сделать при тестировании окружения для вашего конкретного варианта использования.

В нем много параметров конфигурации, и мы рекомендуем вам чтобы проверить это: https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-slowlog.html

...