Horodatage n'apparaissant pas à Kibana
Je suis assez nouveau dans Kibana et je viens de configurer une instance pour examiner certaines données ElasticSearch.
J'ai un index dans Elastic Search, qui contient quelques champs, dont _timestamp. Lorsque je vais dans l'onglet "Découvrir" et que je regarde mes documents, chacun contient le champ _timestamp mais avec un avertissement jaune à côté du champ disant "Pas de mappage en cache pour ce champ". En conséquence, je n'arrive pas à trier/filtrer par heure.
Lorsque j'essaie de créer un nouveau modèle d'index et de cliquer sur "L'index contient des événements temporels", la liste déroulante "Nom du champ temporel" ne contient rien.
Dois-je faire quelque chose pour que Kibana reconnaisse le champ _timestamp?
J'utilise Kibana 4.0.
Vous devrez d'abord prendre ces mesures rapides:
- Allez à Paramètres → Avancé.
- Editez le metaFields et ajoutez "_timestamp". Appuyez sur Enregistrer.
- Retournez maintenant dans Paramètres → Indices et _horodatage sera disponible dans la liste déroulante pour "Nom du champ temporel".
Ma version est 2.2.0
Vous avez le bon schéma. Je suis le guide Exemple:
{
"memory": INT,
"geo.coordinates": "geo_point"
"@timestamp": "date"
}
Si vous avez l'horodatage @, vous verrez le
ps: si votre schéma n'a pas de champ "date", ne cochez pas la case "Index contient des événements temporels
Dans les versions plus récentes, vous devez spécifier le champ de date avant d'envoyer vos données.
Votre champ de date doit être dans un format standard, tel que millisecondes après Epoch (numéro long) ou - comme suggéré par MrE - dans ISO8601 . Voir plus d'informations ici: https://www.elastic.co/guide /en/elasticsearch/reference/current/date.html
Encore une fois, avant d'envoyer vos données à l'index, vous devez spécifier le mappage pour ce champ. En python:
import requests
mapping = '{"mappings": {"your_index": {"properties": {"your_timestamp_field": { "type": "date" }}}}}'
requests.put('http://yourserver/your_index', data=mapping)
...
send_data()
La réponse acceptée est obsolète à partir de Kibana 2.0
vous devez utiliser un simple champ date
dans vos données et le définir explicitement à l'aide d'un horodatage ou d'une chaîne de date au format ISO 8601 . https://en.wikipedia.org/wiki/ISO_8601
vous devez également définir un mappage à date AVANT de commencer apparemment à envoyer des données.
curl -XPUT 'http://localhost:9200/myindex' -d '{
"mappings": {
"my_type": {
"properties": {
"date": {
"type": "date"
}
}
}
}
}'
Allez dans Paramètres-> Indices, sélectionnez votre index et cliquez sur l'icône jaune "actualiser". Cela éliminera l'avertissement et rendra peut-être le champ disponible dans votre visualisation.