I have tested a Kibana cluster of two nodes behind a load balancer and it worked without any problem. There are a few settings that the documentation specified to be changed, but I didn't:
Settings that must be different:
- path.data -> It's by default. The same value for both Kibana nodes.
- pid.file ->It's by default. The same value for both Kibana nodes.
- server.port -> It's by default (5601). The same value for both Kibana nodes.
- Target file from file appenders -> It's by default. The same value for both Kibana nodes.
Settings that must be the same:
- xpack.security.authc.* -> Does not exist.
- xpack.security.session.* -> Does not exist.
- xpack.encryptedSavedObjects.keyRotation.decryptionOnlyKeys -> Does not exist.
I understand that the second group of options will only be the same if they are in use, which is not the case, so nothing must be done. However, I do not understand why two Kibana instances on two different servers must be listening on a different port or must have a different path for the data. Can someone confirm if these settings must be indeed unique in my case to be compliant with Elastic best practices and if affirmative, can someone explain why?