web-dev-qa-db-fra.com

Kibana n'affiche aucun résultat dans l'onglet "Découvrir"

J'ai installé elasticsearch et Kibana pour l'indexation de nos journaux d'application (d'erreur). Le problème est que Kibana n’affiche aucune donnée dans l’onglet "Découvrir".

Situation actuelle

  • Elasticsearch est opérationnel et répond à l'API
  • l'exécution d'une requête directement sur Elasticsearch telle que http://elasticserver.com:9200/applogs/_search?q=* renvoie de nombreux résultats (voir ci-dessous la présentation d'un seul enregistrement trouvé).
  • Kibana est opérationnel et trouve même l'indice applogs exposé par Elasticsearch
  • Kibana affiche également les propriétés et le type de données corrects des documents applogs
  • L'onglet "Découvrir" ne montre aucun résultat ... même si vous réglez la période sur quelques années ...

Des idées??

Voici comment Kibana voit l'index applogs:

enter image description here

L'objet de résultat de requête de recherche élastique ressemble à ceci:

{
_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"
 }
},

..et ce que je vois dans l'onglet découvrir:

enter image description here

71
Juri

Pour les personnes qui ont un problème comme ceci:

Changer le cadre temporel dans le coin supérieur droit. 

Par défaut, il affiche data uniquement pour les 15 dernières minutes .

145
dasar

Je voulais mettre cela comme un commentaire, mais malheureusement, je ne suis pas en mesure de donner mon repo déficient pour le faire. Ainsi, comme @Ngeunpo l'a suggéré, voici comment ajouter un champ de temps à un index tout en le créant:enter image description here. Si vous ne l'avez pas fait lors de la création de votre index, je vous suggère de le supprimer et de le recréer. Le nom d'index logstash- * dans le gif est analogue à votre index applogs. Dans ce cas, le champ @ horodatage est ajouté en tant que champ heure. Laissez-moi savoir si cela fonctionne.

EDIT: Image reproduite avec courtoisie: This Guide d'installation merveilleux d'ELK

21
mathakoot

Kibana ne comprend pas le champ timestamp, si son format est incorrect .Timestamp, que vous avez sélectionné en cliquant sur Nom du champ temporel lorsque Configurer un modèle d’index, doit être: 

"timestamp":"2015-08-05 07:40:20.123"

alors vous devriez mettre à jour votre mapping d'index comme ceci:

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
    }
  }
}'

Voir cette question et réponse

METTRE À JOUR

Si vous utilisez ES 2.X, vous pouvez définir le "format" sur "Epoch_millis" comme suit: 

curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d'
{
  "1": {
    "timestamp": {
      "type": "date",
      "format": "Epoch_millis",
      "store": true,
      "doc_values": true
    }
  }
}'
8
Green Lei

image exemple pour ELK créant un index ou un motif

Essayez ceci: décochez la case "Index contenant les événements temporels" Puis indiquez votre nom d'index, puis cochez "Découvrir" pour savoir s'il contient des données ou non.

5
Vignesh Ammasi

J'ai eu le même problème et cela a fonctionné pour moi:

  1. Supprimez l'index de l'onglet Paramètres.
  2. redémarrer Kibana
  3. puis ré-ajouter dans les paramètres

Je suis sûr que les problèmes liés à Time-Series peuvent également être un problème, mais si aucun champ n'apparaît réellement dans l'onglet Découvrir, vous risquez d'avoir le même problème que celui du journaliste d'origine et de ce que j'avais.

4
lazieburd

J'avais probablement le même problème - je vois des données dans le tableau de bord mais 0 résultats dans Discover. Aller dans Gestion> Modèle d'index> Bouton Actualiser la liste des dossiers (un bouton avec une icône d'actualisation uniquement) m'a résolu le problème.

2
user1929895

J'avais le même problème et le commentaire de @ tAn- m'a aidé à le résoudre. Changer le champ de date en @timestamp a fait l'affaire. Merci!

La prochaine étape devrait être de trouver ce qui n'allait pas avec le champ de date personnalisé my.

2
Pangur

Non pertinent pour OP, mais si votre instance Kibana se bloque lorsque vous essayez de la faire reconnaître votre index (sous Paramètres> Indices), voir https://github.com/elastic/kibana/issues/6419 qui a corrigé le problème pour moi aussi.

1
jmkgreen

J'ai aussi vécu la même erreur. Cela est principalement dû au format de l'heure. Fondamentalement, assurez-vous que vous avez un laps de temps valide pour vos données (filtre en haut à droite). Quoi qu'il en soit, dans mon cas, j'ai utilisé le format d’heure Epoch pour l’horodatage, mais cela n’a pas fonctionné. J'ai donc changé pour Epoch_millisec à la place et cela a fonctionné comme un charme.

En résumé, assurez-vous que Kibana peut comprendre votre format de date et heure. C'est obligatoire Epoch_millisec par défaut, pas seulement Epoch.

1
Fony Lew

J'ai eu le même problème, mais maintenant ça marche très bien ... Le problème était avec l'horodatage. En fait, j'ai téléchargé le fichier dans elasticsearch à l'aide de logstash, de sorte qu'il génère automatiquement un champ @timestamp. Kibana compare la plage de temps avec ce @ horodatage, c'est-à-dire quand l'événement réel s'est produit. Même si je désélectionne l'option "Index contient des événements temporels" dans la page d'ajout d'un nouveau modèle d'index, kibana prendra automatiquement en compte le champ @timestamp.So bascule avec la période sur kibana en fonction du champ @timestamp travaillé pour moi . Vous pouvez également vérifier en ajoutant un motif d'index sans horodatage et désélectionnez "Index contient les événements en fonction du temps "option.Voir ce qui se passe .. maintenant, il n'y aura plus d'option de sélection de la période dans kibana page de découverte et vous obtiendrez probablement le résultat dans la page de découverte . Ce sont toutes mes observations, je ne suis pas sûr, cela la solution s'adapte à votre cas ..vous pouvez essayer .. J'utilise ES 1.5x, logstash 1.5.1 et kibana 4.1.0 

1
talin

J'avais le même problème. Ainsi, comme le montre l'une des solutions ci-dessus, je suis allé dans les paramètres, j'ai supprimé l'index précédent et créé un nouvel index avec @timestamp. 

Mais cela n'a pas résolu le problème. J'ai donc examiné la question et constaté qu'après un déploiement, rien n'entrait à Kibana.

Alors, je suis entré dans le serveur et j'ai vu que les index étaient corrompus. SO Je viens d'arrêter logstash et elasticsearch sur l'instance/le serveur et de redémarrer le service. Et voilà, il a redémarré le service et kibana était de retour.

POURQUOI DID IL ARRIVE?

Quelqu'un a peut-être arrêté le serveur brusquement, ce qui a corrompu les index.

0
Golokesh Patra

Dans ma situation, tout fonctionnait auparavant et je ne pouvais pas voir les dernières données à partir du 1er février (en fait, je le pourrais si je regardais en arrière un mois). Il se trouve que le format de mappage de mon champ temporel personnalisé était incorrect. Mon format de mappage était YYYY-MM-DD'T'HH:mm:ss.SSSZ. Le problème était que DD est interprété comme le jour de l'année et que je voulais le jour du mois qui est dd. Le changement de mappage et la réindexation ont résolu le problème. 

0
darkwing