DataStax OpsCenter Documentation

Configuring OpsCenter for multiple regions

OpsCenter 2.1 and later 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 OpsCenter agents for multiple regions or IP forwarding:

  1. Open the address.yaml file for editing.

    The location of this file depends on the type of installation:

    • Package installations: /var/lib/opscenter-agent/conf directory
    • Binary tarball installations (Linux and Mac OSX): <install_location>/conf directory
  2. Add the following option to the address.yaml:

    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 agent.

  3. Repeat the above steps for each node.

    For 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