Edit, July 2016: Since Monitoring Agent 5.0.0, Monitoring Agents share hosts among themselves equally. Feel free to reach out via ticket or chat if you have any questions about this process.
If you’re an MMS user, you may be familiar with the concept of the MMS Agents. MMS uses agents to get information into and out of your deployment without needing direct network access. All of our Agents operate by making HTTPS requests out to MMS and then performing MongoDB commands within your data center. This blog post is here to help you know how many of each agent you need and why.
Every server instance in your deployment needs an Automation Agent to use Automation. Only one Automation Agent is required per server instance, each one can manage multiple MongoDB instances. Running multiple Automation Agents per server is not supported and will not work. The Automation Agent is responsible for configuring, launching, and maintaining MongoDB processes.
Every MMS group has only one active Monitoring Agent. This Monitoring Agent must be able to reach every member of your MongoDB deployment in the MMS group. You can run more than one Monitoring Agent, but more than three is a bit excessive. The advantage of running multiple Monitoring Agents is only in terms of increasing availability in case one goes down – they do not allow for ways to get to hosts that are not normally accessible.
Backup Agents have similar characteristics to Monitoring Agents. There is only one active Backup Agent per MMS group, and more than one only provides high availability, not network access. Each Backup Agent must be able to connect to every process in your MMS deployment by the hostnames that MMS uses.