Using a9s MongoDB
This topic describes how to use a9s MongoDB .
Use a9s MongoDB with an Application
To use a9s MongoDB with an application, create a service instance and bind the service instance to your application. For more information on managing service instances, see Managing Service Instances with the cf CLI.
View the a9s MongoDB Service
After the service is installed, you can see the a9s-mongodb
and its service plans appear in your CF marketplace. Run cf marketplace
to see the service listing:
$ cf marketplace
Getting services from marketplace in org test / space test as admin...
OK
service plans description
a9s-mongodb mongodb-single-small, mongodb-cluster-small, This is the a9s MongoDB 32 service.
mongodb-single-big, mongodb-cluster-big
Create a Service Instance
To provision a MongoDB database, run cf create-service
. For example:
cf create-service a9s-mongodb mongodb-single-small my-mongodb-service
Depending on your infrastructure and service broker utilization, it may take several minutes to create the service instance.
Run the cf services
command to view the creation status. This command displays a list of all your service instances. To view the status of a specific service instance, run cf service NAME-OF-YOUR-SERVICE
.
Bind an Application to a Service Instance
After your database is created, run cf bind-service
to bind the service to your application:
cf bind-service a9s-mongodb-app my-mongodb-service
Restage or Restart Your Application
To enable your application to access the service instance, run cf restage
or cf restart
to restage or restart your application.
Obtain Service Instance Access Credentials
After a service instance is bound to an application, the credentials of your MongoDB database are stored in the environment variables of the application. Run cf env APP-NAME
to display the environment variables.
You can find the credentials in the VCAP_SERVICES key.
$ cf env a9s-mongodb-app
Getting env variables for app a9s-mongodb-app in org test / space test as admin...
OK
System-Provided:
{
"VCAP_SERVICES": {
"a9s-mongodb": [
{
"credentials": {
"default_database": "d22906",
"hosts": [
"EXAMPLE-HOST"
],
"password": "EXAMPLE-PASSWORD",
"uri": "EXAMPLE-URI",
"username": "EXAMPLE-USERNAME"
},
"label": "a9s-mongodb",
"name": "my-mongodb-service",
"plan": "mongodb-single-small",
"tags": [
"nosql",
"database",
"document store",
"eventual consistent"
]
}
]
}
}
...
You can use the host, username and password values to connect to your database with a MongoDB client.
Best Practices
There are some best practices for using service binding information in apps in a separate document.
Delete an a9s MongoDB Service Instance
WARNING: Before deleting a service instance, you must backup data stored in your database. This operation cannot be undone and all the data is lost when the service is deleted.
Before you can delete a service instance, you must unbind it from all apps.
List Available Services
Run cf services
to list your available services.
$ cf services
Getting services in org test / space test as admin...
OK
name service plan bound apps last operation
my-mongodb-service a9s-mongodb mongodb-single-small a9s-mongodb-app create succeeded
This example shows that my-mongodb-service
is bound to the a9s-mongodb-app
application.
Unbind a Service Instance
Run cf unbind-service
to unbind the service from your application.
cf unbind-service a9s-mongodb-app my-mongodb-service
Delete a Service Instance
After unbinding the service, it is no longer bound to an application. Run cf delete-service
to delete the service:
cf delete-service my-mongodb-service
It may take several minutes to delete the service. Deleting a service deprovisions the corresponding infrastructure resources.
Run the cf services
command to view the deletion status.
Upgrade the Service Instance to another Service Plan
Once created, you can upgrade your service instance to another, larger service plan. A larger service plan provides more CPU, RAM and storage. For more information, see the Update a Service Instance of the Managing Service Instances with the cf CLI topic.
cf update-service my-mongodb-service -p a-bigger-plan
Add a Graphite Endpoint
Important: Streaming of logs and metrics might not be availabale for your plan! If unsure, please check your plan description.
If you want to monitor your service with Graphite, you can set the custom
parameter graphite
. It expects the host and port where the Graphite metrics
should be sent to.
For example, in order to send Graphite metrics to an endpoint
yourspace.your-graphite-endpoint.com:12345
, you can use the following
command:
cf update-service my-instance -c '{ "graphite": "yourspace.your-graphite-endpoint.com:12345" }'
The endpoint would then receive metrics in the format:
<service_guid>.<service_type>.<host>.<metric> <metric value> <metric timestamp>
Metrics Frequency
By default, metrics will be emitted every 10
seconds.
You can change the interval via the custom parameter metrics_frequency
.
For example, in order to send Graphite metrics to an endpoint every minute, you
would set the custom parameter metrics_frequency
to 60
using the following command:
cf update-service my-instance -c '{ "metrics_frequency": 60 }'
Metrics Prefix
Depending on your graphite provider, you might need to prefix the metrics with
a certain value, like an API key for example. In this case you can leverage the
custom parameter metrics_prefix
.
cf update-service my-instance -c '{ "metrics_prefix": "my-api-key-for-a-certain-provider" }'
The resulting metric path would have the format:
<metrics_prefix>.<service_guid>.<service_type>.<host>.<metric>
Metric Groups
Group Name | Description |
---|---|
memory | Memory Information |
asserts | A document that reports on the number of assertions raised since the MongoDB process started |
network | Network Information |
replicas | Replication status. Useful when the service instance is a replica set |
document | Documents information |
errors | Errors information |
connections | Connection information |
Metric Group Patterns
Each metric group has a set of patterns that describe the metrics contained in each group.
Memory
A document that reports on the system architecture of the mongod and current memory use.
*.*.mongodb.*.*.*.*.mem.bits
*.*.mongodb.*.*.*.*.mem.mapped
*.*.mongodb.*.*.*.*.mem.mappedWithJournal
*.*.mongodb.*.*.*.*.mem.resident
*.*.mongodb.*.*.*.*.mem.supported
*.*.mongodb.*.*.*.*.mem.virtual
Asserts
A document that reports on the number of assertions raised since the MongoDB process started. While assert errors are typically uncommon, if there are non-zero values for the asserts, you should examine the log file for more information. In many cases, these errors are trivial, but are worth investigating.
*.*.mongodb.*.*.*.*.asserts.msg
*.*.mongodb.*.*.*.*.asserts.regular
*.*.mongodb.*.*.*.*.asserts.rollovers
*.*.mongodb.*.*.*.*.asserts.user
*.*.mongodb.*.*.*.*.asserts.warning
Network
A document that reports data on MongoDB's network use. These statistics measure ingress connections only, specifically the traffic seen by the mongod or mongos over network connections initiated by clients or other mongod or mongos instances. Traffic from network connections initiated by this mongod or mongos instance (specifically, egress connections) is not measured in these statistics.
*.*.mongodb.*.*.*.*.network.bytesIn
*.*.mongodb.*.*.*.*.network.bytesOut
*.*.mongodb.*.*.*.*.network.compression.snappy.compressor.bytesIn
*.*.mongodb.*.*.*.*.network.compression.snappy.compressor.bytesOut
*.*.mongodb.*.*.*.*.network.compression.snappy.decompressor.bytesIn
*.*.mongodb.*.*.*.*.network.compression.snappy.decompressor.bytesOut
*.*.mongodb.*.*.*.*.network.numRequests
*.*.mongodb.*.*.*.*.network.physicalBytesIn
*.*.mongodb.*.*.*.*.network.physicalBytesOut
*.*.mongodb.*.*.*.*.network.serviceExecutorTaskStats.threadsRunning
Replicas
A document that reports on the replica set configuration. repl
only appears when the current
host is a replica set.
*.*.mongodb.*.*.*.*.metrics.repl.apply.attemptsToBecomeSecondary
*.*.mongodb.*.*.*.*.metrics.repl.apply.batches.num
*.*.mongodb.*.*.*.*.metrics.repl.apply.batches.totalMillis
*.*.mongodb.*.*.*.*.metrics.repl.apply.ops
*.*.mongodb.*.*.*.*.metrics.repl.buffer.count
*.*.mongodb.*.*.*.*.metrics.repl.buffer.maxSizeBytes
*.*.mongodb.*.*.*.*.metrics.repl.buffer.sizeBytes
*.*.mongodb.*.*.*.*.metrics.repl.executor.pool.inProgressCount
*.*.mongodb.*.*.*.*.metrics.repl.executor.queues.networkInProgress
*.*.mongodb.*.*.*.*.metrics.repl.executor.queues.sleepers
*.*.mongodb.*.*.*.*.metrics.repl.executor.shuttingDown
*.*.mongodb.*.*.*.*.metrics.repl.executor.unsignaledEvents
*.*.mongodb.*.*.*.*.metrics.repl.initialSync.completed
*.*.mongodb.*.*.*.*.metrics.repl.initialSync.failedAttempts
*.*.mongodb.*.*.*.*.metrics.repl.initialSync.failures
*.*.mongodb.*.*.*.*.metrics.repl.network.bytes
*.*.mongodb.*.*.*.*.metrics.repl.network.getmores.num
*.*.mongodb.*.*.*.*.metrics.repl.network.getmores.totalMillis
*.*.mongodb.*.*.*.*.metrics.repl.network.ops
*.*.mongodb.*.*.*.*.metrics.repl.network.readersCreated
*.*.mongodb.*.*.*.*.metrics.repl.preload.docs.num
*.*.mongodb.*.*.*.*.metrics.repl.preload.docs.totalMillis
*.*.mongodb.*.*.*.*.metrics.repl.preload.indexes.num
*.*.mongodb.*.*.*.*.metrics.repl.preload.indexes.totalMillis
Commands
A document that reports on the use of database commands. The fields in metrics.commands
are the names of database commands. For each command, the serverStatus
reports the total
number of executions and the number of failed executions.
*.*.mongodb.*.*.*.*.metrics.commands.<UNKNOWN>
*.*.mongodb.*.*.*.*.metrics.commands._configsvrAddShard.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrAddShard.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrAddShardToZone.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrAddShardToZone.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrBalancerStart.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrBalancerStart.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrBalancerStatus.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrBalancerStatus.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrBalancerStop.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrBalancerStop.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrCommitChunkMerge.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrCommitChunkMerge.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrCommitChunkMigration.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrCommitChunkMigration.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrCommitChunkSplit.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrCommitChunkSplit.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrCreateDatabase.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrCreateDatabase.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrEnableSharding.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrEnableSharding.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrMoveChunk.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrMoveChunk.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrMovePrimary.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrMovePrimary.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrRemoveShard.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrRemoveShard.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrRemoveShardFromZone.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrRemoveShardFromZone.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrShardCollection.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrShardCollection.total
*.*.mongodb.*.*.*.*.metrics.commands._configsvrUpdateZoneKeyRange.failed
*.*.mongodb.*.*.*.*.metrics.commands._configsvrUpdateZoneKeyRange.total
*.*.mongodb.*.*.*.*.metrics.commands._flushRoutingTableCacheUpdates.failed
*.*.mongodb.*.*.*.*.metrics.commands._flushRoutingTableCacheUpdates.total
*.*.mongodb.*.*.*.*.metrics.commands._getNextSessionMods.failed
*.*.mongodb.*.*.*.*.metrics.commands._getNextSessionMods.total
*.*.mongodb.*.*.*.*.metrics.commands._getUserCacheGeneration.failed
*.*.mongodb.*.*.*.*.metrics.commands._getUserCacheGeneration.total
*.*.mongodb.*.*.*.*.metrics.commands._isSelf.failed
*.*.mongodb.*.*.*.*.metrics.commands._isSelf.total
*.*.mongodb.*.*.*.*.metrics.commands._mergeAuthzCollections.failed
*.*.mongodb.*.*.*.*.metrics.commands._mergeAuthzCollections.total
*.*.mongodb.*.*.*.*.metrics.commands._migrateClone.failed
*.*.mongodb.*.*.*.*.metrics.commands._migrateClone.total
*.*.mongodb.*.*.*.*.metrics.commands._recvChunkAbort.failed
*.*.mongodb.*.*.*.*.metrics.commands._recvChunkAbort.total
*.*.mongodb.*.*.*.*.metrics.commands._recvChunkCommit.failed
*.*.mongodb.*.*.*.*.metrics.commands._recvChunkCommit.total
*.*.mongodb.*.*.*.*.metrics.commands._recvChunkStart.failed
*.*.mongodb.*.*.*.*.metrics.commands._recvChunkStart.total
*.*.mongodb.*.*.*.*.metrics.commands._recvChunkStatus.failed
*.*.mongodb.*.*.*.*.metrics.commands._recvChunkStatus.total
*.*.mongodb.*.*.*.*.metrics.commands._transferMods.failed
*.*.mongodb.*.*.*.*.metrics.commands._transferMods.total
*.*.mongodb.*.*.*.*.metrics.commands.aggregate.failed
*.*.mongodb.*.*.*.*.metrics.commands.aggregate.total
*.*.mongodb.*.*.*.*.metrics.commands.appendOplogNote.failed
*.*.mongodb.*.*.*.*.metrics.commands.appendOplogNote.total
*.*.mongodb.*.*.*.*.metrics.commands.applyOps.failed
*.*.mongodb.*.*.*.*.metrics.commands.applyOps.total
*.*.mongodb.*.*.*.*.metrics.commands.authSchemaUpgrade.failed
*.*.mongodb.*.*.*.*.metrics.commands.authSchemaUpgrade.total
*.*.mongodb.*.*.*.*.metrics.commands.authenticate.failed
*.*.mongodb.*.*.*.*.metrics.commands.authenticate.total
*.*.mongodb.*.*.*.*.metrics.commands.availableQueryOptions.failed
*.*.mongodb.*.*.*.*.metrics.commands.availableQueryOptions.total
*.*.mongodb.*.*.*.*.metrics.commands.buildInfo.failed
*.*.mongodb.*.*.*.*.metrics.commands.buildInfo.total
*.*.mongodb.*.*.*.*.metrics.commands.checkShardingIndex.failed
*.*.mongodb.*.*.*.*.metrics.commands.checkShardingIndex.total
*.*.mongodb.*.*.*.*.metrics.commands.cleanupOrphaned.failed
*.*.mongodb.*.*.*.*.metrics.commands.cleanupOrphaned.total
*.*.mongodb.*.*.*.*.metrics.commands.clone.failed
*.*.mongodb.*.*.*.*.metrics.commands.clone.total
*.*.mongodb.*.*.*.*.metrics.commands.cloneCollection.failed
*.*.mongodb.*.*.*.*.metrics.commands.cloneCollection.total
*.*.mongodb.*.*.*.*.metrics.commands.cloneCollectionAsCapped.failed
*.*.mongodb.*.*.*.*.metrics.commands.cloneCollectionAsCapped.total
*.*.mongodb.*.*.*.*.metrics.commands.collMod.failed
*.*.mongodb.*.*.*.*.metrics.commands.collMod.total
*.*.mongodb.*.*.*.*.metrics.commands.collStats.failed
*.*.mongodb.*.*.*.*.metrics.commands.collStats.total
*.*.mongodb.*.*.*.*.metrics.commands.compact.failed
*.*.mongodb.*.*.*.*.metrics.commands.compact.total
*.*.mongodb.*.*.*.*.metrics.commands.connPoolStats.failed
*.*.mongodb.*.*.*.*.metrics.commands.connPoolStats.total
*.*.mongodb.*.*.*.*.metrics.commands.connPoolSync.failed
*.*.mongodb.*.*.*.*.metrics.commands.connPoolSync.total
*.*.mongodb.*.*.*.*.metrics.commands.connectionStatus.failed
*.*.mongodb.*.*.*.*.metrics.commands.connectionStatus.total
*.*.mongodb.*.*.*.*.metrics.commands.convertToCapped.failed
*.*.mongodb.*.*.*.*.metrics.commands.convertToCapped.total
*.*.mongodb.*.*.*.*.metrics.commands.copydb.failed
*.*.mongodb.*.*.*.*.metrics.commands.copydb.total
*.*.mongodb.*.*.*.*.metrics.commands.copydbgetnonce.failed
*.*.mongodb.*.*.*.*.metrics.commands.copydbgetnonce.total
*.*.mongodb.*.*.*.*.metrics.commands.copydbsaslstart.failed
*.*.mongodb.*.*.*.*.metrics.commands.copydbsaslstart.total
*.*.mongodb.*.*.*.*.metrics.commands.count.failed
*.*.mongodb.*.*.*.*.metrics.commands.count.total
*.*.mongodb.*.*.*.*.metrics.commands.create.failed
*.*.mongodb.*.*.*.*.metrics.commands.create.total
*.*.mongodb.*.*.*.*.metrics.commands.createIndexes.failed
*.*.mongodb.*.*.*.*.metrics.commands.createIndexes.total
*.*.mongodb.*.*.*.*.metrics.commands.createRole.failed
*.*.mongodb.*.*.*.*.metrics.commands.createRole.total
*.*.mongodb.*.*.*.*.metrics.commands.createUser.failed
*.*.mongodb.*.*.*.*.metrics.commands.createUser.total
*.*.mongodb.*.*.*.*.metrics.commands.currentOp.failed
*.*.mongodb.*.*.*.*.metrics.commands.currentOp.total
*.*.mongodb.*.*.*.*.metrics.commands.dataSize.failed
*.*.mongodb.*.*.*.*.metrics.commands.dataSize.total
*.*.mongodb.*.*.*.*.metrics.commands.dbHash.failed
*.*.mongodb.*.*.*.*.metrics.commands.dbHash.total
*.*.mongodb.*.*.*.*.metrics.commands.dbStats.failed
*.*.mongodb.*.*.*.*.metrics.commands.dbStats.total
*.*.mongodb.*.*.*.*.metrics.commands.delete.failed
*.*.mongodb.*.*.*.*.metrics.commands.delete.total
*.*.mongodb.*.*.*.*.metrics.commands.distinct.failed
*.*.mongodb.*.*.*.*.metrics.commands.distinct.total
*.*.mongodb.*.*.*.*.metrics.commands.driverOIDTest.failed
*.*.mongodb.*.*.*.*.metrics.commands.driverOIDTest.total
*.*.mongodb.*.*.*.*.metrics.commands.drop.failed
*.*.mongodb.*.*.*.*.metrics.commands.drop.total
*.*.mongodb.*.*.*.*.metrics.commands.dropAllRolesFromDatabase.failed
*.*.mongodb.*.*.*.*.metrics.commands.dropAllRolesFromDatabase.total
*.*.mongodb.*.*.*.*.metrics.commands.dropAllUsersFromDatabase.failed
*.*.mongodb.*.*.*.*.metrics.commands.dropAllUsersFromDatabase.total
*.*.mongodb.*.*.*.*.metrics.commands.dropDatabase.failed
*.*.mongodb.*.*.*.*.metrics.commands.dropDatabase.total
*.*.mongodb.*.*.*.*.metrics.commands.dropIndexes.failed
*.*.mongodb.*.*.*.*.metrics.commands.dropIndexes.total
*.*.mongodb.*.*.*.*.metrics.commands.dropRole.failed
*.*.mongodb.*.*.*.*.metrics.commands.dropRole.total
*.*.mongodb.*.*.*.*.metrics.commands.dropUser.failed
*.*.mongodb.*.*.*.*.metrics.commands.dropUser.total
*.*.mongodb.*.*.*.*.metrics.commands.endSessions.failed
*.*.mongodb.*.*.*.*.metrics.commands.endSessions.total
*.*.mongodb.*.*.*.*.metrics.commands.eval.failed
*.*.mongodb.*.*.*.*.metrics.commands.eval.total
*.*.mongodb.*.*.*.*.metrics.commands.explain.failed
*.*.mongodb.*.*.*.*.metrics.commands.explain.total
*.*.mongodb.*.*.*.*.metrics.commands.features.failed
*.*.mongodb.*.*.*.*.metrics.commands.features.total
*.*.mongodb.*.*.*.*.metrics.commands.filemd5.failed
*.*.mongodb.*.*.*.*.metrics.commands.filemd5.total
*.*.mongodb.*.*.*.*.metrics.commands.find.failed
*.*.mongodb.*.*.*.*.metrics.commands.find.total
*.*.mongodb.*.*.*.*.metrics.commands.findAndModify.failed
*.*.mongodb.*.*.*.*.metrics.commands.findAndModify.total
*.*.mongodb.*.*.*.*.metrics.commands.forceerror.failed
*.*.mongodb.*.*.*.*.metrics.commands.forceerror.total
*.*.mongodb.*.*.*.*.metrics.commands.fsync.failed
*.*.mongodb.*.*.*.*.metrics.commands.fsync.total
*.*.mongodb.*.*.*.*.metrics.commands.fsyncUnlock.failed
*.*.mongodb.*.*.*.*.metrics.commands.fsyncUnlock.total
*.*.mongodb.*.*.*.*.metrics.commands.geoNear.failed
*.*.mongodb.*.*.*.*.metrics.commands.geoNear.total
*.*.mongodb.*.*.*.*.metrics.commands.geoSearch.failed
*.*.mongodb.*.*.*.*.metrics.commands.geoSearch.total
*.*.mongodb.*.*.*.*.metrics.commands.getCmdLineOpts.failed
*.*.mongodb.*.*.*.*.metrics.commands.getCmdLineOpts.total
*.*.mongodb.*.*.*.*.metrics.commands.getDiagnosticData.failed
*.*.mongodb.*.*.*.*.metrics.commands.getDiagnosticData.total
*.*.mongodb.*.*.*.*.metrics.commands.getLastError.failed
*.*.mongodb.*.*.*.*.metrics.commands.getLastError.total
*.*.mongodb.*.*.*.*.metrics.commands.getLog.failed
*.*.mongodb.*.*.*.*.metrics.commands.getLog.total
*.*.mongodb.*.*.*.*.metrics.commands.getMore.failed
*.*.mongodb.*.*.*.*.metrics.commands.getMore.total
*.*.mongodb.*.*.*.*.metrics.commands.getParameter.failed
*.*.mongodb.*.*.*.*.metrics.commands.getParameter.total
*.*.mongodb.*.*.*.*.metrics.commands.getPrevError.failed
*.*.mongodb.*.*.*.*.metrics.commands.getPrevError.total
*.*.mongodb.*.*.*.*.metrics.commands.getShardMap.failed
*.*.mongodb.*.*.*.*.metrics.commands.getShardMap.total
*.*.mongodb.*.*.*.*.metrics.commands.getShardVersion.failed
*.*.mongodb.*.*.*.*.metrics.commands.getShardVersion.total
*.*.mongodb.*.*.*.*.metrics.commands.getnonce.failed
*.*.mongodb.*.*.*.*.metrics.commands.getnonce.total
*.*.mongodb.*.*.*.*.metrics.commands.grantPrivilegesToRole.failed
*.*.mongodb.*.*.*.*.metrics.commands.grantPrivilegesToRole.total
*.*.mongodb.*.*.*.*.metrics.commands.grantRolesToRole.failed
*.*.mongodb.*.*.*.*.metrics.commands.grantRolesToRole.total
*.*.mongodb.*.*.*.*.metrics.commands.grantRolesToUser.failed
*.*.mongodb.*.*.*.*.metrics.commands.grantRolesToUser.total
*.*.mongodb.*.*.*.*.metrics.commands.group.failed
*.*.mongodb.*.*.*.*.metrics.commands.group.total
*.*.mongodb.*.*.*.*.metrics.commands.handshake.failed
*.*.mongodb.*.*.*.*.metrics.commands.handshake.total
*.*.mongodb.*.*.*.*.metrics.commands.hostInfo.failed
*.*.mongodb.*.*.*.*.metrics.commands.hostInfo.total
*.*.mongodb.*.*.*.*.metrics.commands.insert.failed
*.*.mongodb.*.*.*.*.metrics.commands.insert.total
*.*.mongodb.*.*.*.*.metrics.commands.invalidateUserCache.failed
*.*.mongodb.*.*.*.*.metrics.commands.invalidateUserCache.total
*.*.mongodb.*.*.*.*.metrics.commands.isMaster.failed
*.*.mongodb.*.*.*.*.metrics.commands.isMaster.total
*.*.mongodb.*.*.*.*.metrics.commands.killAllSessions.failed
*.*.mongodb.*.*.*.*.metrics.commands.killAllSessions.total
*.*.mongodb.*.*.*.*.metrics.commands.killAllSessionsByPattern.failed
*.*.mongodb.*.*.*.*.metrics.commands.killAllSessionsByPattern.total
*.*.mongodb.*.*.*.*.metrics.commands.killCursors.failed
*.*.mongodb.*.*.*.*.metrics.commands.killCursors.total
*.*.mongodb.*.*.*.*.metrics.commands.killOp.failed
*.*.mongodb.*.*.*.*.metrics.commands.killOp.total
*.*.mongodb.*.*.*.*.metrics.commands.killSessions.failed
*.*.mongodb.*.*.*.*.metrics.commands.killSessions.total
*.*.mongodb.*.*.*.*.metrics.commands.listCollections.failed
*.*.mongodb.*.*.*.*.metrics.commands.listCollections.total
*.*.mongodb.*.*.*.*.metrics.commands.listCommands.failed
*.*.mongodb.*.*.*.*.metrics.commands.listCommands.total
*.*.mongodb.*.*.*.*.metrics.commands.listDatabases.failed
*.*.mongodb.*.*.*.*.metrics.commands.listDatabases.total
*.*.mongodb.*.*.*.*.metrics.commands.listIndexes.failed
*.*.mongodb.*.*.*.*.metrics.commands.listIndexes.total
*.*.mongodb.*.*.*.*.metrics.commands.lockInfo.failed
*.*.mongodb.*.*.*.*.metrics.commands.lockInfo.total
*.*.mongodb.*.*.*.*.metrics.commands.logRotate.failed
*.*.mongodb.*.*.*.*.metrics.commands.logRotate.total
*.*.mongodb.*.*.*.*.metrics.commands.logout.failed
*.*.mongodb.*.*.*.*.metrics.commands.logout.total
*.*.mongodb.*.*.*.*.metrics.commands.mapReduce.failed
*.*.mongodb.*.*.*.*.metrics.commands.mapReduce.total
*.*.mongodb.*.*.*.*.metrics.commands.mapreduce.shardedfinish.failed
*.*.mongodb.*.*.*.*.metrics.commands.mapreduce.shardedfinish.total
*.*.mongodb.*.*.*.*.metrics.commands.mergeChunks.failed
*.*.mongodb.*.*.*.*.metrics.commands.mergeChunks.total
*.*.mongodb.*.*.*.*.metrics.commands.moveChunk.failed
*.*.mongodb.*.*.*.*.metrics.commands.moveChunk.total
*.*.mongodb.*.*.*.*.metrics.commands.parallelCollectionScan.failed
*.*.mongodb.*.*.*.*.metrics.commands.parallelCollectionScan.total
*.*.mongodb.*.*.*.*.metrics.commands.ping.failed
*.*.mongodb.*.*.*.*.metrics.commands.ping.total
*.*.mongodb.*.*.*.*.metrics.commands.planCacheClear.failed
*.*.mongodb.*.*.*.*.metrics.commands.planCacheClear.total
*.*.mongodb.*.*.*.*.metrics.commands.planCacheClearFilters.failed
*.*.mongodb.*.*.*.*.metrics.commands.planCacheClearFilters.total
*.*.mongodb.*.*.*.*.metrics.commands.planCacheListFilters.failed
*.*.mongodb.*.*.*.*.metrics.commands.planCacheListFilters.total
*.*.mongodb.*.*.*.*.metrics.commands.planCacheListPlans.failed
*.*.mongodb.*.*.*.*.metrics.commands.planCacheListPlans.total
*.*.mongodb.*.*.*.*.metrics.commands.planCacheListQueryShapes.failed
*.*.mongodb.*.*.*.*.metrics.commands.planCacheListQueryShapes.total
*.*.mongodb.*.*.*.*.metrics.commands.planCacheSetFilter.failed
*.*.mongodb.*.*.*.*.metrics.commands.planCacheSetFilter.total
*.*.mongodb.*.*.*.*.metrics.commands.profile.failed
*.*.mongodb.*.*.*.*.metrics.commands.profile.total
*.*.mongodb.*.*.*.*.metrics.commands.reIndex.failed
*.*.mongodb.*.*.*.*.metrics.commands.reIndex.total
*.*.mongodb.*.*.*.*.metrics.commands.refreshSessions.failed
*.*.mongodb.*.*.*.*.metrics.commands.refreshSessions.total
*.*.mongodb.*.*.*.*.metrics.commands.refreshSessionsInternal.failed
*.*.mongodb.*.*.*.*.metrics.commands.refreshSessionsInternal.total
*.*.mongodb.*.*.*.*.metrics.commands.renameCollection.failed
*.*.mongodb.*.*.*.*.metrics.commands.renameCollection.total
*.*.mongodb.*.*.*.*.metrics.commands.repairCursor.failed
*.*.mongodb.*.*.*.*.metrics.commands.repairCursor.total
*.*.mongodb.*.*.*.*.metrics.commands.repairDatabase.failed
*.*.mongodb.*.*.*.*.metrics.commands.repairDatabase.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetAbortPrimaryCatchUp.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetAbortPrimaryCatchUp.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetElect.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetElect.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetFreeze.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetFreeze.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetFresh.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetFresh.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetGetConfig.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetGetConfig.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetGetRBID.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetGetRBID.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetGetStatus.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetGetStatus.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetHeartbeat.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetHeartbeat.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetInitiate.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetInitiate.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetMaintenance.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetMaintenance.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetReconfig.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetReconfig.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetRequestVotes.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetRequestVotes.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetResizeOplog.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetResizeOplog.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetStepDown.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetStepDown.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetStepUp.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetStepUp.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetSyncFrom.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetSyncFrom.total
*.*.mongodb.*.*.*.*.metrics.commands.replSetUpdatePosition.failed
*.*.mongodb.*.*.*.*.metrics.commands.replSetUpdatePosition.total
*.*.mongodb.*.*.*.*.metrics.commands.resetError.failed
*.*.mongodb.*.*.*.*.metrics.commands.resetError.total
*.*.mongodb.*.*.*.*.metrics.commands.resync.failed
*.*.mongodb.*.*.*.*.metrics.commands.resync.total
*.*.mongodb.*.*.*.*.metrics.commands.revokePrivilegesFromRole.failed
*.*.mongodb.*.*.*.*.metrics.commands.revokePrivilegesFromRole.total
*.*.mongodb.*.*.*.*.metrics.commands.revokeRolesFromRole.failed
*.*.mongodb.*.*.*.*.metrics.commands.revokeRolesFromRole.total
*.*.mongodb.*.*.*.*.metrics.commands.revokeRolesFromUser.failed
*.*.mongodb.*.*.*.*.metrics.commands.revokeRolesFromUser.total
*.*.mongodb.*.*.*.*.metrics.commands.rolesInfo.failed
*.*.mongodb.*.*.*.*.metrics.commands.rolesInfo.total
*.*.mongodb.*.*.*.*.metrics.commands.saslContinue.failed
*.*.mongodb.*.*.*.*.metrics.commands.saslContinue.total
*.*.mongodb.*.*.*.*.metrics.commands.saslStart.failed
*.*.mongodb.*.*.*.*.metrics.commands.saslStart.total
*.*.mongodb.*.*.*.*.metrics.commands.serverStatus.failed
*.*.mongodb.*.*.*.*.metrics.commands.serverStatus.total
*.*.mongodb.*.*.*.*.metrics.commands.setFeatureCompatibilityVersion.failed
*.*.mongodb.*.*.*.*.metrics.commands.setFeatureCompatibilityVersion.total
*.*.mongodb.*.*.*.*.metrics.commands.setParameter.failed
*.*.mongodb.*.*.*.*.metrics.commands.setParameter.total
*.*.mongodb.*.*.*.*.metrics.commands.setShardVersion.failed
*.*.mongodb.*.*.*.*.metrics.commands.setShardVersion.total
*.*.mongodb.*.*.*.*.metrics.commands.shardConnPoolStats.failed
*.*.mongodb.*.*.*.*.metrics.commands.shardConnPoolStats.total
*.*.mongodb.*.*.*.*.metrics.commands.shardingState.failed
*.*.mongodb.*.*.*.*.metrics.commands.shardingState.total
*.*.mongodb.*.*.*.*.metrics.commands.shutdown.failed
*.*.mongodb.*.*.*.*.metrics.commands.shutdown.total
*.*.mongodb.*.*.*.*.metrics.commands.splitChunk.failed
*.*.mongodb.*.*.*.*.metrics.commands.splitChunk.total
*.*.mongodb.*.*.*.*.metrics.commands.splitVector.failed
*.*.mongodb.*.*.*.*.metrics.commands.splitVector.total
*.*.mongodb.*.*.*.*.metrics.commands.startSession.failed
*.*.mongodb.*.*.*.*.metrics.commands.startSession.total
*.*.mongodb.*.*.*.*.metrics.commands.top.failed
*.*.mongodb.*.*.*.*.metrics.commands.top.total
*.*.mongodb.*.*.*.*.metrics.commands.touch.failed
*.*.mongodb.*.*.*.*.metrics.commands.touch.total
*.*.mongodb.*.*.*.*.metrics.commands.unsetSharding.failed
*.*.mongodb.*.*.*.*.metrics.commands.unsetSharding.total
*.*.mongodb.*.*.*.*.metrics.commands.update.failed
*.*.mongodb.*.*.*.*.metrics.commands.update.total
*.*.mongodb.*.*.*.*.metrics.commands.updateRole.failed
*.*.mongodb.*.*.*.*.metrics.commands.updateRole.total
*.*.mongodb.*.*.*.*.metrics.commands.updateUser.failed
*.*.mongodb.*.*.*.*.metrics.commands.updateUser.total
*.*.mongodb.*.*.*.*.metrics.commands.usersInfo.failed
*.*.mongodb.*.*.*.*.metrics.commands.usersInfo.total
*.*.mongodb.*.*.*.*.metrics.commands.validate.failed
*.*.mongodb.*.*.*.*.metrics.commands.validate.total
*.*.mongodb.*.*.*.*.metrics.commands.whatsmyuri.failed
*.*.mongodb.*.*.*.*.metrics.commands.whatsmyuri.total
*.*.mongodb.*.*.*.*.metrics.document.deleted
*.*.mongodb.*.*.*.*.metrics.document.inserted
*.*.mongodb.*.*.*.*.metrics.document.returned
*.*.mongodb.*.*.*.*.metrics.document.updated
Error
A document that reports on getLastError
use.
*.*.mongodb.*.*.*.*.metrics.getLastError.wtime.num
*.*.mongodb.*.*.*.*.metrics.getLastError.wtime.totalMillis
*.*.mongodb.*.*.*.*.metrics.getLastError.wtimeouts
Connections
A document that reports on the status of the connections. Use these values to assess the current load and capacity requirements of the server.
*.*.mongodb.*.*.*.*.connections.available
*.*.mongodb.*.*.*.*.connections.current
*.*.mongodb.*.*.*.*.connections.totalCreated
Metrics
A document that returns various statistics that reflect the current use and state of a running mongod instance.
*.*.mongodb.*.*.*.*.metrics.cursor.open.noTimeout
*.*.mongodb.*.*.*.*.metrics.cursor.open.pinned
*.*.mongodb.*.*.*.*.metrics.cursor.open.total
*.*.mongodb.*.*.*.*.metrics.cursor.timedOut
*.*.mongodb.*.*.*.*.metrics.operation.scanAndOrder
*.*.mongodb.*.*.*.*.metrics.operation.writeConflicts
*.*.mongodb.*.*.*.*.metrics.queryExecutor.scanned
*.*.mongodb.*.*.*.*.metrics.queryExecutor.scannedObjects
*.*.mongodb.*.*.*.*.metrics.record.moves
*.*.mongodb.*.*.*.*.metrics.storage.freelist.search.bucketExhausted
*.*.mongodb.*.*.*.*.metrics.storage.freelist.search.requests
*.*.mongodb.*.*.*.*.metrics.storage.freelist.search.scanned
*.*.mongodb.*.*.*.*.metrics.ttl.deletedDocuments
*.*.mongodb.*.*.*.*.metrics.ttl.passes
Operation Counters
A document that reports on database operations by type since the mongod instance last started. These numbers will grow over time until next restart. Analyze these values over time to track database utilization.
*.*.mongodb.*.*.*.*.opcounters.command
*.*.mongodb.*.*.*.*.opcounters.delete
*.*.mongodb.*.*.*.*.opcounters.getmore
*.*.mongodb.*.*.*.*.opcounters.insert
*.*.mongodb.*.*.*.*.opcounters.query
*.*.mongodb.*.*.*.*.opcounters.update
Other
Uncategorized collection of metrics.
*.*.mongodb.*.*.*.*.backgroundFlushing
*.*.mongodb.*.*.*.*.dur
*.*.mongodb.*.*.*.*.extra_info.page_faults
*.*.mongodb.*.*.*.*.indexCounters
*.*.mongodb.*.*.*.*.uptimeMillis
Cloud Foundry Org and Space Guid
The platform operators can enable support on a global level to prefix the Graphite metrics with the CloudFoundry organization and space. This means that all metrics of all service instances (not only yours!) contain that information.
In this case the Graphite metric paths have the following format:
<organization_guid>.<space_guid>.<service_guid>.<service_type>.<host>.<metric>
When you enable in addition the metrics_prefix
for your instance, you will
end up with the metric path format:
<metrics_prefix>.<organization_guid>.<space_guid>.<service_guid>.<service_type>.<host>.<metric>
Add a Syslog Endpoint
The cf update-service
command used with the -c flag can let you stream your syslog to a third-party service. In this case, the command expects a JSON string containing the syslog
key. You can also change the interval for the syslog with the same key than for the graphite endpoint interval
.
cf update-service my-mongodb-service \
-c '{ "syslog": ["logs4.your-syslog-endpoint.com:54321"], "interval": "5" }'
Cloud Foundry Application Security Groups
This topic describes how to check whether a security group was created.
Each a9s Data Service will automatically create and update Cloud Foundry security groups in order to protected service instances to be accessed by applications not running in the same Cloud Foundry applications space. To get a better understanding about Security Groups you can have a look on the Understanding Application Security Groups topic.
Get Service Instance GUID
Run cf service INSTANCE_NAME --guid
to get the guid of the service instance.
$ cf service my-mongodb --guid
ca16f111-5073-40b7-973a-156c75dd3028
Check available Security Groups
To see all available security groups use cf security-groups
.
$ cf security-groups
Getting security groups as demo@anynines.com
OK
Name Organization Space
#0 public_networks
#1 dns
#2 tcp_open
#3 guard_432fb752-876d-443b-a311-a075f4df2237 demonstrations demo
#4 guard_ca16f111-5073-40b7-973a-156c75dd3028 demonstrations demo
There we can see a security group with the named guard_ca16f111-5073-40b7-973a-156c75dd3028
was successfully created.
NOTE: in some circumstances the connection between the application and the service instance is not possible, in this case check if a security group was created.
Backup and Restore Service Instances
a9s MongoDB provides an easy way to create backups and restore if needed. For a more detailed description, please see the a9s Service Dashboard documentation.
Make a Service Instance Locally Available
It is possible to access any of the a9s Data Services locally. That means you can connect with a local client to the service for any purpose such as debugging. CF provides a smart way to create SSH forward tunnels via a pushed application. For more information about this feature see the Accessing Apps with SSH section of the CF documentation.
First of all you must have an application bound to the service. How to do this see Bind an Application to a Service Instance.
NOTE: cf ssh
support must be enabled in the platform. Ask your administrator if you are not sure.
Get The Service Url and Credentials
When you follow this instructions Obtain Service Instance Access Credentials you will get the hostname of the service and the user credentials.
$ cf env a9s-mongodb-app
Getting env variables for app a9s-mongodb-app in org test / space test as admin...
OK
System-Provided:
{
"VCAP_SERVICES": {
"a9s-mongodb": [
{
"credentials": {
"host": [
"d67901c.service.dc1.a9svs"
],
"password": "a9s-brk-usr",
"username": "a9s-password"
},
"label": "a9s-mongodb",
"name": "my-mongodb-service",
"plan": "mongodb-cluster-small"
}
]
}
}
...
Notice the host d67901c.service.dc1.a9svs
, the username a9s-brk-usr
and the password a9s-password
. You will need this in the next step.
Create a Tunnel to The Service
With the cf ssh
as mentioned before you can create a ssh forward tunnel to the management dashboard.
Use port 27017 to connect to the a9s MongoDB Instance.
$ cf ssh a9s-mongodb-app -L 27017:d67901c.service.dc1.a9svs:27017
vcap@956aaf4e-6da9-4f69-4b1d-8e631a403312:~$
When the ssh tunnel is open you can access the instance over the address localhost:27017
.
NOTE: Don't forget to close the session with exit
.
Service keys
To gain access to the service manually rather than binding apps to it you can use service keys.
Creating a service key
To create a key to the service instance mongodb1
call mykey
run:
cf create-service-key mongodb1 mykey
Listing service keys
To list all the keys for the mongodb1
service instance run this:
cf service-keys mongodb1
Accessing service keys
To obtain the key mykey
from the mongodb1
service instance run:
cf service-key mongodb1 mykey
Deleting service keys
To delete a service key mykey
from the service instance mongodb1
run:
cf delete-service-key mongodb1 mykey
Default Roles
All users, upon creation, are granted the following roles on the default database:
Role | Type | Description |
---|---|---|
collectionModifierRole | Custom role | Grants the user the collMod and compact privileges. |
readWrite | Built-in | Grants the user both read and write privileges. |
Creating a Fork of a Service Instance
The procedure of forking a service instance involves creating a backup of a service instance, modifying the backup a bit, and restoring it to a different service instance. This can also be used to migrate to a newer MongoDB version. For a migration, it is recommended to make sure that no new data is written into MongoDB during the procedure (e.g. stop the app bound to it prior to starting with these steps).
For this process you will need a service instance you want to fork, and a new
service instance(s) you want to fork to. For help creating new service instances
look at the Create a Service Instance section. You
can get a list of all of your a9s-mongodb
service instances by running the
following:
cf s | grep a9s-mongodb
The output should be a table of your a9s-mongodb
instances:
mongodb1 a9s-mongodb34 mongodb-nano create succeeded
mongodb2 a9s-mongodb34 mongodb-nano create succeeded
In this guide we will be forking from mongodb1
to mongodb2
.
Now, you have established which service instances you will be operating on, you will need service keys. For information on creating, obtaining and managing service keys see the Service keys section.
The next thing to do is to log into the service instance dashboard to set the
encryption password (if it hasn't already been set and create a backup. To find
your dashboard URL, for the instance you want to fork from (mongodb1
in this
example), run this:
cf service mongodb1 | grep -E '^|dashboard:.*' --color='always'
Then log into the dashboard using your Cloud Foundry credentials.
Make sure you set a encryption password for the backups using the service
instance dashboard (Change Backup Settings
). Create a backup using the
dashboard. Download the backup to your local machine. The filename will be
something like racsd92baee-1522222422893
.
Decrypt the backup and write its contents to a file:
cat racsd92baee-1522222422893 | openssl enc -aes256 -md md5 -d -pass 'pass:mytopsecretpassword' | gunzip -c > backup.gz
Note: In case you are not able to download the backup using the a9s Dashboard, you must contact the platform operator.
For the next steps you will need the MongoDB tools. You can install them by following the official MongoDB installation manual.
To upload the backup to the new fork service instance you will need to create a tunnel, for port 27017, using and app bound to the new service instance. As you are creating a new instance, that you likely don't want connected to production until it has the data, its advisable to deploy a small demo app for tunneling through (you can dispose of it later). A small app can be found here https://github.com/anynines/simple_node_mongo_example , you will need to edit the manifest, then follow the section Make a Service Instance Locally Available.
To run the restore you will need the credentials for the service instance that will become a fork. In this example the credentials can be found like this:
cf service-key mongodb2 mykey
Then carry out the restore.
Single
For the MongoDB restoration it is required use the mongorestore
program.
For information on restoration commands see the Official MongoDB documentation.
Summary:
<original-default_database>
- It is the name of the previous database present at the backup. Noteworthy, if you do not have the name of the database, it is necessary to contact the platform operator.<default_database>
- It is the name of the current database when the backup will be restored.<backup.gz>
- Backup dump previously downloaded, decrypted, and uncompressed.
mongorestore --uri="mongodb://<username>:<password>@localhost:27017/<default_database>" \
--gzip --archive=<backup.gz> --nsInclude='<original-default_database>.*' \
--nsFrom='<original-default_database>.*' --nsTo='<default_database>.*'
Example:
mongorestore --uri="mongodb://a9s-brk-usr-733e61a812ea27627f991d91f4a6b48db5631294:a9se1d35f1466318718cb508be4856d33631fd8c4b9@localhost:27018/mod94cfad" \
--gzip --archive=/tmp/mydump.gz --nsInclude='mod3ce8d.*' --nsFrom='mod3ce8d.*' --nsTo='mod94cfad.*'
If this is an SSL instance, remember to add the SSL options:
mongorestore --uri="mongodb://<username>:<password>@localhost:27017/<db-name>" \
--gzip --archive=<backup.gz> --nsInclude='<original-default_database>.*' \
--nsFrom='<original-default_database>.*' --nsTo='<default_database>.*' --ssl \
--sslAllowInvalidCertificates
For information on restoration commands see the Official MongoDB documentation.
Cluster
For restoring a cluster, it is necessary contact the platform operator.
Creating Local Copy of the Data
For creating a local copy of the data, you can follow these steps at Creating Local Copy of the Data.
Setup Disk Usage Alerts
Each service comes with the a9s Parachute. This component monitors ephemeral and persistent disk usage. See the a9s Parachute documentation how to configure the component.
Enable AppDynamics support
This feature is disabled by default. You can ask your operator to enable this feature for your service instance. When enabled, any user created in the MongoDB instance will have the required privileges as described here.
Any service binding (cf bind-service
) created before AppDynamics support was enabled will have to be re-created (execute cf unbind-service
followed by cf bind-service
). This is due to the fact the CloudFoundry currently does not support implementing logic that will automate this process.