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 to 5.

  • If the cluster has 7 communication agents, bootstrap_expect should be set to 5.

  • If the cluster has 5 communication agents, bootstrap_expect should be set to 3.

  • If the cluster has 3 communication agents, bootstrap_expect should be set to 3.

  • If the cluster only has 1 communication agent, bootstrap_expect should be set to 1.

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:

Copy
{
  "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:

Copy
{
  "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
}

Related Topics

Installing and Configuring Topology