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
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.