В другом наборе данных, где logstash отправляет данные в ES, я могу создавать визуализации с интервалом «авто», но с другим набором данных, где я отправляю данные через Java API, «авто» отсутствует в раскрывающемся списке. Смотрите скрины.
Код Java, который я использую для отправки данных:
IndexResponse response = transportClient.prepareIndex("foo", "bar", ("" + timestamp)).setSource( jsonBuilder()
.startObject()
.field("@timestamp", isoDateFormat.format(new Date(timestamp)))
.field("url", "blah")
.endObject()
).execute().actionGet();
Авто не поддерживается для индексов без учета времени.
В настройках (в Kibana) указано, что мое поле @timestamp имеет тип «дата». В моем сгенерированном наборе данных logstash говорится, что мое поле @timestamp также относится к типу «дата», но рядом с именем поля также отображается небольшой значок времени. Вы знаете, как я могу заставить Кибану тоже распознать мое поле как время? Он видит это как Свидание. Что еще нужно настроить или изменить?
Я понял это после нескольких часов разочарования. Недостаточно обновить список полей в настройках. Вам нужно сначала удалить индекс в Kibana и снова добавить его, где он позволяет вам выбрать поле временной метки. После этого появляется маленький значок времени, и в раскрывающемся списке отображается «авто».
Самый полезный комментарий
Я понял это после нескольких часов разочарования. Недостаточно обновить список полей в настройках. Вам нужно сначала удалить индекс в Kibana и снова добавить его, где он позволяет вам выбрать поле временной метки. После этого появляется маленький значок времени, и в раскрывающемся списке отображается «авто».