MongoDB Extended Discovery
Overview
The 10genMongoDB_DBDetails pattern performs a deep discovery of the MongoDB database server configuration, models Databases, and creates the respective relationships between them and the MongoDB Software Instance.
Trigger
The 10genMongoDB_DBDetails pattern triggers the creation or confirmation of a MongoDB Server, MongoDB Config Server, or MongoDB Shard Server software instances.
Listening ports
The port is inherited from the triggering SoftwareInstance.
Modeling databases
Databases are modeled as Database nodes of the parent SoftwareInstance. The pattern attempts to retrieve the list of databases by using the following methods (if one method fails, then the following one in sequence is tried):
- MongoDB API provider.
- Active commands by using the MongoDB shell:
- Directory listing (if <db_path> is set for the parent SI).
- Database name extraction from the _mdb_catalog.wt file.
- Database name extraction from the WiredTiger.wt file.
The following table describes the attributes returned:
Modeled attribute | Description |
---|---|
type | "MongoDB Database" |
name | "MongoDB Database <Database name>" |
short_name | Database name |
instance | Database name |
logical_database_type | "MongoDB Database" |
Modeling local queues
Local queues are modeled as Detail nodes of the either IBM WebSphere MQ Series Queue Manager SoftwareInstance (for normal local queues or queue aliases) or the Channel Detail node of the IBM WebSphere MQ Series Queue Manager SoftwareInstance (for local queues of the transmission type).
The IBM_WebSphereMQExtendedDiscovery pattern retrieves the list of local queues from the runmqsc.exe application located in the bin folder of the install root using the following commands:
- On Windows:
- echo end|echo dis ql(*) all| "%install_root%\\bin\\runmqsc.exe" <MQ_INSTANCE>
- echo end|echo dis qa(*) all| "%install_root%\\bin\\runmqsc.exe" <MQ_INSTANCE>
- On UNIX:
- echo 'end'|echo 'dis ql(*) all'| %install_root%/bin/runmqsc <MQ_INSTANCE>
- echo 'end'|echo 'dis qa(*) all'| %install_root%/bin/runmqsc <MQ_INSTANCE>
The following table describes the attributes returned by the command and the regular expressions that are used to retrieve their values:
Modeled attribute | Regular expression |
---|---|
name | ^([^\)]+) |
cluster relation | CLUSTER\(([^\)]+)\) |
type* | USAGE\(([^\)]+)\) |
transmission queue | XMITQ\(([^\)]+)\) |
remote QM name | RQMNAME\(([^\)]+)\) |
max message length | MAXMSGL\(([^\) ]+)\) |
max message depth | MAXDEPTH\(([^\) ]+)\) |
The type is identified for all Local Queues except Queue Aliases by looking for either "normal" or "transmission" substring in the resulting string.
Modeling remote queues
Remote queues are modeled as Detail nodes of the Channel node that has them registered.
The IBM_WebSphereMQExtendedDiscovery pattern retrieves the list of remote queues from the runmqsc.exe application located in the bin folder of the install root using the following commands:
- On Windows:
- echo end|echo dis qr(*) all| "%install_root%\\bin\\runmqsc.exe" <MQ_INSTANCE>
- On UNIX:
- echo 'end'|echo 'dis qr(*) all'| %install_root%/bin/runmqsc <MQ_INSTANCE>
The following table describes the attributes returned by the command and the regular expressions that are used to retrieve their values:
Modeled attribute | Description | Value examples | Regular expression |
---|---|---|---|
name | Queue name | REM.INVENTQ | QUEUE\(([^\)]+)\) |
name of the queue on remote QM | Name of the queue on remote QM | LOCAL.INVENTORY | RNAME\(([^\)]+)\) |
remote QM name | Remote QM name | LONDON | RQMNAME\(([^\)]+)\) |
transmission queue name | Related transmission queue | PUNEQ | XMITQ\(([^\)]+)\) |
Relationship creation
The pattern creates a containment relationship with the parent MongoDB Software Instance for every database.