All Apps and Add-ons

Hunk App for MongoDB: Why can't I connect to MongoDB and get NoClassDefFoundError?

infraview
Engager

Hi,

I've installed the Hunk MongoDB App to connect to my local mongoDB (v. 3.0.6), created a provider for it and a virtual index for one of my collections. If I try to search for the index I get the following error message: [local-mongodb] Error while running external process, return_code=1.
So I've checked the search.log and found a NoClassDefFound Error:

10-06-2015 13:55:33.855 ERROR ERP.local-mongodb - Error: A JNI error has occurred, please check your installation and try again
10-06-2015 13:55:33.856 ERROR ERP.local-mongodb - Exception in thread "main" java.lang.NoClassDefFoundError: com/splunk> > >/util/WildcardList
>10-06-2015 13:55:33.856 ERROR ERP.local-mongodb - at java.lang.Class.getDeclaredMethods0(Native Method)
>10-06-2015 13:55:33.856 ERROR ERP.local-mongodb - at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
>10-06-2015 13:55:33.856 ERROR ERP.local-mongodb - at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
>10-06-2015 13:55:33.856 ERROR ERP.local-mongodb - at java.lang.Class.getMethod0(Class.java:3018)
>10-06-2015 13:55:33.856 ERROR ERP.local-mongodb - at java.lang.Class.getMethod(Class.java:1784)
>10-06-2015 13:55:33.857 ERROR ERP.local-mongodb - at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
>10-06-2015 13:55:33.857 ERROR ERP.local-mongodb - at >sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
>10-06-2015 13:55:33.857 ERROR ERP.local-mongodb - Caused by: java.lang.ClassNotFoundException: com.splunk.util.WildcardList
>10-06-2015 13:55:33.857 ERROR ERP.local-mongodb - at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>10-06-2015 13:55:33.857 ERROR ERP.local-mongodb - at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>10-06-2015 13:55:33.857 ERROR ERP.local-mongodb - at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
>10-06-2015 13:55:33.858 ERROR ERP.local-mongodb - at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>10-06-2015 13:55:33.858 ERROR ERP.local-mongodb - ... 7 more

My config looks like this:
[Provider]
Name: local-mongodb
Additional Settings:
vix.commmand /usr/java/latest/bin/java
vix.command.arg.1 -Xmx512m
vix.command.arg.2 -classpath
vix.command.arg.4 com.splunk.erp.mongodb.MongoDBERP
vix.mode stream
vix.mongodb.host localhost:27017

[Virtual index]
Name: status_threatstatus
Provider: local-mongodb
Path to data in HDFS*: (why should I put something here?)

Settings:
vix.mongodb.collection threatStatus
vix.mongodb.db status
vix.mongodb.field.time _id
vix.mongodb.field.time.format ObjectId

I have no authentication and other clients have no problem to connect to the mongo. What can I do to solve this issue?

Greets Tobias

Tags (1)
1 Solution

rdagan_splunk
Splunk Employee
Splunk Employee

If you are using Hunk 6.3 try this:
go to /opt/splunk/etc/apps/MongoDB/default -> indexes.conf

Modify this line:
Old
vix.command.arg.3 = $SPLUNK_HOME/bin/jars/SplunkMR-s6.0-h1.0.jar:$SPLUNK_HOME/etc/apps/MongoDBApp/bin/hunk_mongodb_app.jar:$SPLUNK_HOME/etc/apps/MongoDBApp/bin/lib/*
vix.command.arg.4 = com.splunk.erp.mongodb.MongoDBERP

New
vix.command.arg.3 = $SPLUNK_HOME/bin/jars/SplunkMR-h1.jar:$SPLUNK_HOME/etc/apps/MongoDBApp/bin/hunk_mongodb_app.jar:$SPLUNK_HOME/etc/apps/MongoDBApp/bin/lib/*
vix.command.arg.4 = com.splunk.erp.mongodb.MongoDBERP

View solution in original post

rdagan_splunk
Splunk Employee
Splunk Employee

If you are using Hunk 6.3 try this:
go to /opt/splunk/etc/apps/MongoDB/default -> indexes.conf

Modify this line:
Old
vix.command.arg.3 = $SPLUNK_HOME/bin/jars/SplunkMR-s6.0-h1.0.jar:$SPLUNK_HOME/etc/apps/MongoDBApp/bin/hunk_mongodb_app.jar:$SPLUNK_HOME/etc/apps/MongoDBApp/bin/lib/*
vix.command.arg.4 = com.splunk.erp.mongodb.MongoDBERP

New
vix.command.arg.3 = $SPLUNK_HOME/bin/jars/SplunkMR-h1.jar:$SPLUNK_HOME/etc/apps/MongoDBApp/bin/hunk_mongodb_app.jar:$SPLUNK_HOME/etc/apps/MongoDBApp/bin/lib/*
vix.command.arg.4 = com.splunk.erp.mongodb.MongoDBERP

naisanza
Path Finder

YES. This was it.

0 Karma

hgehrts_splunk
Splunk Employee
Splunk Employee

yep, helped me as well. With no restart.

0 Karma

RyanR100
Engager

Thanks this helped me too. Note - I did not edit the indexes.conf directly, but updated the the provider settings by going to Settings - > Virtual Indexes -> "local-mongodb". I added the vix.command.arg.3 setting through the GUI and was able to connect to MongoDB.

0 Karma

infraview
Engager

Thank you, that worked 🙂

0 Karma
Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...