0

我正在尝试使用 Java SDK 连接 Splunk,但出现连接拒绝异常。

     Map<String, Object> connectionArgs = new HashMap<String, Object>();
     connectionArgs.put("host", "mydomain.com");
     connectionArgs.put("username", "admin");
     connectionArgs.put("password", "passxxx");
     connectionArgs.put("port", 8089);
     connectionArgs.put("scheme", "https");
     Service splunkService = Service.connect(connectionArgs); 

当我使用带有上述 url i、e、https: //mydomain.com 的浏览器时,我可以使用上述凭据登录,但通过 Java sdk 我无法连接。我调试了代码,在 HttpService.java 类中,URL 被构造为 https://mydomain.com:8089/services/auth/login

我不明白为什么 URL 是这样构造的。请帮助我尽早解决问题。谢谢

4

2 回答 2

0

SPLUNK SDK 有一些讨厌的错误。尝试通过 BASH 使用 CURL 从 SPLUNK Rest API 获取数据。它看起来很复杂,但效果很好。您将加快开发和调试时间。

以下代码段运行良好:

SPLUNK_API="https://splunk.you.de:8089/services/search"
curl -s -k -u user:password $SPLUNK_API/jobs -d output_mode=csv --data-urlencode 'search=search  sourcetype="tomcat-access.log"  RC>0  | timechart avg(runtime) by xyz ' -d earliest_time=$START_TIME -d latest_time=$END_TIME -d exec_mode=oneshot -o splunk-responsetime.csv
于 2013-11-19T15:42:02.330 回答
0

我不明白为什么 URL 是这样构造的。

好吧,这是因为Service.login(String username, String password)splunk.jar 中的方法将其作为硬编码:

ResponseMessage response = post("/services/auth/login", args);

如果你想更改 URL,你应该从这里下载 splunk SDK ,更改 URL,创建一个 jar 并在你的项目中使用它。

或者

您可以创建自己的类来扩展Service类,然后覆盖您想要的方法。

于 2016-04-19T20:23:13.437 回答