Kibana не показывает никаких результатов на вкладке "Обнаружение"

Я настраиваю elasticsearch и Kibana для индексации журналов наших приложений (ошибок). Проблема в том, что Kibana не отображает никаких данных на вкладке "Discover".

Текущая ситуация

  • Elasticsearch запущен и работает, отвечает на API
  • Выполнение запроса непосредственно на Elasticsearch, например http://elasticserver.com:9200/applogs/_search?q=*, возвращает много результатов (см. ниже, как выглядит одна найденная запись)
  • Кибана работает и даже обнаруживает индекс applogs, открытый Elasticsearch
  • Kibana также показывает правильные свойства и тип данных документов applogs
  • Вкладка "Discover" не показывает никаких результатов... даже при установке периода времени на пару лет...

Любые идеи

Здесь , как Kibana видит индекс applogs:

enter image description here

Объект результатов поиска с эластичным поиском выглядит следующим образом:

{
_index: "applogs",
_type: "1",
_id: "AUxv8uxX6xaLDVAP5Zud",
_score: 1,
_source: {
   appUid: "esb.Idman_v4.getPerson",
   level: "trace",
   message: "WS stopwatch is at 111ms.",
   detail: "",
   url: "",
   user: "bla bla bla",
   additionalInfo: "some more info",
   timestamp: "2015-03-31T15:08:49"
 }
},

.. и , что я вижу на вкладке обнаружения:

enter image description here

Ответ 1

Для людей, у которых есть такие проблемы:

Изменить временной интервал в верхнем правом углу.

По умолчанию он отображает данные только за последние 15 минут.

Ответ 2

Я хотел бы поставить это как комментарий, но, к сожалению, я не могу дать свой дефицитный репо, чтобы сделать это. Так, как предположил @Ngeunpo, таким образом вы добавляете поле времени к индексу при его создании: enter image description here. Если вы не делали этого при создании своего индекса, я предлагаю вам удалить этот индекс и воссоздать его. Имя индекса logstash - * в gif аналогично вашему индексу applogs. В этом случае поле @timestamp добавляется как поле времени. Дайте мне знать, если это сработает.

EDIT: любезность изображения: замечательное руководство по настройке ELK

Ответ 3

Kibana не понимает поле timestamp, если оно неверно. Timestamp, который вы выбрали, нажав Имя поля времени при настройке шаблона индекса, должно быть:

"timestamp":"2015-08-05 07:40:20.123"

то вам следует обновить отображение индекса следующим образом:

curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d'
{
  "1": {
    "timestamp": {
      "enabled": true,
      "type": "date",
      "format": "yyyy-MM-dd HH:mm:ss.SSS",
      "store": true
    }
  }
}'

См. этот вопрос

UPDATE

Если вы используете ES 2.X, вы можете установить "format" в "epoch_millis" следующим образом:

curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d'
{
  "1": {
    "timestamp": {
      "type": "date",
      "format": "epoch_millis",
      "store": true,
      "doc_values": true
    }
  }
}'

Ответ 4

sample image for ELK creating index or pattern

Попробуйте это: снимите флажок "Индекс содержит события на основе времени" и затем укажите свое индексное имя, затем проверьте "Обнаружить", содержит ли оно данные или нет

Ответ 5

У меня была такая же проблема, и это сработало для меня:

  • Удалить индекс со вкладки "Настройки".
  • перезапустить Kibana
  • затем повторно добавить в Настройки

Проблемы с Time-Series я уверен, также может быть проблемой, но если на вкладке Discover нет полей, то у вас может быть проблема с оригинальным репортером и тем, что у меня было.

Ответ 6

У меня была такая же проблема, и @tAn-comment помог мне решить эту проблему. Изменение поля даты на @timestamp сделало трюк. Thanx!

Следующий шаг должен состоять в том, чтобы выяснить, что было неправильным в моем настраиваемом поле даты.

Ответ 7

У меня, вероятно, была одна и та же проблема - я вижу данные на панели управления, но 0 результатов в обнаружении. Переход к Менеджменту > Шаблон указателя > Кнопка обновления списка файлов (кнопка с иконкой обновления) разрешила это для меня.

Ответ 8

У меня была та же проблема, но теперь она работает нормально. Проблема была в @timestamp. Фактически, я загрузил файл в elasticsearch с помощью logstash, чтобы автоматически генерировать поле @timestamp. Kibana сравнить временной диапазон с этой временной меткой @, то есть, когда произошло фактическое событие. Даже если я отмените выбор "Индекс содержит события, основанные на времени", добавьте новую страницу шаблона индекса, Kibana автоматически рассмотрит поле @timestamp.So переключить с таймфреймом на Kibana на основе поля @timestamp, работавшего для меня. Вы также можете проверить, добавив шаблон индекса с отметкой времени и снимите флажок "Индекс содержит события, зависящие от времени". Посмотрите, что произойдет. Теперь не будет выбора любого временного кадра на странице поиска Kibana, и вы, скорее всего, получить результат на странице поиска. Это все мои наблюдения, не уверен, это решение подходит вашему делу.. вы можете попробовать.. Я использую ES 1.5x, logstash 1.5.1 и kibana 4.1.0

Ответ 9

Я также испытал ту же ошибку. В основном это происходит из-за формата времени. В принципе, убедитесь, что у вас есть действительный временной интервал для ваших данных (правый правый фильтр). Во всяком случае, в моем случае, я использовал формат времени в формате timestamp, но это не сработало. Поэтому я изменился на epoch_millisec, и он работал как шарм.

В целом, убедитесь, что Kibana может понять ваш формат даты. Требуется epoch_millisec по умолчанию не только эпоха.

Ответ 10

В моей ситуации все работало ранее, и тогда я не мог видеть последние данные, начиная с 1 февраля (на самом деле, я мог бы, если бы оглянулся назад на месяц). Оказывается, формат отображения для моего пользовательского временного поля был неверным. Мой формат отображения был YYYY-MM-DD'T'HH:mm:ss.SSSZ. Проблема была в том, что DD интерпретируется как день года, а я хотел день месяца, который dd. Изменение отображения и переиндексации решило проблему.

Ответ 11

Не относится к OP, но если ваш экземпляр Kibana сработает, когда вы попытаетесь распознать свой индекс (в разделе "Настройки" > "Индексы" ), см. https://github.com/elastic/kibana/issues/6419, которые также исправили проблему для меня.

Ответ 12

У меня была такая же проблема. Итак, как показано в одном из вышеперечисленных решений, я пошел на настройки и удалил предыдущий индекс и сделал новый с @timestamp.

Но это не решило проблему. Итак, я изучил этот вопрос и увидел, что после развертывания в Кибану ничего не было.

Итак, я зашел на сервер и увидел, что индексы повреждены. Я просто остановил logstash и elasticsearch на экземпляре/сервере и перезапустил службу. И Voila, он успешно перезапустил службу, и кибана вернулась.

ПОЧЕМУ ЭТО ПРОИСХОДИТ?

Кто-то может внезапно остановить сервер, из-за которого индексы будут повреждены.