web-dev-qa-db-fra.com

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. 

27
HHHH

Vous devrez d'abord prendre ces mesures rapides:

  1. Allez à Paramètres → Avancé.
  2. Editez le metaFields et ajoutez "_timestamp". Appuyez sur Enregistrer.
  3. Retournez maintenant dans Paramètres → Indices et _horodatage sera disponible dans la liste déroulante pour "Nom du champ temporel".

Kibana 4 Advanced Settings metaFields

54
Nick

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  enter image description here

ps: si votre schéma n'a pas de champ "date", ne cochez pas la case "Index contient des événements temporels

2
Lincoln

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()
2
Anoyz

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" 
        }
      }
    }
  }
}'
1
MrE

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.

0
Alain Collins