Метка времени не появляется в Kibana
Я довольно новичок в Kibana и просто создал экземпляр, чтобы посмотреть на некоторые данные ElasticSearch.
У меня есть один индекс в эластичном поиске, который имеет несколько полей, включая _timestamp. Когда я иду на вкладку " Discover "и смотрю на свои документы, у каждого есть поле _timestamp, но с желтым предупреждением рядом с полем"нет кэшированного сопоставления для этого поля". В результате я не могу сортировать / фильтровать по времени.
когда я пытаюсь создать новый шаблон индекса и нажмите на "Индекс содержит события, основанные на времени", раскрывающийся список "имя поля времени" ничего не содержит.
есть ли что-то еще, что мне нужно сделать, чтобы Кибана узнал поле _timestamp?
Я использую Kibana 4.0.
5 ответов
сначала вам нужно сделать следующие быстрые шаги:
- на Настройки → Дополнительно.
- редактировать метапол и добавить "_timestamp". Нажмите "Сохранить".
- Теперь вернемся к Настройки → Индексы и _timestamp будет доступен в раскрывающемся списке для "Time-field name".
моя версия es-2.2.0
у вас есть правильная схема. Я следую за руководство Например:
{
"memory": INT,
"geo.coordinates": "geo_point"
"@timestamp": "date"
}
Если у вас есть @ timestamp, вы увидите
ps: Если в вашей схеме нет поля "дата", не проверяйте "индекс содержит события, основанные на времени
в более новых версиях необходимо указать поле даты перед отправкой данных.
ваше поле даты должно быть в стандартном формате, таком как миллисекунды после эпохи (длинное число) или - как предложено MrE - в ISO8601. Смотри здесь подробнее: https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html
опять же, перед отправкой данных в индекс необходимо указать сопоставление для этого поля. В python:
import requests
mapping = '{"mappings": {"your_index": {"properties": {"your_timestamp_field": { "type": "date" }}}}}'
requests.put('http://yourserver/your_index', data=mapping)
...
send_data()
перейдите в Настройки - > индексы, выберите индекс и нажмите желтый значок "обновить". Это избавит вас от предупреждения и, возможно, сделает поле доступным в вашей визуализации.
принятый ответ устарел по состоянию на Kibana 2.0
вы должны использовать простой date
поле в ваших данных и установите его явно, используя либо метку времени, либо строку даты в формате ISO 8601.
https://en.wikipedia.org/wiki/ISO_8601
вам также нужно установить сопоставление на дату, прежде чем вы начнете отправлять данные.
curl -XPUT 'http://localhost:9200/myindex' -d '{
"mappings": {
"my_type": {
"properties": {
"date": {
"type": "date"
}
}
}
}
}'