使用 API 导出 Splunk 数据

Splunk data export using API

我想通过 rest 从 Splunk 导出数据 API,我一直在想是否有一个好的“Splunk 导出”解决方案可以帮助我将查询 output/result 发送到第三方应用在rest API

的帮助下

我创建了以下 Splunk 查询,现在我想定期将我的以下查询的输出导出到第三方应用程序,我有该应用程序的 API 详细信息

index=main| timechart avg(page)

例如API:

https://webhook.site/66e9b123-ee72-4621-98bb-4ab23a46d1e8

如果需要,很乐意澄清更多细节。

此外,我为此检查了 Splunk 官方文档,他们在其中建议了一种通过 CURL 命令使用的解决方案,如果我使用 curl,我该如何定期安排 运行:

'''curl -k -u admin:changeme
https://localhost:8089/services/search/jobs/ -d search="search sourcetype=access_* earliest=-7d"'''

如果您需要定期导出结果,您可以在 Splunk 中安排搜索,然后使用 search/jobs 端点从 REST API 检索结果。

从已保存的搜索中获取结果

curl -k -u USERMNAME https://MY_SPLUNK_HOST:8089/servicesNS/USERMNAME/YOUR_SPLUNK_APP/search/jobs/export -d search=" savedsearch YOUR_SAVED_SEARCH"

另一种方法是每次 运行 您的 SPL 搜索并从 /search 端点检索数据:

发出调用,获取SID

curl -k -u USERMNAME https://MY_SPLUNK_HOST:8089/services/search/jobs/ -d search="search index=MY_INDEX earliest=-15m"

检查状态,查看搜索作业是否完成

curl -u USERMNAME -k https://MY_SPLUNK_HOST:8089/services/search/jobs/160.obfuscated

获取结果

curl -u USERMNAME -k https://MY_SPLUNK_HOST:8089/services/search/jobs/160.obfuscated/results/ --get -d output_mode=json