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.

Install the Automation Agent from an Archive

Overview

Ops Manager Automation relies on an Automation Agent, which must be installed on every server that runs a monitored MongoDB deployment. The Automation Agents periodically poll Ops Manager to determine the goal configuration, deploy changes as needed, and report deployment status back to Ops Manager.

This procedure installs the Automation Agent on a Linux server using an tar.gz archive file.

Automation Agents can run only on 64-bit architectures.

Prerequisites

Server Networking Access

The hosts that serve the MongoDB deployments must:

  • Have full networking access to each other through their fully qualified domain names (FQDNs). Each host must be able to reach every other host through the FQDN.

    To find the FQDN for each host:

    • On Linux / macOS hosts, run the following command in the shell:

      hostname -f
      
    • On Windows hosts, run the following command in Powershell:

      net config workstation | findstr /C:"Full Computer name"
      
  • Resolve each FQDN to a unique IP address.

    Run the following domain internet groper (dig) shell command to find the host’s IP address.

    dig +short myip.opendns.com @resolver1.opendns.com
    

    Note

    dig is available for Microsoft Windows. Download and install the BIND tools from http://www.isc.org/downloads/

  • Set the Common Name or Subject Alternative Name value of any SSL certificates to the MongoDB host’s FQDN.

The network configuration must allow each Automation Agent to make a direct connection to every MongoDB deployment listed on the Deployment page. Ops Manager does not support port forwarding.

Installing to a Server that Already Runs MongoDB

If you install the Automation Agent to a server that is already running a MongoDB process, the agent must have:

  • Permission to stop the MongoDB process. The Automation Agent will restart the process using the agent’s own set of MongoDB binaries. If you had installed MongoDB with a package manager, use the same package manager to install the Automation Agent. This gives the agent the same owner as MongoDB.
  • Read and Write permissions on the MongoDB data directory and log directory.
  • Permission to stop, start, and update any existing Monitoring and Backup Agents.

Installing to a Server Before Installing MongoDB

If you deploy the Automation Agent to a server that does not have MongoDB installed, ensure the user that owns the Automation Agent has Read and Write permissions on the MongoDB data and log directories you plan to use.

Install the Automation Agent from an Archive

Installation Tip for Binding the Agent to a Group

You can also access install instructions in Ops Manager, including commands you can copy and paste: click Deployment, then Agents, then Downloads & Settings.

1

Download the latest version of the Automation Agent archive.

On a system shell, issue a curl command to download the archive for the agent that works on your platform:

Note

Replace <OpsManagerHost> with the hostname of your Ops Manager installation.

For RHEL / CentOS (7.x) and SUSE 12 on x64 architecture:

curl -OL <OpsManagerHost>:<Port>/download/agent/automation/mongodb-mms-automation-agent-latest.rhel7_x86_64.tar.gz

For RHEL / CentOS (7.x) on PowerPC architecture (managing MongoDB 3.4 or later deployments only):

curl -OL <OpsManagerHost>:<Port>/download/agent/automation/mongodb-mms-automation-agent-latest.rhel7_ppc641e.tar.gz

For all other Linux distributions:

curl -OL <OpsManagerHost>:<Port>/download/agent/automation/mongodb-mms-automation-agent-latest.linux_x86_64.tar.gz
2

Install the Automation Agent.

To install the agent that works on your platform, issue the appropriate command to extract the archive:

tar -xf mongodb-mms-automation-agent-latest.*.tar.gz

The Automation Agent is installed.

3

Edit the local.config file.

In the directory where you installed the Automation Agent, edit the local.config file to either:

Configure for a Specific Group

Update the following configuration keys:

  • For mmsGroupId, set to your GroupID.
  • For mmsApiKey, set to the group’s agent API key.
  • For mmsBaseUrl, set to the URL of the Ops Manager Application. Include the port number.
mmsGroupId=<Group ID>
mmsApiKey=<agent API key>
mmsBaseUrl=<application URL>

Do not configure the server pool settings: serverPoolKey, serverPoolPropertiesFile, serverPoolStateFile.

Configure for a Server Pool

Update the following configuration keys:

  • For mmsBaseUrl, set to the URL of the Ops Manager Application. Include the port number.

  • For serverPoolKey, set to the Server Pool Key.

    To find the server pool key, in the Admin menu, go to Server Pool view and click on the Agent Configuration tab.

  • For serverPoolPropertiesFile, set to the full filepath of a file that contains server properties. Ensure the Automation Agent can read the file.

    The properties file contains key/value pairs of the form <property>=<value>. The Ops Manager Administrator decides on both the property names and values.

    Note

    Ensure that the properties file contains the desired property names and values before starting the Automation Agent on the server.

    Once the server is registered with the pool, changes to the properties file do not take effect until the server is first removed and the Automation Agent restarted.

  • For serverPoolStateFile, set to the full filepath of the file to be used by the Automation Agent.

    Ensure that the directory path to the file exists and the agent has read and write access to the directory. The file itself need not exist; however, if it does exist, the agent must have read and write access to the file.

mmsBaseUrl=<application URL>
serverPoolKey=somekeyabc123
serverPoolPropertiesFile=<path to server properties file>
serverPoolStateFile=<path to server state file>

Do not configure the group settings: mmsGroupId and mmsApiKey.

4

Optional: Configure the Automation Agent to use a proxy server.

To configure the agent to connect to Ops Manager via a proxy server, you must specify the server in the httpProxy environment variable. In the <install-directory>/local.config file, set the httpProxy value to the URL of to your proxy server:

httpProxy="http://proxy.example.com:9000"
5

Create the automation and data directories.

Create the directories for the Automation Agent:

Component Default Directory
Automation Agent binaries /var/lib/mongodb-mms-automation
Automation Agent logs /var/log/mongodb-mms-automation
MongoDB databases created by the Automation Agent /data

The system user that runs the Automation Agent should own these directories.

sudo mkdir -m 755 -p /var/lib/mongodb-mms-automation
sudo mkdir -m 755 -p /var/log/mongodb-mms-automation
sudo mkdir -m 755 -p /data

Using a Different Path than /var/lib

By default, the Automation Agent binaries and Ops Manager configuration backup file are located in /var/lib/mongodb-mms- automation. If you want to store these files in a different directory, follow these procedures:

To change the location of the Automation Agent Binaries:

  1. Click Deployment; Agents; and then Downloads & Settings.

  2. Below the Download Directory heading, click the pencil icon to the right of the path shown in Download Directory (Linux/MacOS).

  3. Change the path to the new path you want.

  4. Click Save.

  5. Create the new directory you specified on each host that runs an Automation Agent.

    sudo mkdir -m 755 -p /<newPath>
    

    Important

    Make sure the system user that runs the Automation Agent can write to this new directory.

To change the location of the Automation Agent configuration backup:

  1. Open the Automation Agent configuration file in your preferred text editor.

  2. Change the mmsConfigBackup setting to the new path for the configuration backup file.

  3. Save the Automation Agent configuration file.

  4. Move the configuration backup file to the new directory.

    sudo mv /var/lib/mongodb-mms-automation/mms-cluster-config-backup.json /<newPath>
    
6

Start the Automation Agent.

From the directory in which you installed the Automation Agent, issue the following command:

nohup ./mongodb-mms-automation-agent >> automation-agent.log 2>&1 &

Update the Automation Agent from an Archive

Important

The preferred way to update the Automation Agent is through the Ops Manager UI. If an Automation Agent is out of date, Ops Manager displays a warning on the Deployment page and provides a link to perform the update automatically.

1

Stop any currently running Automation Agents.

Issue the following command:

pkill -f mongodb-mms-automation-agent
2

Download the latest version of the Automation Agent archive.

On a system shell, issue a curl command to download the archive for the agent that works on your platform:

Note

Replace <OpsManagerHost> with the hostname of your Ops Manager installation.

For RHEL / CentOS (7.x) and SUSE 12 on x64 architecture:

curl -OL <OpsManagerHost>:<Port>/download/agent/automation/mongodb-mms-automation-agent-latest.rhel7_x86_64.tar.gz

For RHEL / CentOS (7.x) on PowerPC architecture (managing MongoDB 3.4 or later deployments only):

curl -OL <OpsManagerHost>:<Port>/download/agent/automation/mongodb-mms-automation-agent-latest.rhel7_ppc641e.tar.gz

For all other Linux distributions:

curl -OL <OpsManagerHost>:<Port>/download/agent/automation/mongodb-mms-automation-agent-latest.linux_x86_64.tar.gz
3

Install the Automation Agent.

To install the agent that works on your platform, issue the appropriate command to extract the archive:

tar -xf mongodb-mms-automation-agent-latest.*.tar.gz

The Automation Agent is installed.

4

Edit the local.config file.

In the directory where you installed the Automation Agent, edit the local.config file to either:

Configure for a Specific Group

Update the following configuration keys:

  • For mmsGroupId, set to your GroupID.
  • For mmsApiKey, set to the group’s agent API key.
  • For mmsBaseUrl, set to the URL of the Ops Manager Application. Include the port number.
mmsGroupId=<Group ID>
mmsApiKey=<agent API key>
mmsBaseUrl=<application URL>

Do not configure the server pool settings: serverPoolKey, serverPoolPropertiesFile, serverPoolStateFile.

Configure for a Server Pool

Update the following configuration keys:

  • For mmsBaseUrl, set to the URL of the Ops Manager Application. Include the port number.

  • For serverPoolKey, set to the Server Pool Key.

    To find the server pool key, in the Admin menu, go to Server Pool view and click on the Agent Configuration tab.

  • For serverPoolPropertiesFile, set to the full filepath of a file that contains server properties. Ensure the Automation Agent can read the file.

    The properties file contains key/value pairs of the form <property>=<value>. The Ops Manager Administrator decides on both the property names and values.

    Note

    Ensure that the properties file contains the desired property names and values before starting the Automation Agent on the server.

    Once the server is registered with the pool, changes to the properties file do not take effect until the server is first removed and the Automation Agent restarted.

  • For serverPoolStateFile, set to the full filepath of the file to be used by the Automation Agent.

    Ensure that the directory path to the file exists and the agent has read and write access to the directory. The file itself need not exist; however, if it does exist, the agent must have read and write access to the file.

mmsBaseUrl=<application URL>
serverPoolKey=somekeyabc123
serverPoolPropertiesFile=<path to server properties file>
serverPoolStateFile=<path to server state file>

Do not configure the group settings: mmsGroupId and mmsApiKey.

5

Optional: Configure the Automation Agent to use a proxy server.

To configure the agent to connect to Ops Manager via a proxy server, you must specify the server in the httpProxy environment variable. In the <install-directory>/local.config file, set the httpProxy value to the URL of to your proxy server:

httpProxy="http://proxy.example.com:9000"
6

Create the automation and data directories.

Create the directories for the Automation Agent:

Component Default Directory
Automation Agent binaries /var/lib/mongodb-mms-automation
Automation Agent logs /var/log/mongodb-mms-automation
MongoDB databases created by the Automation Agent /data

The system user that runs the Automation Agent should own these directories.

sudo mkdir -m 755 -p /var/lib/mongodb-mms-automation
sudo mkdir -m 755 -p /var/log/mongodb-mms-automation
sudo mkdir -m 755 -p /data

Using a Different Path than /var/lib

By default, the Automation Agent binaries and Ops Manager configuration backup file are located in /var/lib/mongodb-mms- automation. If you want to store these files in a different directory, follow these procedures:

To change the location of the Automation Agent Binaries:

  1. Click Deployment; Agents; and then Downloads & Settings.

  2. Below the Download Directory heading, click the pencil icon to the right of the path shown in Download Directory (Linux/MacOS).

  3. Change the path to the new path you want.

  4. Click Save.

  5. Create the new directory you specified on each host that runs an Automation Agent.

    sudo mkdir -m 755 -p /<newPath>
    

    Important

    Make sure the system user that runs the Automation Agent can write to this new directory.

To change the location of the Automation Agent configuration backup:

  1. Open the Automation Agent configuration file in your preferred text editor.

  2. Change the mmsConfigBackup setting to the new path for the configuration backup file.

  3. Save the Automation Agent configuration file.

  4. Move the configuration backup file to the new directory.

    sudo mv /var/lib/mongodb-mms-automation/mms-cluster-config-backup.json /<newPath>
    
7

Start the Automation Agent.

From the directory in which you installed the Automation Agent, issue the following command:

nohup ./mongodb-mms-automation-agent >> automation-agent.log 2>&1 &