我如何知道 Splunk REST API 基本 URL?

Sat*_*ati 4 rest splunk

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

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

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

我已经通过了链接和休息终点为这里

从上面的链接我知道了

我需要使用用户名和密码向 services/auth/login 发出 post 请求。这将返回会话密钥,该密钥将用于进一步的 API 调用。

必须向服务/搜索/工作发出发布请求以创建搜索。这将返回搜索 ID。

我需要检查 services/search/jobs/ 以完成搜索。

如果搜索完成,那么我可以使用 services/search/jobs//results 检索结果。

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

任何帮助表示赞赏。谢谢

Hap*_*ppy 6

我之前也有同样的问题。那么这里有一个解决方法来找出REST API Base URL. 事实上,我偶然发现了这个解决方案。

  • 在 Firefox 浏览器中,打开Web Developer/Network工具,检查本地计算机和 Splunk 服务器之间的 URL
  • 通过 Web 界面登录 Splunk
  • 我们假设您事先已经完成了搜索,因此应该Job已经在服务器上存储了一个。然后,我们点击窗口右上角的Activity/Jobs链接
  • 将列出一份工作清单。选择任何职位,点击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

顶部的秘密是:在URL之前/services/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>
Run Code Online (Sandbox Code Playgroud)

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

祝你好运。