Configuring for multiple regions

OpsCenter can operate in multiple regions or IP forwarding deployments. Use the following approach for deployments where a public IP forwards to a private IP on the agent, but that machine is not aware of (that is, can't bind to) the public IP.

To configure DataStax agents for multiple regions or IP forwarding:

Procedure

  1. Open the address.yaml file for editing.
    • Packaged installs:

      /var/lib/opscenter-agent/conf directory

    • Tarball installs:

      <install_location>/conf directory

  2. Add the following option to the address.yaml file:
    • local_interface: (Optional) The IP used to identify the node. If broadcast_address is set in cassandra.yaml, this should be the same as that; otherwise, it is typically the same as listen_address in cassandra.yaml. A good check is to confirm that this address is the same as the address that nodetool ring outputs.
    • agent_rpc_interface: The IP that the agent HTTP server listens on. In a multiple region deployment, this is typically a private IP.
    • agent_rpc_broadcast_address: The IP that the central OpsCenter process uses to connect to the DataStax agent.
  3. Repeat the above steps for each node.

Example

here is the configuration for a three node cluster that spans two regions:

Region: us-west
Availability Zone: us-west-2

Node1
    public IP:  198.51.100.1
    private IP: 10.11.12.1
    Cassandra (cassandra.yaml)
        broadcast_address: 198.51.100.1
        listen_address:    10.11.12.1
    Agent  (address.yaml)
        local_address:               198.51.100.1
        agent_rpc_interface:         10.11.12.1
        agent_rpc_broadcast_address: 198.51.100.1
    OpsCenter  (opscenterd.conf )
        interface: 198.51.100.1

Node2
    public IP:  198.51.100.23
    private IP: 10.11.12.15
    Cassandra  (cassandra.yaml)
        broadcast_address: 198.51.100.23
        listen_address:    10.11.12.15
    Agent  (address.yaml)
        local_address:               198.51.100.23
        agent_rpc_interface:         10.11.12.15
        agent_rpc_broadcast_address: 198.51.100.23

Region: us-east
Availability Zone: us-east-1

Node1
    public IP:  203.0.113.20
    private IP: 10.11.13.28
    Cassandra  (cassandra.yaml)
        broadcast_address: 203.0.113.20
        listen_address:    10.11.13.28
    Agent  (address.yaml)
        local_address:               203.0.113.20
        agent_rpc_interface:         10.11.13.28
        agent_rpc_broadcast_address: 203.0.113.20