Splunk AppDynamics

Database using windows authentication - failing

luizpolli
Engager

Hello appd experts,

I've installed a db agent collector using windows authentication as per image below to connect to MS SQL Server.

luizpolli_0-1742303221865.png

When starting the dbagent collector facing the issue below:

18 Mar 2025 14:02:14,194 ERROR [DBAgent-4] ADBMonitorConfigResolver: - [SQL_MES_TEST] Failed to resolve DB topological structure.
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:84b24ba8-aae7-4084-a050-0de9e2f2ffea
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:3145) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:72) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3937) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:85) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3926) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7375) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3200) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2707) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2356) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2207) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1270) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:861) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at java.sql.DriverManager.getConnection(DriverManager.java:682) ~[java.sql:?]
        at java.sql.DriverManager.getConnection(DriverManager.java:191) ~[java.sql:?]
        at com.singularity.ee.agent.dbagent.collector.db.relational.DriverManager.getConnection(DriverManager.java:58) ~[db-agent.jar:Database Agent v25.1.0.4748 GA compatible with 4.5.2.0 Build Date  2025-01-23]
        at com.singularity.ee.agent.dbagent.collector.db.relational.DriverManager.getConnectionWithEvents(DriverManager.java:74) ~[db-agent.jar:Database Agent v25.1.0.4748 GA compatible with 4.5.2.0 Build Date  2025-01-23]
        at com.appdynamics.dbmon.dbagent.task.resolver.ARelationalDBMonitorConfigResolver.initConnection(ARelationalDBMonitorConfigResolver.java:150) ~[db-agent.jar:Database Agent v25.1.0.4748 GA compatible with 4.5.2.0 Build Date  2025-01-23]
        at com.appdynamics.dbmon.dbagent.task.resolver.MSSQLDBMonitorConfigResolver.resolveTopology(MSSQLDBMonitorConfigResolver.java:118) ~[db-agent.jar:Database Agent v25.1.0.4748 GA compatible with 4.5.2.0 Build Date  2025-01-23]
        at com.appdynamics.dbmon.dbagent.task.resolver.ADBMonitorConfigResolver.resolveTopologicalStructure(ADBMonitorConfigResolver.java:124) ~[db-agent.jar:Database Agent v25.1.0.4748 GA compatible with 4.5.2.0 Build Date  2025-01-23]
        at com.appdynamics.dbmon.dbagent.task.resolver.ADBMonitorConfigResolver.run(ADBMonitorConfigResolver.java:205) ~[db-agent.jar:Database Agent v25.1.0.4748 GA compatible with 4.5.2.0 Build Date  2025-01-23]
        at com.singularity.ee.util.javaspecific.scheduler.AgentScheduledExecutorServiceImpl$SafeRunnable.run(AgentScheduledExecutorServiceImpl.java:122) ~[agent-25.1.0-1223.jar:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
        at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask$Sync.innerRunAndReset(ADFutureTask.java:335) ~[agent-25.1.0-1223.jar:?]
        at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask.runAndReset(ADFutureTask.java:152) ~[agent-25.1.0-1223.jar:?]
        at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ADScheduledFutureTask.access$101(ADScheduledThreadPoolExecutor.java:128) ~[agent-25.1.0-1223.jar:?]
        at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ADScheduledFutureTask.runPeriodic(ADScheduledThreadPoolExecutor.java:215) ~[agent-25.1.0-1223.jar:?]
        at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ADScheduledFutureTask.run(ADScheduledThreadPoolExecutor.java:253) ~[agent-25.1.0-1223.jar:?]
        at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.runTask(ADThreadPoolExecutor.java:694) ~[agent-25.1.0-1223.jar:?]
        at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.run(ADThreadPoolExecutor.java:726) ~[agent-25.1.0-1223.jar:?]
        at java.lang.Thread.run(Thread.java:1575) ~[?:?]
Caused by: java.lang.UnsatisfiedLinkError: no mssql-jdbc_auth-8.4.0.x64 in java.library.path: C:\dbagent\db-agent-25.1.0.4748\auth\x64
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2442) ~[?:?]
        at java.lang.Runtime.loadLibrary0(Runtime.java:916) ~[?:?]
        at java.lang.System.loadLibrary(System.java:2066) ~[?:?]
        at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:51) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3936) ~[mssql-jdbc-8.4.0.jre8.jar:?]
        ... 27 more

I tried to use the latest dll file(below) from microsoft site within auth\x64 directory. It won't help either.

mssql-jdbc_auth-12.8.1.x64.dll

Any ideas how to solve this issue? If I use a credential as username and password works fine.

The idea here is the customer only wants to create one user for all hosts(servers) using windows authentication. Not creating one user for each server. Imagine to create this user to all servers with different applications.

Labels (1)
Tags (1)
0 Karma

fsoengen
Engager

Hi @luizpolli,

just to make sure, did you follow all the steps lined out in the documentation?

Especially, adding the java.library.path system property when starting database agent:

java -Djava.library.path="C:\dbagent_install_dir\auth\x64" -jar db-agent.jar

https://docs.appdynamics.com/appd/24.x/25.3/en/database-visibility/add-database-collectors/configure...

Best,
Franz

Edit: I somehow didn't notice the no mssql-jdbc_auth-8.4.0.x64 in java.library.path: C:\dbagent\db-agent-25.1.0.4748\auth\x64 error message. Seems like this is set up already.

0 Karma

luizpolli
Engager

Hello @fsoengen ,

I'm using start-dbagent script to start. And in the starting script it's included the java.library.path path. See the log below.

26 Mar 2025 10:35:12,187  INFO [main] Agent: - JVM Args : --add-opens=java.base/java.lang=ALL-UNNAMED | --add-opens=java.base/java.security=ALL-UNNAMED | -XX:+HeapDumpOnOutOfMemoryError | -XX:OnOutOfMemoryError=taskkill /F /PID %p | -Djava.library.path=C:\dbagent\db-agent-25.1.0.4748\auth\x64 | -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector | -Ddbagent.name=database_agent |

 

Thanks,
Luiz Polli

0 Karma

luizpolli
Engager

Hi @livehybrid

I tried to use the version 8.4 and the same. 😞

Luiz

0 Karma

livehybrid
Champion

Hi @luizpolli 

The java process is specifically looking for mssql-jdbc_auth-8.4.0.x64.dll rather than the higher version you have, I would suggest downloading and installing the specific 8.4.0 version of the DLL as I believe this should resolve the issue.

Please let me know how you get on and consider adding karma to this or any other answer if it has helped.
Regards

Will

0 Karma

luizpolli
Engager

Hi @livehybrid

I tried to use the version 8.4 and the same issue. 😞

Luiz

0 Karma
Get Updates on the Splunk Community!

Say goodbye to manually analyzing phishing and malware threats with Splunk Attack ...

In today’s evolving threat landscape, we understand you’re constantly bombarded with phishing and malware ...

AppDynamics is now part of Splunk Ideas

Hello Splunkers, We have exciting news for you! AppDynamics has been added to the Splunk Ideas Portal. Which ...

Advanced Splunk Data Management Strategies

Join us on Wednesday, May 14, 2025, at 11 AM PDT / 2 PM EDT for an exclusive Tech Talk that delves into ...