ECE 2.3
Metricbeat 7.0.0 & 7.5.0
I need some guidance on how to stop the dynamic templating for host.hostname of our metricbeats. We've got a third party product that can only read data from the host.hostname field if the mapping is the same as metricbeat 7.0.0. From the dev tools I got part of the host.hostname mapping and as you can see its just has a "type" of "keyword".
"host" : {
"properties" : {
"architecture" : {
"type" : "keyword",
"ignore_above" : 1024
},
"containerized" : {
"type" : "boolean"
},
"geo" : {
"properties" : {
"city_name" : {
"type" : "keyword",
"ignore_above" : 1024
},
"continent_name" : {
"type" : "keyword",
"ignore_above" : 1024
},
"country_iso_code" : {
"type" : "keyword",
"ignore_above" : 1024
},
"country_name" : {
"type" : "keyword",
"ignore_above" : 1024
},
"location" : {
"type" : "geo_point"
},
"name" : {
"type" : "keyword",
"ignore_above" : 1024
},
"region_iso_code" : {
"type" : "keyword",
"ignore_above" : 1024
},
"region_name" : {
"type" : "keyword",
"ignore_above" : 1024
}
}
},
"group" : {
"type" : "keyword"
},
"hostname" : {
"type" : "keyword",
"ignore_above" : 1024
},
I've tried to load the 7.0.0 template manually and apply it to metricbeat-7.5.0 so that the application can read the data. What I'm having problems with is that the host.hostname field is being mapped as a text field and keyword field it appears which is preventing the app from reading the data correctly. How do I set the mapping up so that hostname is just type keyword and not text.
"host": {
"properties": {
"architecture": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"containerized": {
"type": "boolean"
},
"group": {
"type": "keyword"
},
"hostname": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},