Configure a Highly Available Ops Manager Application¶
The Ops Manager Application provides high availability through use of multiple Ops Manager Application servers behind a load balancer and through use of a replica set to host the Ops Manager Application Database.
Multiple Ops Manager Application Servers¶
The Ops Manager Application‘s components are stateless between requests. Any Ops Manager Application server can handle requests as long as all the servers read from the same Ops Manager Application Database. If one Ops Manager Application becomes unavailable, another fills requests.
To take advantage of this for high availability, configure a load balancer to balance between the pool of Ops Manager Application servers. Use the load balancer of your choice. The load balancer must not return cached content.
In Ops Manager, set the
URL to Access Ops Manager property to the load
balancer URL. Set the
Load Balancer Remote IP Header property to
the HTTP header field the load balancer uses to identify the originating
client’s IP address (for example,
The Ops Manager Application uses the client’s IP address for auditing,
logging, and white listing for the API.
Replica Set for the Ops Manager Application Database¶
If the replica set has 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.
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.
To deploy the replica set that hosts the Ops Manager Application Database, see backing MongoDB instance.
gen.key file is a 24-byte binary file used to encrypt and decrypt
Ops Manager‘s backing databases and user credentials. An identical
gen.key file must be stored on every server that is part of a highly
available Ops Manager deployment.
gen.key file can be generated automatically or manually.
- To have Ops Manager generate the file:
- Start one Ops Manager server. Ops Manager will create a
gen.keyfile if none exists.
- To create the file manually:
Generate a 24-byte binary file. For example, the following creates the
openssl rand 24 > /<keyPath>/gen.key
gen.keyfile like any sensitive file. Change the owner to the user running Ops Manager and set the file permission to read and write for the owner only.
Once you have the
gen.key file (either created automatically or
manually), before starting the other Ops Manager servers, copy the file
to the appropriate directory on the current server and to the
appropriate directory on the other Ops Manager servers:
/etc/mongodb-mms/for RPM or Ubuntu installations
<installPath>/.mongodb-mms/for an archive (
.tar) file installations
<installPath>\MMSData\Secretsfor Microsoft Windows Server installations
- Any shared storage resource that stores the
gen.keyfile should be configured for high availability so as not to introduce a potential single point of failure.
- Any Ops Manager server that does not have the
gen.keyfile installed cannot connect to the backing databases and become part of an HA Ops Manager instance.
- Once you have generated the
gen.keyfor your Ops Manager instance on the first Ops Manager server, back up the
gen.keyfile to a secure location.
The following procedure assumes you will let one of the Ops Manager Applications
gen.key. If you instead create your own
distribute it to the servers before starting any of the Ops Manager Applications.
The load balancer placed in front of the Ops Manager Application servers must not return cached content. The load balancer must have caching turned off.
To configure multiple Ops Manager Applications with load balancing:
Configure a load balancer with the pool of Ops Manager Application servers.¶
This configuration depends on the general configuration of your load balancer and environment.
Configure Ops Manager to use the load balancer.¶
- In Ops Manager, click Admin, then the General tab, and then Ops Manager Config.
- Configure the
URL to Access Ops Managerproperty to point to the load balancer URL.
- Set the
Load Balancer Remote IP Headerproperty to the name of the HTTP header field the load balancer uses to identify the client’s IP address.
Update each Ops Manager Application server with the replication hosts information.¶
On each server, edit the
conf-mms.properties file to
mongo.mongoUri property to the connection string of the Ops Manager Application Database. You
must specify at least 3 hosts in the
connection string. For example:
Start one of the Ops Manager Applications.¶
For example, if you installed the Ops Manager Application with an
deb package, issue the following:
service mongodb-mms start
gen.key file is located in
installations from a package manager and in
for installations from an archive.
gen.key file from the running Ops Manager Application‘s server to the
appropriate directory on the other Ops Manager Application servers.
Start the remaining Ops Manager Applications.¶
For information on making Ops Manager Backup highly available, see Configure a Highly Available Ops Manager Backup Service.