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):

  1. MongoDB API provider.
  2. Active commands by using the MongoDB shell:
  3. Directory listing (if <db_path> is set for the parent SI).
  4. Database name extraction from the _mdb_catalog.wt file.
  5. 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.

Important

Modeling System Queues and Channels can be enabled in the configuration section of the pattern. It is disabled by default.

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.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*