0

I am getting docker performance data using metricbeat and I am trying to produce Dashboards out of Docker Performance Data.

Errors I am getting In Kibana Dashboard: enter image description here

And I enabled fielddata:true in metricbeat.template.json : enter image description here

and then I restarted Metricbeat and Kibana and started. Issue still remains. These are the three errors :

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.

Can anyone help to fix the issue?

Thanks in advance.

Soundarya Thiagarajan
  • 574
  • 2
  • 13
  • 31

2 Answers2

0

You might have to change the mappings for the fields (name,id,image), by enabling the fielddata to true. Your mapping could look something like this:

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

Have a look at the doc as well. Hope this helps!

EDIT

I guess the issue is with using the type text for aggregating, which is ideally leading towards to the above exception. Text type field is analyzed by nature, which could be normally utilized for full-text searches. What if you consider using an unanalyzed keyword for aggregation purposes, which might do the trick for you. You could also read up more about this here and have a look up at this ticket which literally talks about the same controversy.

Kulasangar
  • 9,046
  • 5
  • 51
  • 82
0

this is the mapping I have tried:

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

The mapping works. But, I am getting a different error now - Courier Fetch: 30 of 40 shards failed

Soundarya Thiagarajan
  • 574
  • 2
  • 13
  • 31
  • Well this is totally another issue from the previous. You might have to take a look at several reasons due to why it's occurring. This [SO](http://stackoverflow.com/questions/30053967/courier-fetch-shards-failed) , this [ticket](https://github.com/elastic/kibana/issues/3221) and [this thred](https://discuss.elastic.co/t/courier-fetch-n-of-n-shards-failed/27814) might help you. – Kulasangar Mar 03 '17 at 12:36