- Reference >
- Automation Configuration
Automation Configuration¶
Overview¶
The Automation Agent uses an automation configuration to determine the desired state of a MongoDB deployment and to effect changes as needed. If you modify the deployment through the Ops Manager web interface, you never need manipulate this configuration.
If you are using the Automation Agent without Ops Manager, you can construct and distribute the configuration file manually.
Fields¶
Optional fields are marked as such.
A field that takes a <number>
as its value can take integers and
floating point numbers.
version¶
Name | Type | Description |
---|---|---|
version | integer | The version of the configuration file. |
agentVersion¶
Name | Type | Description |
---|---|---|
agentVersion | object | Optional The version of the Automation Agent to run. If the running version does not match this setting, the Automation Agent downloads the specified version, shuts itself down, and starts the new version. |
- name | string | The desired version of the Automation Agent (e.g. “1.8.1.1042-1”). |
- directoryUrl | string | The URL from which to download Automation Agent. |
monitoringVersions¶
Name | Type | Description |
---|---|---|
monitoringVersions | array of objects | Optional. Objects that define version information for each Monitoring Agent. |
- name | string | The desired version of the Monitoring Agent (e.g. “2.9.1.176-1”). To monitor or back up MongoDB 3.0 deployments, you must install Ops Manager 1.6 or higher. To monitor a MongoDB 3.0 deployment, you must also run Monitoring Agent version 2.7.0 or higher. |
- hostname | string | The hostname of the machine that runs the Monitoring Agent. If the
Monitoring Agent is not running on the machine, Ops Manager installs the
agent from the location specified in monitoringVersions.urls . |
- urls | object | The platform- and build-specific URLs from which to download the Monitoring Agent. |
- - <platform> | object | This field has a name that identifies an operating system and
optionally a version. The field contains an object with key-value
pairs, where each key is either the name of a build or default
and each value is a URL for downloading the Monitoring Agent. The
object must include the default key set to the default
download URL for the platform. |
- baseUrl | string | The base URL used for the mmsBaseUrl setting in the
Monitoring Agent Configuration. |
- logPath | string | Optional. The directory where the agent stores its logs. The
default is to store logs in /dev/null . |
- logRotate | object | Optional. Enables log rotation for the MongoDB logs for a process. |
- - sizeThresholdMB | number | The maximum size in MB for an individual log file before rotation. |
- - timeThresholdHrs | integer | The maximum time in hours for an individual log file before rotation. |
- - numUncompressed | integer | Optional. The maximum number of total log files to leave
uncompressed, including the current log file. The default is 5 . |
- - percentOfDiskspace | number | Optional. The maximum percentage of total disk space all log
files should take up before deletion. The default is .02 . |
backupVersions¶
Name | Type | Description |
---|---|---|
backupVersions | array of objects | Optional. Objects that define version information for each Backup Agent. |
- name | string | The desired version of the Backup Agent (e.g. “3.1.1.263-1”). |
- hostname | string | The hostname of the machine that runs the Backup Agent. If the
Backup Agent is not running on the machine, Ops Manager installs the
agent from the location specified in backupVersions.urls . |
- urls | object | The platform- and build-specific URLs from which to download the Backup Agent. |
- - <platform> | object | This field has a name that identifies an operating system and
optionally a version. The field contains an object with key-value
pairs, where each key is either the name of a build or default
and each value is a URL for downloading the Backup Agent. The
object must include the default key set to the default
download URL for the platform. |
- baseUrl | string | The base URL used for the mothership and https settings in
the Backup Agent Configuration. For example, for
"baseUrl"=https://cloud.mongodb.com , the backup configuration
fields would have these values:
mothership=api-backup.mongodb.com and https"=true . |
- logPath | string | Optional. The directory where the agent stores its logs. The
default is to store logs in /dev/null . |
- logRotate | object | Optional. Enables log rotation for the MongoDB logs for a process. |
- - sizeThresholdMB | number | The maximum size in MB for an individual log file before rotation. |
- - timeThresholdHrs | integer | The maximum time in hours for an individual log file before rotation. |
- - numUncompressed | integer | Optional. The maximum number of total log files to leave
uncompressed, including the current log file. The default is 5 . |
- - percentOfDiskspace | number | Optional. The maximum percentage of total disk space all log
files should take up before deletion. The default is .02 . |
processes¶
Name | Type | Description |
---|---|---|
processes | array of objects | The processes array contains objects that define the
mongos and mongod instances that Ops Manager
monitors. Each object defines a different instance. |
- name | string | A unique name to identify the instance. |
- processType | string | Either mongod or mongos . |
- version | string | The name of the mongoDbVersions specification used with
this instance. |
- <args> | object | This field is named either args2_6 , for MongoDB versions 2.6
and higher (including 3.0 and higher), or args2_4 , for versions
2.4 and earlier. The field contains a MongoDB configuration
object in the format appropriate to the version. For information
on format and supported MongoDB options, see supported
configuration options. |
- disabled | Boolean | Optional. Set to true to shut down the process. |
- manualMode | Boolean | Optional. Set to true to operate this process in manual mode.
The Automation Agent will take no actions on the process. |
- hostname | string | Optional. The name of the host this process should run on. This
defaults to localhost . |
- cluster | string | Optional. Required for a mongos. The name of the
cluster. This must correspond to the sharding.name field
in the sharding array for the mongos. |
- numCores | integer | Optional. The number of cores the process should be bound to. The Automation Agent will spread processes out across the cores as evenly as possible. |
- logRotate | object | Optional. Enables log rotation for the MongoDB logs for a process. |
- - sizeThresholdMB | number | The maximum size in MB for an individual log file before rotation. |
- - timeThresholdHrs | integer | The maximum time in hours for an individual log file before rotation. |
- - numUncompressed | integer | Optional. The maximum number of total log files to leave
uncompressed, including the current log file. The default is 5 . |
- - percentOfDiskspace | number | Optional. The maximum percentage of total disk space all log
files should take up before deletion. The default is .02 . |
- authSchemaVersion | integer | Optional. The schema version of the user credential objects.
This should match all other elements of the processes array
that belong to the same cluster. The possible values are 1 ,
3 , and 5 . The default is 3 for 2.6 clusters and
1 for 2.4 clusters. |
- alias | string | Optional. A hostname alias (often a DNS CNAME) for the server on
which the process runs. If an alias is specified, the Automation
Agent prefers the alias over the host specified in
processes.hostname when connecting to the server. You can
also specify this alias in replicaSets.host and
sharding.configServer . |
replicaSets¶
Name | Type | Description |
---|---|---|
replicaSets | array of objects | Optional. Objects that define the configuration of each
replica set. The Automation Agent uses the values in this
array to create valid replica set configuration documents. The agent regularly checks
that replica sets are configured correctly. If a problem occurs,
the agent reconfigures the replica set according to its
configuration document. The array can contain the following
top-level fields from a replica set configuration document:
_id ; version ; and members . For more information on the
configuration documents, see replSetGetConfig in the MongoDB manual. |
- _id | string | The name of the replica set. |
- version | integer | The version of the replica set configuration. |
- members | array of objects | Objects that define each member of the replica set. The
members.host field must specify the host’s name as listed in
processes.name . The Automation Agent expands the host field
to create a valid replica set configuration. For more information
on members objects, see replSetGetConfig in the MongoDB manual. |
- force | object | Optional. An object that contains the currentVersion field
set to a version number. Automation will force a reconfiguration of
the replica set if and only if the value of currentVersion
equals the current version of the replica set. You can use
force to reconfigure a replica set that has lost members and
can’t reach a majority of votes. |
sharding¶
Name | Type | Description |
---|---|---|
sharding | array of objects | Optional. Objects that define the configuration of each sharded cluster. Each object in the array contains the specifications for one cluster. The Automation Agent regularly checks each cluster’s state against the specifications. If the specification and cluster don’t match, the agent will change the configuration of the cluster, which might cause the balancer to migrate chunks. |
- name | string | The name of the cluster. This must correspond with the value in
processes.cluster for a mongos. |
- configServer | array | String values that provide the names of each config server’s hosts. The host names are the same names as are
used in each host’s processes.name field. |
- collections | array of objects | Objects that define the sharded collections and their shard keys. |
- - _id | string | The namespace of the sharded collection. The namespace is
the combination of the database name and the name of the
collection. For example, testdb.testcoll . |
- - key | array of arrays | The collection’s shard keys. This “array of arrays” contains a single array if there is a single shard key and contains multiple arrays if there is a compound shard key. |
- shards | array of objects | Objects that define the cluster’s shards. |
- - _id | string | The name of the shard. |
- - rs | string | The name of the shard’s replica set, as specified in the
replicaSets._id field. |
balancer¶
Name | Type | Description |
---|---|---|
balancer | object | Optional. This object contains fields named according to
clusters, each field containing an object with the desired
balancer settings for the cluster. The object uses the
stopped and activeWindow fields, as described in the
procedure to schedule the balancing window in this
tutorial in the
MongoDB manual. |
auth¶
The auth
document is optional. auth
defines
authentication-related settings.
Name | Type | Description |
---|---|---|
autoUser |
string | The username that the Automation agent uses when connecting to an instance. |
autoPwd |
string | The password that the Automation agent uses when connecting to an instance. |
disabled |
Boolean | Specifies whether authentication is enabled or disabled. Set to
true to disable authentication, or false to enable
authentication. |
deploymentAuthMechanisms |
array | Lists the supported authentication mechanisms for the processes
in the deployment. Specify MONGODB-CR for MONGODB-CR /
SCRAM-SHA-1 authentication, MONGODB-X509 for x.509 Client
Certificate authentication, PLAIN for LDAP authentication,
and GSSAPI for authenticating with Kerberos. |
disabled |
boolean | Optional. Indicates if auth is disabled. If not specified,
disabled defaults to false . |
key |
string | The contents of the key file that Ops Manager uses to authenticate to the
MongoDB processes. The key is not required if disabled is true . |
keyfile |
string | The path and name of the key file that Ops Manager uses to authenticate
to the MongoDB processes. The keyfile is not required if disabled is true . |
usersDeleted |
array of objects | Optional. Objects that define the authenticated users to be
deleted from specified databases or from all databases. This array
must contain two fields: the auth.usersDeleted.user field
and the auth.usersDeleted.dbs field. |
usersDeleted.user |
string | The user’s name. |
usersDeleted.dbs |
array | String values that list the names of the databases from which the authenticated user is to be deleted. |
usersWanted |
array of objects | Optional. Contains objects that define authenticated users to
add to specified databases. Each object must have the
auth.usersWanted.db , auth.usersWanted.user , and
auth.usersWanted.roles fields, and then have exactly one
of the following fields: auth.usersWanted.pwd ,
auth.usersWanted.initPwd , or
auth.usersWanted.userSource . |
usersWanted.db |
string | The database to which to add the user. |
usersWanted.user |
string | The name of the user. |
usersWanted.roles |
array | String values that list the roles to be assigned the
user from the user’s database, which is specified in auth.usersWanted.db . |
usersWanted.pwd |
32-character hex string | The MONGODB-CR hash of the password
assigned to the user. If you set this field, do not set the
auth.usersWanted.initPwd or
auth.usersWanted.userSource fields. |
usersWanted.initPwd |
string | An initial cleartext password assigned to the user. If you set this
field, do not set the auth.usersWanted.pwd or
auth.usersWanted.userSource fields. |
usersWanted.userSource |
string | If you use MongoDB version 2.4, you can use this field to specify
the database that contains the user’s credentials. See the
Privilege Documents page in the MongoDB 2.4 manual. If
you set this field, do not set the
auth.usersWanted.pwd or auth.usersWanted.initPwd
fields. |
usersWanted.otherDBRoles |
object | Optional. If the auth.usersWanted.db field specifies
admin as the user’s database, then this object can assign to
the user roles from other databases as well. The object contains
key-value pairs where the key is the name of the database and the
value is an array of string values that list the roles be assigned
from that database. |
ssl¶
SSL is available only in MongoDB Enterprise or a build of MongoDB compiled with SSL support.
Name | Type | Description |
---|---|---|
ssl | object | Optional. Enables SSL for encrypting connections. SSL is available only in MongoDB Enterprise or a build of MongoDB compiled with SSL support. |
- CAFilePath | string | The path to the certificate used to authenticate through SSL. |
roles¶
Name | Type | Description |
---|---|---|
roles | array of objects | Optional. The roles array contains objects that
describe the cluster’s user-defined roles. Each object describes
a different user-defined role. Objects in this array contain the
same fields as documents in the :manual:` system roles collection
</reference/system-roles-collection>`, except for the _id
field, which is not included here. |
mongoDbVersions¶
The mongoDbVersions
array defines specification objects for the
MongoDB instances found in the processes
array. Each MongoDB
instance in the processes
array must have a specification object
in this array.
Name | Type | Description |
---|---|---|
mongoDbVersions | array of objects | The mongoDbVersions array is required and defines specification
objects for the MongoDB instances found in the processes
array. Each MongoDB instance in processes must have a
specification object in mongoDbVersions . |
- name | string | The name of the specification object. The specification object
is attached to a MongoDB instance through the instance’s
processes.version field in this configuration file. |
- builds | array of objects | Objects that define the builds for this MongoDB instance. |
- - platform | string | The platform for this MongoDB instance. |
- - url | string | The URL from which to download MongoDB for this instance. |
- - gitVersion | string | The commit identifier that identifies the state of the code used to build the MongoDB process. The MongoDB buildInfo command returns the gitVersion identifier. |
- - bits | integer | The processor’s bus width. Specify either 64 or 32 . |
- - win2008plus | Boolean | Optional. Set to true if this is a Windows build that
requires either Windows 7 later or Windows Server 2008 R2 or later. |
- - winVCRedistUrl | string | Optional. The URL from which the required version of the Microsoft Visual C++ redistributable can be downloaded. |
- - winVCRedistOptions | array | Optional. String values that list the command-line options to be specified when running the Microsoft Visual C++ redistributable installer. Each command-line option is a separate string in the array. |
- - winVCRedistDll | string | Optional. The name of the Microsoft Visual C++ runtime DLL file that the agent will check to determine if a new version of the Microsoft Visual C++ redistributable is needed. |
- - winVCRedistVersion | string | Optional. The minimum version of the Microsoft Visual C++ runtime DLL that must be present to skip over the installation of the Microsoft Visual C++ redistributable. |
options¶
Name | Type | Description |
---|---|---|
options | object | |
- downloadBase | string | The path to the directory where automatic version downloads are targeted and scripts for starting processes are created. |
kerberos¶
Name | Type | Description |
---|---|---|
kerberos | object | Optional. A key-value pair that defines the kerberos service name agents use to authenticate via kerberos. |
- serviceName | string | The service name agents use to authenticate to a mongod
or mongos via kerberos. This name is also used to set
the saslServiceName option in a MongoDB configuration, as
described on the MongoDB Server Parameters page in the MongoDB manual. |
indexConfigs¶
Name | Type | Description |
---|---|---|
indexConfigs | array of objects | Optional. Objects that define specific indexes to be built for specific replica sets. |
- key | array of arrays | The index’s keys. This “array of arrays” contains a single array if the index has just one key. |
- rsName | string | The replica set that the index is build on. |
- dbName | string | The database the index applies to. |
- collectionName | string | The collection the index applies to. |