UIM mongodb probe Failed to collect data for monitor MONGO/MongoDB Cluster/Roles/ReplicationMaster
search cancel

UIM mongodb probe Failed to collect data for monitor MONGO/MongoDB Cluster/Roles/ReplicationMaster

book

Article ID: 387325

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM) CA Unified Infrastructure Management On-Premise (Nimsoft / UIM) CA Unified Infrastructure Management SaaS (Nimsoft / UIM)

Issue/Introduction

We are setting up the mongodb probe and continue receiving alerts "Failed to collect data for monitor 'MONGO/MongoDB Cluster/Roles/ReplicationMaster:27270/R-MSTR:27270/ReplicaSetStatus/R-MSTR:27270/Member:[<FQDN>:27270].RepSetStatusState'. Updated value will not be available.: Inventory lookup failed for parent of '"ESC:ReplicaSetStatus:MONGO::cidMongoDB"

The server this shows up on is <example_server1> and not the referenced <example_server2>.  The ports setup on <example_server2> are also different than the 27270 referenced.  It does make a successful connection:  "Sent NimQoS QOS_MONGO_REPSET_STATUS_STATE D, source=MONGO, target=MongoDB Cluster/Roles/ReplicationSlave:27267/R-SLV:27267/ReplicaSetStatus/R-SLV:27267/Member:[<FQDN>:27267], measuretime=1738245715658, value=2.0, stdev=0.0 and received confirmation id ZC21938496-65816"

Error in mongodb_monitor.log:

Jan 30 11:10:11:298 [Data Collector - MONGO, mongodb_monitor] java.io.IOException: Cannot run program "mongo": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at com.nimsoft.custom.probe.MongoDBMonitor.MongoDBProcessMgr.execAndReadOneLine(MongoDBProcessMgr.java:104)
    at com.nimsoft.custom.probe.MongoDBMonitor.MongoDBProcessMgr.getProductVersion(MongoDBProcessMgr.java:71)
    at com.nimsoft.custom.probe.MongoDBMonitor.MongoDBController.handleCheck(MongoDBController.java:392)
    at com.nimsoft.custom.probe.common.MonitorProbe.Controller.handleCheck(Controller.java:259)
    at com.nimsoft.custom.probe.MongoDBMonitor.MongoDBMonitorInventory.collectMongoDBInventory(MongoDBMonitorInventory.java:74)
    at com.nimsoft.custom.probe.MongoDBMonitor.MongoDBMonitorProbe.getUpdatedInventory(MongoDBMonitorProbe.java:235)
    at com.nimsoft.probe.framework.genprobe.GenInventory.update(GenInventory.java:117)
    at com.nimsoft.probe.framework.genprobe.GenSession.updateInventory(GenSession.java:145)
    at com.nimsoft.probe.common.ctd.CtdSession.doInventoryUpdate(CtdSession.java:258)
    at com.nimsoft.probe.framework.genprobe.GenProbeDataCollector.executeSessionUpdateInventory(GenProbeDataCollector.java:59)
    at com.nimsoft.probe.common.ctd.ProbeDataCollector.execute(ProbeDataCollector.java:218)
    at com.nimsoft.probe.framework.genprobe.GenProbeDataCollector.execute(GenProbeDataCollector.java:36)
    at com.nimsoft.vm.collector.DataCollector.run(DataCollector.java:151)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:750)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 20 more

Environment

  • UIM Version: 23.4.1 CU1
  • mongodb probe version: 3.01
  • RHEL 7, RHEL8
  • Mongo DB version 6.0.14

Cause

  • configuration - needed to add correct ports

Resolution

The probe tries to find MongoDB on popular ports. For example, ports 27017, 27018, 27019, 27020, 27021, 30000.

If different port(s) are in use, you must add a port(s) to this list by using GUI probe utility "add ports" call as follows: 

1. Highlight/select the mongodb probe in Infrastructure Manager or Admin Console

2. Press CTRL+P in IM to open the probe utility, or choose "Probe Utility" from the menu in Admin Console

3. Using the probe utility you can execute "add_ports" and provide the ports you want to add, and this will add this port to the list of ports the probe checks.