How to add geo information in Heartbeat?

Hello. I'm attempting to set up Heartbeat for the first time. I believe I have this setup and I'm doing some basic pings against some web sites. I've noticed that when you click into a heartbeat, it says "geo information missing". I've tried to follow the instructions indicated, but I'm still not seeing any geo information. I have my yml separted out into a separate folder via "heartbeat.config.monitors". In that path, I have this specified for each of my HTTP monitor types:

 processors:
  - add_observer_metadata:
  geo:
    name: us-east-1a
    location: "39.04810, -77.47280"

Not clear if anything else is needed. I've also tried setting up an index pattern in Kibana (against the heartbeat Elastic index) and trying to use the Maps feature (https://www.elastic.co/guide/en/beats/heartbeat/current/heartbeat-geoip.html), but I'm striking out there as well. Would appreciate some assistance. Thanks!

Hi @ozonshak seems like its rightly configured, i have mine like this

make sure you don't have any other processors with same name in file, if there is another below this with empty body, it will override it.

Thanks @shahzad31. I do have this processor listed 3 times in my YML file, but each is exactly the same (just 3 for each of my "http" monitor types for 3 individual URLs). I assume this is ok in my individual YML file and it doesn't have to be in the main heartbeat.yml? I believe I have tried that as well with no luck. Does anything else have to be setup for this or is the above the only configuration necessary? I have basically set up my own installation of Kibana, ElasticSearch, and Heartbeat. Nothing fancy, just basic Linux installations using the latest version v7.7.

@ozonshak usually this is set globally for the heartbeat instance in the heartbeat.yml. While it can be done per monitor that usually doesn't make much sense. See https://github.com/elastic/uptime-contrib/blob/master/testing/configs/demo.yml for an example of this configured correctly.

@Andrew_Cholakian1 Excellent! That worked. Not sure why this wasn't working from my separate YML monitor file or why it didn't work when I originally had this in the main file, but it seems to be working now.

So, I assume the only useful time when you would have multiple locations show up, would be having additional heartbeat instances running elsewhere, pumping data back into ElasticSearch from other locations?

Yup having additional heartbeat instance makes sense if you want to monitor your services from multiple locations.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.