MongoDB Cluster Connectivity Test

This test auto-discovers the nodes on each shard in the target cluster and periodically checks the availability of the target cluster, verifies network connectivity to the node, and also measures the connection time. In addition, the test also emulates a MongoDB API call to a specified collection on the node for retrieving documents from it; in the process, the test reports collection availability and the time taken to read documents. This way, the test alerts administrators to the non-availability and poor responsiveness of the server, and also points them to where exactly the bottleneck is.

Target of the test : A MongoDB Cluster

Agent deploying the test : An external agent

Outputs of the test : One set of results for each node in the shard on the target cluster being monitored.

Configurable parameters for the test
Parameter

Description

Test period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port number at which the specified host listens.

Cluster Node IPs

By default, the eG agent connects to any of the available nodes in the target MongoDB cluster to collect the required metrics. Therefore, in the Cluster Node IPs text box, provide a comma-separated list of all the nodes in the target cluster. By default, this parameter is set to none. This parameter should be specified in the following format: HOSTNAME1:PORT1,HOSTNAME2:PORT2,.... For example, you can configure this parameter as: ac-zcguoqj-shard-00-00.e5ahzxy.mongodb.net:27017,ac-zcguoqj-shard-00-01.e5ahzxy.mongodb.net:27017.

Database Name

The test connects to a specific Mongo Cluster to run API commands and pull metrics of interest. Specify the name of a database on the target MongoDB Cluster database server being monitored The default value of this parameter is admin.

Username and Password

The eG agent has to be configured with the credentials of a user who has the required privileges to monitor the target MongoDB cluster, if the MongoDB instance is access control enabled. To know how to create such a user, refer to How to Monitor Access Control Enabled MongoDB Database? If the target MongoDB instance is not access control enabled, then, specify none against the Username and Password parameters.

Confirm Password

Confirm the password by retyping it here.

Authentication Mechanism

Typically, the MongoDB supports multiple authentication mechanisms that users can use to verify their identity. In environments where multiple authentication mechanisms are used, this test enables the users to select the authentication mechanism of their interest using Authentication Mechanism list box. By default, this is set to none. However, you can modify this settings as per the requirement.

SSL

By default, the SSL flag is set to No, indicating that the target MongoDB Cluster server is not SSL-enabled by default. To enable the test to connect to an SSL-enabled MongoDB Cluster server, set the SSL flag to Yes.

CA Cert File

The certificate file is a public-key certificate following the x.509 standard. It contains information about the identity of the server, such as its name, geolocation, and public key. Each nodes of the target cluster can have individual certificate files or a single certificate can be used to access all the nodes in the cluster. Essentially, it’s a certificate that the server serves to the connecting users to prove that they are what they claim to be. Therefore, specify the full path to the server root certificate or certificate file that is signed by the CA in .crt file format for all/each node in the CA Cert File text box. For example, the location of this file may be: C:\app\eGurkha\JRE\lib\security\mongodb-test-ca.crt. By default, this parameter is set to none.

This parameter specification differs according to the type of cluster and configuration:

  • If the certificate file is available for each node of the MongoDB Cluster then, provide a comma-seperated list of full path to the certificates in CA Cert File text box:

    For example:C:\app\eGurkha\JRE\lib\security\mongodb-test-ca.crt,C:\app\eGurkha\JRE\lib\security\mongodb-test-ca2.crt,C:\app\eGurkha\JRE\lib\security\mongodb-test-ca3.crt

  • Specify the full path to the certificate file of the target MongoDB cluster if a single certificate is used to access all nodes.

    For example: C:\app\eGurkha\JRE\lib\security\mongodb-test-ca.crt

Client Cert File

In order to collect metrics from the target MongoDB cluster, the eG agent requires client certificate in .p12 format. Hence, specify the full path to the Client certificate file in .p12 format in the Client Cert File text box. For example, the location of this file may be: C:\app\eGurkha\JRE\lib\security\test-client.p12 . To know how to generate .p12 file from Client PEM file, refer to How to Import a Certificate that is in the PEM Format? By default, this parameter is set to none.

Client Cert Password

Provide the password for .p12 Client certificate file in the Client Cert Password text box.

RS Node Cert Info

By default, the this parameter is set to none. This indicates that the test will report metrics for all the nodes in the cluster. However, you should specify this parameter with a comma-seperated list of the nodes in the cluster, provided, separate certificate file is required to access each node of the MongoDB cluster. The format of this configuration is: HOSTNAME1:PORT1,HOSTNAME2:PORT2,...

For example: 192.168.0.1:27011,192.168.0.2:27012,192.168.0.2:27013

Note:

The nodes should be listed in the same order corresponding to the list of certificates specified against CA Cert File.

Report Manager Time

By default, this flag is set to Yes, indicating that, by default, the detailed diagnosis of this test, if enabled, will report the shutdown and reboot times of the device in the manager's time zone.

If this flag is set to No, then the shutdown and reboot times are shown in the time zone of the system where the agent is running(i.e., the system being managed for agent-based monitoring, and the system on which the remote agent is running - for agentless monitoring).

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Connection Availability

Indicates whether the database connection to this node is available or not.

Percent

If this measure reports the value 100, it indicates that the database connection is available. The value 0, on the other hand indicates that the database connection is unavailable. A connection to the database may be unavailable if the database is down or if the database is listening on a port other than the one configured for it in the eG manager or owing to a poor network link. If the Node availability measure report the value 0, then, you can check the value of this measure to determine whether/not it is due to the unavailability of a connection to the server.

For the Summary descriptor, this measure will reports the value 100, if any one of the node in the cluster is available.

Connection Response Time

Indicates the time taken to connect to the cluster node.

Seconds

A high value could indicate a connection bottleneck. Whenever the Server response time of the measure soars, you may want to check the value of this measure to determine whether connection latency is causing the poor responsiveness of the server.

For the Summary descriptor, this measure will report the average response time for all the nodes in the cluster.

Collection availability

Indicates whether/not the collection is available on this node.

Percent

If this measure reports the value 100, it indicates that the collection name is available. The value 0 on the other hand indicates that the collection is unavailable.

Collection response time

Indicates the time taken to read documents from the collection on this node.

Seconds

A high value could indicate an I/O bottleneck on the server. If the Server response time measure is unusually high, you may want to check the value of this measure to figure out if a bottleneck when reading from a collection is impacting responsiveness.

Number of documents

Indicates the number of documents fetched from the collections on this node.

Number

 

Average connection response time

Indicates the average time taken by the cluster to respond to a query.

Seconds

A sudden increase in response time is indicative of a potential performance bottleneck on the database cluster.