2017-02-28 3 views
0

Je reçois des données sur les performances du docker en utilisant metricbeat et j'essaie de produire des tableaux de bord avec Docker Performance Data.Problème avec le tableau de bord de kibana - set fielddata = true

erreurs que je reçois dans Dashboard Kibana: enter image description here

Et je fielddata: true permis à metricbeat.template.json: enter image description here

puis je remis en marche Metricbeat et Kibana et démarrés. Le problème persiste. Ce sont les trois erreurs:

Visualize: Fielddata is disabled on text fields by default. Set fielddata=true on [docker.container.name] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. 

Visualize: Fielddata is disabled on text fields by default. Set fielddata=true on [docker.container.id] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. 

Visualize: Fielddata is disabled on text fields by default. Set fielddata=true on [docker.container.image] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. 

Quelqu'un peut-il aider à résoudre le problème?

Merci d'avance.

+0

Quelle est la version de ES que vous utilisez? – Kulasangar

+0

J'ai mis à jour la réponse. Laissez-moi savoir si cela fonctionne! – Kulasangar

Répondre

0

Vous pourriez avoir à changer le mappings pour les champs (name,id,image), en permettant l'fielddata à vrai. Votre carte pourrait ressembler à ceci:

{ 
    "mappings": { 
    "your_type": { 
     "properties": { 
     "name": { 
      "type": "text", 
      "fielddata": true 
     }, 
     "id": { 
      "type": "integer", 
      "fielddata": true 
     }, 
     "image": { 
      "type": "text", 
      "fielddata": true 
     } 
     } 
    } 
    } 
} 

Jetez un oeil à la doc ainsi. J'espère que cela t'aides!

EDIT

Je suppose que le problème est dû à l'aide du type texte pour l'agrégation, qui conduit idéalement vers à l'exception ci-dessus. Le champ de type de texte est analyzed par nature, ce qui pourrait être normalement utilisé pour recherche plein texte. Que faire si vous envisagez d'utiliser un non analysékeyword pour agrégation fins, ce qui pourrait faire l'affaire pour vous. Vous pouvez également en lire plus sur ce here et jeter un coup d'œil à ce ticket qui parle littéralement de la même controverse.

+0

c'est le mapping que j'ai essayé (dans la section de réponse mentionnée ci-dessous) - je reçois une erreur différente appelée "Courier Fetch" –

+0

@SoundaryaThiagarajan Si ma réponse vous avait aidé, votez pour elle ou si elle a réellement répondu, n'hésitez pas à la marquer comme une réponse. Merci – Kulasangar

0

c'est l'application que j'ai essayé:

PUT /metricbeat-*/_mapping/docker 
{ 
    "properties":{ 
    "container":{ 
     "type":"text", 
     "fields":{ 
     "name":{ 
      "type": "text", 
      "analyzer": "standard", 
      "fielddata": true 
     }, 
     "id":{ 
      "type":"keyword" 
     }, 
     "image":{ 
      "type": "text", 
        "fielddata": true 
     } 
     } 
    } 
    } 
} 

La cartographie fonctionne. Mais, je reçois une erreur différente maintenant - Courrier Fetch: 30 des 40 fragments ont échoué

+0

Eh bien c'est totalement une autre question de la précédente. Vous pourriez avoir à jeter un oeil à plusieurs raisons en raison de la raison pour laquelle cela se produit. Ce [SO] (http://stackoverflow.com/questions/30053967/courier-fetch-shards-failed), ce [billet] (https://github.com/elastic/kibana/issues/3221) et [ceci thred] (https://discuss.elastic.co/t/courier-fetch-n-of-n-shards-failed/27814) pourrait vous aider. – Kulasangar