All Apps and Add-ons
Highlighted

Splunk DB Connect app cannot establish connection to Teradata

Explorer

Having trouble establishing connection to Teradata with Splunk DBX v 3.3.0.
Using
JDK v1.8.0_131
Teradata JDBC driver v16.20

terajdbc4.jar saved in /Applications/Splunk/etc/apps/splunkappdbconnect/drivers
tdgssconfig.jar saved in /Applications/Splunk/etc/apps/splunk
appdbconnect/drivers/terajdbc4-libs

/Applications/Splunk/etc/apps/splunkappdbconnect/local/**dbconnections.conf** has below settings populated from identities and connections setup.

[SplunkTD]
connection
type = teradata
database = js255063
disabled = 0
host = host.teradata.com
identity = SPlunktoTD
jdbcUseSSL = false
localTimezoneConversionEnabled = false
port = 1025
readonly = false
timezone = Australia/Sydney
customizedJdbcUrl =


When trying to save above connections setting I get error

2020-04-22 13:08:22.479 +1000  [dw-59 - POST /api/connections/status] ERROR io.dropwizard.jersey.errors.LoggingExceptionMapper - Error handling a request: ddf18f64885b8955
java.lang.NullPointerException: null
    at com.splunk.dbx.connector.logger.AuditLogger.replace(AuditLogger.java:50)
    at com.splunk.dbx.connector.logger.AuditLogger.error(AuditLogger.java:44)
    at com.splunk.dbx.server.api.service.database.impl.DatabaseMetadataServiceImpl.getStatus(DatabaseMetadataServiceImpl.java:159)
    at com.splunk.dbx.server.api.service.database.impl.DatabaseMetadataServiceImpl.getConnectionStatus(DatabaseMetadataServiceImpl.java:116)
    at com.splunk.dbx.server.api.resource.ConnectionResource.getConnectionStatusOfEntity(ConnectionResource.java:72)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
...
0 Karma
Highlighted

Re: Splunk DB Connect app cannot establish connection to Teradata

Motivator

Hello @jssun, can you post the full error message? Run-time java error messages should be read from the bottom up.

0 Karma
Highlighted

Re: Splunk DB Connect app cannot establish connection to Teradata

Explorer

hi @PavelP i have played around for a few hours so the error id has changed but its still the same error msg. thanks for helping!

2020-04-22 17:50:55.039 +1000  [Checkpoint-Cleaner-0] INFO  c.s.d.s.m.CheckpointCleaner$CheckpointCleanerTask - action=start_checkpoint_cleaner_task
2020-04-22 17:50:55.039 +1000  [Checkpoint-Cleaner-0] INFO  c.s.d.s.m.CheckpointCleaner$CheckpointCleanerTask - action=checkpoint_files_to_be_deleted []
2020-04-22 18:35:00.922 +1000  [dw-87 - POST /api/drivers/reload] WARN  com.splunk.dbx.service.driver.DriverServiceImpl - action=load_drivers Can not load any driver from files [/Applications/Splunk/etc/apps/splunk_app_db_connect/drivers/terajdbc4-libs/tdgssconfig.jar]
2020-04-22 18:35:00.927 +1000  [dw-87 - POST /api/drivers/reload] INFO  com.splunk.dbx.service.driver.DriverServiceImpl - action=load_drivers multiple version drivers exist, 2 drivers found.
2020-04-22 18:35:00.927 +1000  [dw-87 - POST /api/drivers/reload] INFO  com.splunk.dbx.service.driver.DriverServiceImpl -    driver name is com.splunk.dbx.service.driver.DelegatingDriver, select version 15.0, loaded from file terajdbc4.jar
2020-04-22 18:35:00.927 +1000  [dw-87 - POST /api/drivers/reload] INFO  com.splunk.dbx.service.driver.DriverServiceImpl - action=load_drivers spent 7 ms to rescan all jdbc drivers
2020-04-22 18:35:10.603 +1000  [dw-87 - POST /api/connections/status] ERROR io.dropwizard.jersey.errors.LoggingExceptionMapper - Error handling a request: 848e7ca9d5927871
java.lang.NullPointerException: null
    at com.splunk.dbx.connector.logger.AuditLogger.replace(AuditLogger.java:50)
    at com.splunk.dbx.connector.logger.AuditLogger.error(AuditLogger.java:44)
    at com.splunk.dbx.server.api.service.database.impl.DatabaseMetadataServiceImpl.getStatus(DatabaseMetadataServiceImpl.java:159)
    at com.splunk.dbx.server.api.service.database.impl.DatabaseMetadataServiceImpl.getConnectionStatus(DatabaseMetadataServiceImpl.java:116)
    at com.splunk.dbx.server.api.resource.ConnectionResource.getConnectionStatusOfEntity(ConnectionResource.java:72)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:392)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:365)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:318)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
    at io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:50)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
    at io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:35)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
    at io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:47)
    at io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:41)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
    at com.splunk.dbx.server.api.filter.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:30)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:249)
    at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:52)
    at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:717)
    at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:54)
    at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.Server.handle(Server.java:500)
    at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
    at java.lang.Thread.run(Thread.java:748)
MUSJS255063-202:splunk js255063$
0 Karma
Highlighted

Re: Splunk DB Connect app cannot establish connection to Teradata

Motivator

are you on MAC? Check permissions, make sure splunk can read/load the driver and restart splunk
The error message is: Can not load any driver from files /Applications/Splunk/etc/apps/splunkappdb_connect/drivers/terajdbc4-libs/tdgssconfig.jar

0 Karma
Highlighted

Re: Splunk DB Connect app cannot establish connection to Teradata

Explorer

Hi @PavelP thanks for helping out.

I figured out the problem eventually. The teradata jdbc drivers have 2 .jar files, the tdgssconfig.jar does not actually contain any drivers, thats why there was a WARN msg and not an error msg. the next INFO msg says multiple versions of drivers found, and thats because in the terajdbc4.jar there are 2 driver files one in the 'ncr' folder one in the 'teradata' folder. the next INFO msg says it loaded the driver in the 'teradata' folder, which is the correct thing to do.

The actual problem had nothing to do with this frustratingly, it was because in creating identities i had wrongly entered my splunk admin user details instead of the teradata user details, I noticed this once I switched to DEBUG on my log.

View solution in original post

0 Karma
Speak Up for Splunk Careers!

We want to better understand the impact Splunk experience and expertise has has on individuals' careers, and help highlight the growing demand for Splunk skills.