Как узнать неверный запрос, который привел к перезапуску кластера? - PullRequest
3 голосов
/ 20 июня 2020

Как мне найти запрос, возможно, из консоли запросов?

Я знаю период времени.

Он недоступен на панели мониторинга истории, как на панели мониторинга истории. Я вижу долго выполняющиеся запросы только за последние 10 минут.

Возможно, если бы я мог получить правильный URI, исследуя App-Serives или данные счетчиков?

Ответы [ 2 ]

5 голосов
/ 21 июня 2020

Если вы хотите увидеть, какие запросы были выполнены в консоли запросов, проверьте записи 8000_AccessLog.txt за этот период времени и найдите POST до конечной точки /qconsole/endpoints/evaler.xqy.

Например :

:: 1 - admin [20 / июн / 2020: 18: 51: 34 -0400] "POST /qconsole/endpoints/evaler.xqy?qid=4765025502384248875 & dbid = 10248170186042536325 & sid = 11969990273495629802 & crid = 6539177331 & querytype = xquery & action = eval & cache = 1592693494327 HTTP / 1.1 "200 226" http://localhost: 8000 / qconsole / "" Mozilla / 5.0 (* 10206 * NT / 5.0 (* 10206 * NT) 1021 *, как Gecko) Chrome / 83.0.4103.61 Safari / 537.36 "

Возьмите qid (в приведенном выше примере это 4765025502384248875

Затем вы можете найти этот запрос в базе данных служб приложений, создав URI с этим идентификатором:

doc("/queries/4765025502384248875.txt")
2 голосов
/ 21 июня 2020

Метод 1:

  1. Проверьте отметку времени перезапуска сервера в $Logs/ErrorLog.txt
  2. Предполагая, что исходный запрос был выполнен в qconsole, затем получите $qid в $Logs/8000_RequestLog.txt на основе временных меток шага 1. например, ниже $qid это 10831783099673334040

"url":"/qconsole/endpoints/evaler.xqy?qid=10831783099673334040&dbid=

Выполнить ниже XQuery для базы данных App-Services:
declare namespace qconsole="http://marklogic.com/appservices/qconsole";
declare function local:query-history($qid as xs:unsignedLong)
{
  for $doc in doc()
  where $doc/qconsole:history/qconsole:query[qconsole:id = $qid]
  return base-uri($doc)
};
local:query-history(10831783099673334040);

Выше будет извлекать URI истории, связанные с $ qid. Документы истории предоставят вам разбивку по метке времени, содержанию… .et c история qconsole.

Метод 2:

Вы можете просмотреть раскрывающееся меню истории запросов (маленькие часы) в qconsole, как показано ниже. Он дает вам отметку времени и детали запроса.

введите описание изображения здесь

...