Navigation
This version of the documentation is archived and no longer supported. To learn how to upgrade your version of MongoDB Ops Manager, refer to the upgrade documentation.
You were redirected from a different version of the documentation. Click here to go back.

Configure a Highly Available MMS Application Server

Overview

The On-Prem MMS Application Server provides high availability through horizontal scaling and through use of a replica set for the backing MongoDB instance that hosts the MMS Application Database.

Horizontal Scaling

The MMS Application Servers are stateless between requests. Any server can handle requests as long as all the servers read from the same backing MongoDB instance. If one Application Server becomes unavailable, another fills requests.

To take advantage of this for high availability, configure a load balancer to balance between the pool of MMS Application Servers. Use the load balancer of your choice. Configure each Application Server’s conf-mms.properties file to point its mms.centralUrl property to the load balancer.

The mms.remoteIp.header property should reflect the HTTP header set by the load balancer that contains the original client’s IP address, i.e. X-Forwarded-For. The load balancer then manages the MMS HTTP Service and Backup HTTP Service each Application Server provides.

Replica Set for the Backing Instance

Deploy a replica set rather than a standalone as the backing MongoDB instance for monitoring. Replica sets have automatic failover if the primary becomes unavailable.

When deploying a replica set with members in multiple facilities, ensure that a single facility has enough votes to elect a primary if needed. Choose the facility that hosts the core application systems. Place a majority of voting members and all the members that can become primary in this facility. Otherwise, network partitions could prevent the set from being able to form a majority. For details on how replica sets elect primaries, see Replica Set Elections.

To deploy a replica set, see Deploy a Replica Set.

You can create backups of the replica set using file system snapshots. File system snapshots use system-level tools to create copies of the device that holds replica set’s data files.

Prerequisites

Deploy a replica set for the backing instance for the MMS Application Database. To deploy a replica set, see Deploy a Replica Set.

Procedure

To configure multiple Application Servers with load balancing:

1

Configure a load balancer with the pool of MMS Application Servers.

This configuration depends on the general configuration of your load balancer and environment.

2

Update each MMS Application Server with the load balanced URL.

On each Application Server, edit the conf-mms.properties file to configure the mms.centralUrl property to point to the load balancer URL.

The conf-mms.properties file is located in the <install_dir>/conf/ directory.

3

Update each MMS Application Server with the replication hosts information.

On each Application Server, edit the conf-mms.properties file to define the replication hosts used as the backing MongoDB instances.

Set the mongo.mongoUri property to the connection string of the backing instance used for monitoring data. For example:

mongo.mongoUri=mongodb://<mms0.example.net>:<27017>,<mms1.example.net>:<27017>,<mms2.example.net>:<27017>/?maxPoolSize=100
mongo.replicaSet=<mmsReplSet0>

You must specify at least 3 hosts in the mongo.mongoUri connection string.

4

Synchronize the gen.key file across all the MMS Application Servers.

Synchronize the /etc/mongodb-mms/gen.key file across all Application Servers. The MMS Application Server uses this file to encrypt sensitive information before storing the data in a database.

Additional Information

For information on making MMS Backup highly available, see Configure a Highly Available MMS Backup Service.