I have some checks which are not specific to a machine and that I would like to spread among several machines actually.
- I have a check which queries my Consul cluster to see if the number of servers up is OK, to see if there’s a leader elected. Any machine could run this check, but there’s no need to have hundreds of these checks running at the same time as well as they are probably going to report all the same.
- I have a check which connects to a RDBMS to check the values in a table. Same as before, considering the authentication process is OK, any machine could this check and in this case only one running at the same time is plenty enough.
- I have a check which check the TLS validity of certificates deployed on web services. Again, any machines could do this check and one at the same time would probably be sufficient.
So, basically, considering a specific check that I want to execute, I’m looking for a way to:
- configure this check to be executed on a set of machines;
- configure this check to be executed only on X of these machines at the same time, selected randomly or in a round-robin fashion.
This is not : “execute this check on all the machines of the set, but only X at the same time” (like a sliding window of the machines doing the check).
I haven’t found something like this in the documentation, although I wasn’t exactly sure what to exactly search for. Is there anything like that?