2015-05-17 2 views
1

Я проиндексировал набор данных записей геоданных в ElasticSearch для анализа в Кибане. Моя проблема заключается в том, что вкладка в «Обнаружить» не подобрать данные, но вместо этого появляется сообщение об ошибкеОшибка поиска Kibana 4 'Discover'

Discover: An error occurred with your request. Reset your inputs and try again. 

В «Настройки», я мог бы настроить мой индекс данных просто отлично, и Kibana набирает все отображение полей с правильными метаданными типа/анализа/индексирования. «Визуализация» отлично работает. Я могу создать свои диаграммы, добавить их в панель инструментов, развернуть - все. Только вкладка «Открытие» нарушена для меня.

Я запускаю ElasticSearch 1.5.2 и пытался теперь с Kibana 4.0.1, 4.0.2 и 4.1-моментальным снимком (на Ubuntu 14.04), все с теми же результатами.

Еще один эффект, который я замечаю: боковая панель не показывает никаких «доступных полей». Только, если я развожу настройки поля и отключу «Скрыть недостающие поля», я получу свой список полей схемы. (Они выделены серым цветом, так как они считаются «пропавшими» от Kibana). Но интересно, что нажатие «Визуализировать» на одном из них, чтобы наметить их работы по распространению, снова отлично.)

Мое единственное подозрение: мои данные не имеет поля timestamp, так что, возможно, это то, что возится. Хотя, судя по документам, я бы предположил, что данные, не относящиеся к периоду времени, должны поддерживаться.

Любые подсказки, оцененные!

+0

Это должно помочь вам https://github.com/elastic/kibana/issues/3246, поскольку это похоже на ту же проблему, что и у вас. – Val

+0

Да, выглядит полностью для меня. Но, к сожалению, это другая проблема. Ни перезагрузка ES/Kibana, ни снижение индекса не помогли. Настройка тайм-аута запроса также кажется слишком хорошей, так как она была установлена ​​в 300 000 :-( – aboutgeo

ответ

1

В моем случае причиной было то, что я проиндексировал искаженный JSON в elasticsearch. Это был действительный Javascript, но недействительный JSON. В частности, я забыл процитировать ключи в объектах

Я вставил свои (тестовые) данные с помощью curl, например.

curl -X PUT http://localhost:9200/foo/doc/1 -d '{ts: "2015-06-24T01:07:00.000Z", employeeId: 105, action: "PICK", quantity: 8}' 

Обратите внимание, что т.с.: должно быть "ц" :, и т.д.

Похоже elasticsearch терпит такие вещи, но Kibana не делает. Как только я исправил это, Discover работал отлично.

Обратите внимание, что возникшая ошибка возникает на стороне клиента при возникновении ошибки. Если вы откроете клиентский отладчик (например, Firefox), вы увидите ошибку в журнале консоли. В моем случае, сообщение об ошибке было

Ошибка: Невозможно разобрать/сериализации тело

Если ошибка отличается, то это будет другая причина.

Это была моя ошибка для ввода плохого JSON для начала. Странно, что поиск elastics более терпим, чем Kibana.

+0

Ouch - действительно. Это была проблема. В моем случае я проиндексировал сценарий, который добавил новую строку в конце JSON. было намерением - потому что на самом деле «новая строка» была добавлена ​​как строка с экранированным «\ n». Как вы говорите: ElasticSearch, похоже, терпел это просто отлично, но не Kibana. Исправлен скрипт - и все прошло хорошо. – aboutgeo

0

Это случилось со мной. Я пробовал все ...:

  • Удаление всех индексов (.kibana, мой собственный, и т.д.) не работает
  • Перезагружаем ES, Kibana и LS услуги не помогло.
  • У меня не было проблемы с запросом времени в kibana.yml.

Моя проблема заключалась в том, что поле timestamp использовало неправильный формат времени. Я изменил его в этом формате, и он сработал: «date»: «2015-05-13T00: 00: 00»

0

У меня была та же проблема. Ни одно из предлагаемых решений не помогло. Я, наконец, нашел проблему при сравнении рабочей версии с нерабочей версией в Wireshark.

Не выбрасывайте знак порядка байтов UTF8 перед вашим JSON. Так или иначе, мой сериализатор был настроен для этого ... ElasticSearch в порядке с ним, но Kibana не может справиться с ним на странице Discover.

Смежные вопросы