Kibana не показывает никаких результатов на вкладке «Discover»


79

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

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

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

Есть идеи??

Вот как Кибана видит applogsиндекс :

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

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

{
_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"
 }
},

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

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


1
вы добавляли метку времени при добавлении индекса к кибане?
Аниш

@Ngeunpo Не могли бы вы подробно рассказать, что вы имеете в виду?
Юрий

9
может быть вам стоит переключиться с таймфрейма из верхнего правого угла :)
Аниш

2
@Ngeunpo Сделал это, если вы посмотрите на скриншот, он установлен на «последние 60 дней», так что это не может быть проблемой.
Юри

6
Если бы я вам нравился, возможно , в ваших данных не было никаких данных о времени . Попробуйте снимитеIndex contains time-based events при создании шаблона индекса.
Automatico

Ответы:


155

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

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

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


1
Ну ... если вы посмотрите на мой скриншот, это совсем не так. Я визуализирую последние 60 дней. В любом случае проблема вроде бы решена. Плохо то, что я понятия не имею, почему изначально это не сработало. Удаляю этот вопрос, так как он не дает никакого решения
Юрий

1
Также: убедитесь, что вы создали и выбрали правильный индекс, который хотите просмотреть. Создайте его на вкладке настроек и выберите слева на вкладке обнаружения.
Automatico

11
На самом деле это довольно сложно заметить, хороший ответ.
TomSelleck

2
да, была та же проблема, поэтому пришлось изменить его на этот год, и он начал показывать все
ashim888

У меня такая же проблема и с более чем 20 тыс. Запросов в минуту, поэтому сроки не являются основной причиной. Я также попытался обновить шаблон индекса в настройках, как указано ниже. Тоже не помогло. Последним вариантом может быть воссоздание шаблона, но тогда я потеряю данные, созданные вычисляемыми полями, я полагаю.
Reddy SK

29

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

РЕДАКТИРОВАТЬ: Изображение любезно предоставлено: это замечательное руководство по установке ELK


9

Kibana не понимает поле временной метки , если его формат неверен. Отметка времени , которую вы выбрали, щелкнув имя поля времени при настройке шаблона индекса, должна быть:

"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
    }
  }
}'

Смотрите этот вопрос и ответ

ОБНОВИТЬ

Если вы используете 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
    }
  }
}'

5

образец изображения для создания индекса или шаблона ELK

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


4

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

  1. Удалите индекс на вкладке «Настройки».
  2. перезапустить Кибана
  3. затем повторно добавьте в Настройки

Я уверен, что проблемы с временными рядами также могут быть проблемой, но если на вкладке «Обнаружение» на самом деле не отображаются поля, то у вас может быть та же проблема, что и у исходного репортера, и у меня.


1
Не нужно перезапускать кибану, просто удалите и заново добавьте индекс
Bizmate

3

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


2

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

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


1

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


1

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

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


1

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


0

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

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

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

ПОЧЕМУ ЭТО СЛУЧИЛОСЬ ?

Кто-то мог внезапно остановить сервер, что привело к повреждению индексов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.