我如何知道 Splunk REST API Base URL?

How do I know Splunk REST API Base URL?

我们在 https://splunkit.corp.company.com 中部署了 Splunk(url 已修改)。

并能够访问 https://splunkit.corp.company.com/en-US/app/launcher/home 上的 Splunk Web 主页(url 已修改)。

我正在构建一个仪表板应用程序,它使用 Splunk REST 服务提供的 JSON 数据。

我已经完成了link and rest end points as here

从上面的链接我知道了

I need to make post request to services/auth/login with username and password. This returns session key which will be used in further API calls.

Have to make post request to services/search/jobs to create a search. This returns search id.

I need to check services/search/jobs/ for search complete.

If search complete Then I can retrieve results using services/search/jobs//results.

我面临的问题是我不知道基础是什么URL。我尝试构建 https://splunkit.corp.company.com/en-US/services/auth/login 等但没有工作。

感谢任何帮助。谢谢

我之前也有同样的问题。好吧,这是找出 REST API Base URL 的解决方法。其实我是无意中找到这个解决方案的。

  • 在 Firefox 浏览器中,打开 Web Developer / Network 工具,检查本地计算机和 Splunk 服务器之间的 URLs
  • 通过 Web 界面登录 Splunk
  • 我们假设您事先完成了搜索,因此服务器上应该已经存储了一个 Job。然后,我们点击window
  • 右上方位置的Activity/Jobslink
  • 将列出一份工作清单。选择任意职位,点击Job / Delete Job按钮,职位搜索结果将被删除。
  • Web Developer工具中,删除作业时检查URL

对我来说,URL 看起来像:

https://the-company-splunk-server.com/en-US/splunkd/__raw/services/search/jobs/scheduler_search_RMD554b7a649e94cdf69_at_1526886000_58534?output_mode=json

最高秘密是:/services/之前的URL是REST API Base URL。在这种情况下,基数 URL 是:

https://the-company-splunk-server.com/en-US/splunkd/__raw/services/

测试基地 URl

我们可以尝试使用 Base URL 登录 CURL:

curl --insecure https://the-company-splunk-server.com/en-US/splunkd/__raw/services/auth/login -d username=your-user -d password=your-password

我们得到以下结果:

<response>
<sessionKey>kq6gkXO_dFcJzJG2XpwZs1IwfhH8MkkYDaBsZrPxZh8</sessionKey>
</response>

所以测试成功。我们已经证明基础 URL 有效。

祝你好运。