Ответ 1
Для людей, у которых есть такие проблемы:
Изменить временной интервал в верхнем правом углу.
По умолчанию он отображает данные только за последние 15 минут.
Я настраиваю elasticsearch и Kibana для индексации журналов наших приложений (ошибок). Проблема в том, что Kibana не отображает никаких данных на вкладке "Discover".
Текущая ситуация
http://elasticserver.com:9200/applogs/_search?q=*
, возвращает много результатов (см. ниже, как выглядит одна найденная запись)applogs
, открытый Elasticsearchapplogs
Любые идеи
Здесь , как Kibana видит индекс 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"
}
},
.. и , что я вижу на вкладке обнаружения:
Для людей, у которых есть такие проблемы:
Изменить временной интервал в верхнем правом углу.
По умолчанию он отображает данные только за последние 15 минут.
Я хотел бы поставить это как комментарий, но, к сожалению, я не могу дать свой дефицитный репо, чтобы сделать это. Так, как предположил @Ngeunpo, таким образом вы добавляете поле времени к индексу при его создании: . Если вы не делали этого при создании своего индекса, я предлагаю вам удалить этот индекс и воссоздать его. Имя индекса logstash - * в gif аналогично вашему индексу applogs. В этом случае поле @timestamp добавляется как поле времени. Дайте мне знать, если это сработает.
EDIT: любезность изображения: замечательное руководство по настройке ELK
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
}
}
}'
Попробуйте это: снимите флажок "Индекс содержит события на основе времени" и затем укажите свое индексное имя, затем проверьте "Обнаружить", содержит ли оно данные или нет
У меня была такая же проблема, и это сработало для меня:
Проблемы с Time-Series я уверен, также может быть проблемой, но если на вкладке Discover нет полей, то у вас может быть проблема с оригинальным репортером и тем, что у меня было.
У меня была такая же проблема, и @tAn-comment помог мне решить эту проблему. Изменение поля даты на @timestamp сделало трюк. Thanx!
Следующий шаг должен состоять в том, чтобы выяснить, что было неправильным в моем настраиваемом поле даты.
У меня, вероятно, была одна и та же проблема - я вижу данные на панели управления, но 0 результатов в обнаружении. Переход к Менеджменту > Шаблон указателя > Кнопка обновления списка файлов (кнопка с иконкой обновления) разрешила это для меня.
У меня была та же проблема, но теперь она работает нормально.
Проблема была в @timestamp. Фактически, я загрузил файл в elasticsearch
с помощью logstash
, чтобы автоматически генерировать поле @timestamp. Kibana
сравнить временной диапазон с этой временной меткой @, то есть, когда произошло фактическое событие. Даже если я отмените выбор "Индекс содержит события, основанные на времени", добавьте новую страницу шаблона индекса, Kibana
автоматически рассмотрит поле @timestamp.So переключить с таймфреймом на Kibana
на основе поля @timestamp, работавшего для меня.
Вы также можете проверить, добавив шаблон индекса с отметкой времени и снимите флажок "Индекс содержит события, зависящие от времени". Посмотрите, что произойдет. Теперь не будет выбора любого временного кадра на странице поиска Kibana
, и вы, скорее всего, получить результат на странице поиска.
Это все мои наблюдения, не уверен, это решение подходит вашему делу.. вы можете попробовать..
Я использую ES 1.5x, logstash 1.5.1 и kibana 4.1.0
Я также испытал ту же ошибку. В основном это происходит из-за формата времени. В принципе, убедитесь, что у вас есть действительный временной интервал для ваших данных (правый правый фильтр). Во всяком случае, в моем случае, я использовал формат времени в формате timestamp, но это не сработало. Поэтому я изменился на epoch_millisec, и он работал как шарм.
В целом, убедитесь, что Kibana может понять ваш формат даты. Требуется epoch_millisec по умолчанию не только эпоха.
В моей ситуации все работало ранее, и тогда я не мог видеть последние данные, начиная с 1 февраля (на самом деле, я мог бы, если бы оглянулся назад на месяц). Оказывается, формат отображения для моего пользовательского временного поля был неверным. Мой формат отображения был YYYY-MM-DD'T'HH:mm:ss.SSSZ
. Проблема была в том, что DD
интерпретируется как день года, а я хотел день месяца, который dd
. Изменение отображения и переиндексации решило проблему.
Не относится к OP, но если ваш экземпляр Kibana сработает, когда вы попытаетесь распознать свой индекс (в разделе "Настройки" > "Индексы" ), см. https://github.com/elastic/kibana/issues/6419, которые также исправили проблему для меня.
У меня была такая же проблема. Итак, как показано в одном из вышеперечисленных решений, я пошел на настройки и удалил предыдущий индекс и сделал новый с @timestamp.
Но это не решило проблему. Итак, я изучил этот вопрос и увидел, что после развертывания в Кибану ничего не было.
Итак, я зашел на сервер и увидел, что индексы повреждены. Я просто остановил logstash и elasticsearch на экземпляре/сервере и перезапустил службу. И Voila, он успешно перезапустил службу, и кибана вернулась.
ПОЧЕМУ ЭТО ПРОИСХОДИТ?
Кто-то может внезапно остановить сервер, из-за которого индексы будут повреждены.