MicroStrategy ONE
Specifying the Topology Communication Agent
After installation, you can see all configuration files for the service's registration in the consul.json
file, located in MicroStrategy/Services Registration/config
, in your installation directory.
In the consul.json
file, bootstrap_expect
refers to the minimum number of live communication agents in the environment to make the Services Registration cluster healthy. This is set on each machine where only the communication agent is specified.
It is recommended to set an odd number for the value of bootstrap_expect
to strike a balance between performance and failure tolerance. This odd number must be larger than half of number of communication agents in the cluster. For example:
-
If the cluster has 9 communication agents,
bootstrap_expect
should be set to5
. -
If the cluster has 7 communication agents,
bootstrap_expect
should be set to5
. -
If the cluster has 5 communication agents,
bootstrap_expect
should be set to3
. -
If the cluster has 3 communication agents,
bootstrap_expect
should be set to3
. -
If the cluster only has 1 communication agent,
bootstrap_expect
should be set to1
.
The retry_join
parameter refers to the machines that act as communication agents. This field is specified on every machine where MicroStrategy Services is installed so that they can find the communication agents in the network. It is recommended that you set an odd number of communication agents in the cluster to strike a balance between performance and failure tolerance. See the HashiCorp documentation for more information.
To support machines with dynamic and multiple IP addresses, the consul.json
file is regenerated each time the Services Registration restarts.
See Changing the Monitoring Agent to a Communication Agent to update bootstrap_expect
and retry_join
in the installation_list.yaml
under the MicroStrategy/Services Registration/yaml
folder.
Once installation_list.yaml
is updated and Services Registration is restarted, verify the change is applied in the consul.json
file.
If you have a single or multiple machine environment with two machines (one communication agent and one monitoring agent), consul.json
in communication agents appears as follows:
{
"enable_debug": true,
"datacenter": "dc1",
"enable_script_checks": true,
"check_update_interval": "0s",
"log_level": "WARN",
"data_dir": "../data",
"watches": [
{
"type": "key",
"key": "envInfoTime",
"handler_type": "script",
"args": [
"C:\\Program Files (x86)\\Common Files\\MicroStrategy\\JRE\\180_77\\Win64\\bin\\java",
"-jar",
"../jar/envinfo-collector.jar",
"collect"
]
}
],
"server": true,
"bootstrap_expect": 1
}
If you have a multiple machine environment with three or more machines, consul.json
in communication agents appears as follows:
{
"enable_debug": true,
"datacenter": "dc1",
"enable_script_checks": true,
"check_update_interval": "0s",
"log_level": "WARN",
"data_dir": "../data",
"watches": [
{
"type": "key",
"key": "envInfoTime",
"handler_type": "script",
"args": [
"C:\\Program Files (x86)\\Common Files\\MicroStrategy\\JRE\\180_77\\Win64\\bin\\java",
"-jar",
"../jar/envinfo-collector.jar",
"collect"
]
}
],
"retry_join": [
"MachineA.microstrategy.com",
"MachineB.microstrategy.com",
"MachineC.microstrategy.com"
],
"server": true,
"bootstrap_expect": 3
}