Ben,
Serf had a much more node-centric view of things like Consul has a more service-centric view.
You can use watches to monitor nodes if you want, but it doesn’t work quite the same way.
The nodes are only reaped after leaving or failing for 72 hours, so they don’t trigger at the same
rate.
Instead, you can use the watch for a specific service. The service watch can be filtered on
“passingonly”, so that you only get the live/healthy members. This way the Join/Leave is
much more immediate. The big difference is the service vs node granularity however.
Another option is to watch the “checks” and specifically the “serfHealth” for nodes joining,
leaving and failing.
Hope that helps!
Best Regards,
Armon Dadgar