I'm using Filebeat+Kibana+Elasticsearch 7.0.0.
I have one filebeat agent and one elasticsearch node.
I've activated the nginx module in filebeat and successfully added a geoip pipeline in Elasticsearch. When I open a random Nginx access log entry, I get populated values in fields such as:
source.geo.location.lat
source.geo.location.lon
source.geo.city_name
etc.
However, when I try to visualize default Kibana dashboards like [Filebeat Nginx] Overview ECS i get stuck with messages like Could not locate that index-pattern-field (id: source.geo.location) and Saved "field" parameter is now invalid. Please select a new field.
I've tried running filebeat setup -e on the following filebeat.yaml:
The field source.geo.location exists in fields.yaml, and as stated earlier, log results are corretcly resolved geo-wise.
Please advice how I can have the maps show up correcly in Kibana with IPs plotted.
PS! If I ignore the added pipeline in the filebeat.yaml and rely on the geoip processor in the default nginx access ingest, it behaves the exact same way. Not working in Kibana.
This gave me a "resource_already_exists_exception".
Also what confuses me is that the "location" field is defined the following way in my /usr/share/filebeat/fields.yml file when running a container with the docker image docker.elastic.co/beats/filebeat:7.0.0:
Hi, I just made this work. I don' know how or why, but somehow my indexing templates were off. For future reference, I fixed it by:
Stopping filebeat (and for others, anything that might be causing writes to the Elasticsearch index)
Deleting all templates and indexed in Elasticsearch.
Restarting Kibana for good measure, as Kibana seems to dislike that I delete all Elasticsearch data.
Still with my filebeat container shut down, I ran the following one off commands:
docker-compose run filebeat setup --template
docker-compose run filebeat setup -e
Then, after starting up filebeat, the maps and dashboards in Kibana worked as expected.
No further arguments were needed as my docker-compose.yml mounts a valid filebeat.yaml config which already contains my kibana and elasticsearch targets.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.