Configuring for multiple regions

OpsCenter can operate in multiple regions or IP-forwarding deployments. Configure address.yaml to accommodate multiple regions, or to forward a public IP to a private IP address on the agent.

address.yaml 

The location of the address.yaml file depends on the type of installation:

  • Installer-Services or package installations: /var/lib/datastax-agent/conf/address.yaml
  • Installer-No Services or tarball installations: install_location/conf/address.yaml

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.
  2. Add the following options to the address.yaml file.
    Setting local_interface is optional.
    • local_interface
      The IP used to identify the node in opscenterd. 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. If not set, the agent attempts to determine the proper IP address via JMX.
    • agent_rpc_interface
      The IP that the agent HTTP server listens on. In a multiple region deployment, this is typically a private IP. Default: Matches rpc_interface from cassandra.yaml.
    • agent_rpc_broadcast_address
      The IP that the central OpsCenter process uses to connect to the DataStax agent. Default: Matches agent_rpc_interface.
  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

OpsCenter host
    public IP: 198.51.100.5
    private IP: 10.11.12.10

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_interface:             198.51.100.1
        agent_rpc_interface:         10.11.12.1
        agent_rpc_broadcast_address: 198.51.100.1
        stomp_interface:             198.51.100.5

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_interface:             198.51.100.23
        agent_rpc_interface:         10.11.12.15
        agent_rpc_broadcast_address: 198.51.100.23
        stomp_interface:             198.51.100.5

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_interface:             203.0.113.20
        agent_rpc_interface:         10.11.13.28
        agent_rpc_broadcast_address: 203.0.113.20
        stomp_interface:             198.51.100.5