Я настраиваю 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"
}
},
..и то, что я вижу на вкладке "Обнаружение" :
Index contains time-based events
при создании шаблона индекса.Ответы:
Для людей , у которых есть проблемы , как это:
Измените временные рамки в правом верхнем углу.
По умолчанию он показывает данные только за последние 15 мин .
источник
Я хотел сделать это в качестве комментария, но, к сожалению, я не могу предоставить для этого свое неполноценное репо. Так как это было предложено @Ngeunpo, это то , как вы добавляете поле времени к индексу при создании его: . Если вы не сделали этого при создании индекса, я предлагаю вам удалить этот индекс и создать его заново. Имя индекса logstash- * в гифке аналогично вашим индексным приложениям . В этом случае поле @timestamp добавляется как поле времени. Сообщите мне, если это сработает.
РЕДАКТИРОВАТЬ: Изображение любезно предоставлено: это замечательное руководство по установке ELK
источник
Kibana не понимает поле временной метки , если его формат неверен. Отметка времени , которую вы выбрали, щелкнув имя поля времени при настройке шаблона индекса, должна быть:
тогда вам следует обновить отображение индекса следующим образом:
Смотрите этот вопрос и ответ
ОБНОВИТЬ
Если вы используете ES 2.X, вы можете установить ,
"format"
чтобы"epoch_millis"
это нравится:источник
Попробуйте следующее: снимите флажок «Индекс содержит события, зависящие от времени», а затем укажите имя индекса, затем установите флажок «Обнаружить», содержит ли он данные или нет.
источник
У меня была такая же проблема, и это сработало для меня:
Я уверен, что проблемы с временными рядами также могут быть проблемой, но если на вкладке «Обнаружение» на самом деле не отображаются поля, то у вас может быть та же проблема, что и у исходного репортера, и у меня.
источник
Вероятно, у меня была такая же проблема - я вижу данные на панели инструментов, но 0 результатов обнаруживает. Переход к Управлению> Шаблон индекса> Кнопка обновления списка полей (кнопка только со значком обновления) решил это для меня.
источник
У меня была такая же проблема, и комментарий @tAn- помог мне ее решить. Изменение поля даты на @timestamp помогло. Спасибо!
Следующим шагом должно быть выяснение, что неправильно с моим настраиваемым полем даты.
источник
У меня была такая же проблема, но теперь все работает нормально. Проблема была в @timestamp. На самом деле я загрузил файл для
elasticsearch
использования,logstash
поэтому он автоматически генерирует поле @timestamp.Kibana
сравните временной диапазон с этой меткой @ timestamp, то есть когда произошло фактическое событие. Даже если я сниму флажок «Индекс содержит события, основанные на времени» на странице добавления нового шаблона индекса,kibana
автоматически будет учитываться поле @timestamp. Поэтому переключите таймфрейм наkibana
на основе поля @timestamp у меня сработало. Вы также можете проверить, добавив шаблон индекса без отметки времени и отменив выбор опции «Индекс содержит события, основанные на времени». Посмотрите, что происходит .. Теперь вkibana
Откройте страницу, и вы, скорее всего, получите результат на странице обнаружения. Это все мои наблюдения, не уверен, это решение подходит для вашего случая ... вы можете попробовать ... Я использую ES 1.5x, logstash 1.5.1 и kibana 4.1.0источник
Я тоже испытал ту же ошибку. В основном это происходит из-за формата времени . По сути, убедитесь, что у вас есть допустимые временные рамки для ваших данных (верхний правый фильтр). В любом случае, в моем случае я использовал формат времени эпохи для метки времени, но это не сработало. Поэтому я вместо этого перешел на epoch_millisec, и это сработало как шарм.
В общем, убедитесь, что Kibana может понимать ваш формат даты и времени. По умолчанию требуется epoch_millisec , а не просто эпоха.
источник
В моей ситуации все работало раньше, а затем я не мог увидеть последние данные, начиная с 1 февраля (на самом деле, я мог бы, если бы посмотрел на месяц назад). Оказывается, формат отображения для моего настраиваемого временного поля был неправильным. Мой формат отображения был
YYYY-MM-DD'T'HH:mm:ss.SSSZ
. Проблема заключалась в том, чтоDD
это интерпретируется как день года, и я хотел день месяца, который естьdd
. Изменение сопоставления и переиндексация устранили проблему.источник
У меня была такая же проблема. Итак, как показано в одном из решений выше, я зашел в настройки, удалил предыдущий индекс и создал новый с помощью @timestamp.
Но это не решило проблему. Итак, я изучил проблему и увидел, что после развертывания в Кибану ничего не поступало.
Итак, я зашел на сервер и увидел, что индексы повреждены. Итак, я просто остановил logstash и elasticsearch на экземпляре / сервере и перезапустил службу. И вуаля, он успешно перезапустил службу, и кибана вернулась.
ПОЧЕМУ ЭТО СЛУЧИЛОСЬ ?
Кто-то мог внезапно остановить сервер, что привело к повреждению индексов.
источник