Подтвердить что ты не робот

Просмотреть все выполненные запросы elasticsearch

Я хочу просмотреть все запросы, выполненные против экземпляра elasticsearch. Можно ли запустить elasticsearch в режиме отладки или сообщить ему, чтобы сохранить все запросы, выполненные против него?

Цель состоит в том, чтобы увидеть, какие запросы запускаются из программного обеспечения, используя elasticsearch для анализа.

4b9b3361

Ответ 1

Вы можете изменить настройки в файле конфигурации ElasticSearch.yml, в самом низу этого файла вы можете настроить время регистрации для записи всех.

index.search.slowlog.threshold.query.warn: 10s
index.search.slowlog.threshold.query.info: 5s
index.search.slowlog.threshold.query.debug: 2s
index.search.slowlog.threshold.query.trace: 500ms

index.search.slowlog.threshold.fetch.warn: 1s  
index.search.slowlog.threshold.fetch.info: 800ms
index.search.slowlog.threshold.fetch.debug: 500ms
index.search.slowlog.threshold.fetch.trace: 200ms

index.indexing.slowlog.threshold.index.warn: 10s
index.indexing.slowlog.threshold.index.info: 5s
index.indexing.slowlog.threshold.index.debug: 2s
index.indexing.slowlog.threshold.index.trace: 500ms

Отрегулируйте настройки и перезапустите node, а затем обратитесь к журналам, чтобы просмотреть запросы, выполненные против вашего node. Обратите внимание, что в файлах производственного журнала файлы будут быстро увеличиваться.

Ответ 2

Начиная с версии 5 ElasticSearch взимает деньги за эту функциональность. Он называется "Журнал аудита" и теперь является частью X-Pack. Существует бесплатная базовая лицензия, но эта лицензия дает вам только упрощенную функциональность мониторинга. Аутентификация, ведение журнала запросов и все эти довольно простые вещи теперь стоят денег.

Ответ 3

В версии 5.x вам нужно установить медленный журнал регистрации на индекс.

Командная строка:

curl -XPUT 'http://localhost:9200/myindexname/_settings' -d '{
"index.indexing.slowlog.threshold.index.debug" : "0s",
"index.search.slowlog.threshold.fetch.debug" : "0s",
"index.search.slowlog.threshold.query.debug" : "0s"
}'

Или, если вы используете Kibana, перейдите в панель Dev Tools и введите:

PUT /myindexname/_settings 
{"index.indexing.slowlog.threshold.index.debug": "0s", 
"index.search.slowlog.threshold.fetch.debug" : "0s", 
"index.search.slowlog.threshold.query.debug": "0s"}

# 1: применить ко всем индексам

Вы можете применить этот параметр ко всем индексам со следующей командой:

PUT /_all/_settings 
{"index.indexing.slowlog.threshold.index.debug": "0s", 
"index.search.slowlog.threshold.fetch.debug" : "0s", 
"index.search.slowlog.threshold.query.debug": "0s"}

# 2: сохранить существующие настройки

Если вы не хотите перезаписывать существующие настройки, а просто добавляете новые, добавьте '' 'preserve_existing = true' '' после _settings, например:

PUT /_all/_settings?preserve_existing=true 
{"index.indexing.slowlog.threshold.index.debug": "0s", 
"index.search.slowlog.threshold.fetch.debug" : "0s", 
"index.search.slowlog.threshold.query.debug": "0s"}

Вышеуказанный запрос будет ТОЛЬКО добавлять настройки, если они не существуют. Это не изменит их, если они уже есть.

# 3: все доступные настройки журнала

Все доступные медленные настройки журнала здесь и ниже для справки:

PUT /test_index/_settings
{
"index.search.slowlog.threshold.query.warn": "60s",
"index.search.slowlog.threshold.query.info": "5s",
"index.search.slowlog.threshold.query.debug": "1s",
"index.search.slowlog.threshold.query.trace": "0.1s",
"index.search.slowlog.threshold.fetch.warn": "30s",
"index.search.slowlog.threshold.fetch.info": "5s",
"index.search.slowlog.threshold.fetch.debug": "1s",
"index.search.slowlog.threshold.fetch.trace": "0.1s",
"index.indexing.slowlog.threshold.index.warn": "6s",
"index.indexing.slowlog.threshold.index.info": "5s",
"index.indexing.slowlog.threshold.index.debug": "1s",
"index.indexing.slowlog.threshold.index.trace": "0.1s",
"index.indexing.slowlog.level": "info",
"index.indexing.slowlog.source": "1000"
}