I am in the process of doing a POC on Heartbeat. It will be monitoring a series of application endpoints. I am looking for guideance on setting up Heartbeat in an HA configuration as the endpoints being monitored are critical to our operations.
I know that only one HB server can be running at any one time or I will possibly end up with duplicate records in Elastic, so I was considering a few different options to have an active passive type of setup with one HB process offline and one online. Should the online system have issues and die, the offline system will automatically come online.
Zookeeper
etcd
Pacemaker with Corosync 2
If you have something like this running, I would be very interested in hearing about how you have implemented the solution.
To be clear, I do not mean this as flippant... what is wrong with that? ... in the end the service is Up or Down.. why does it matter is two heartbeat are reporting ... not just 1? BTW it is not technically duplicate data if you name the monitors different etc.
You can set heartbeat as different "locations" tags, (primary / secondary) monitor names etc, we have users that do that, why make it more complicated.
I would not involve a zookeeper, etc., to just run a heartbeat. Complexity equals less reliability in this case, again my opinion.
I used to run heartbeat and / or other HTTP checks from across the globe so we could see different latencies.
What are you actually trying to accomplish (or avoid)? What is the problem with a couple heartbeats...
Just my opinion, does it really need to be solved with a complex solution?
I implemented (and have customers) that simply run N heartbeats (or synthetics) from N locations and have a robust solution that actually provides more telemetry.
If this is all intra-network ... I see it as the same run it from 2 different subnets etc and label them...
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.