如何我可以写一个 shell 脚本提交作业在splunk和等待作业要完成和后下载csv文件从splunk

du7egjpx  于 2023-01-26  发布在  Shell
关注(0)|答案(1)|浏览(129)

我正在运行下面的shell脚本命令来提交作业在splunk中,在第一个curl命令执行后,在splunk用户界面上需要一些时间(不是常数)来完成作业,然后只有报告。csv文件将准备在splunk上下载。我已经给了3600 s的睡眠,但一些时间比这需要更多。我如何才能实现这一点。
代码####### #!/bin/bash
作业ID = curl -sS -k -u username:password https://XXXXX.splunkcloud.com:8098/XXXXXjobs/ -d search="search index="prod" source="*log*" earliest=-1d@d latest=-0d@d | timechart count span=1s | sort - count | head 1"
作业ID =${sid#*}
作业ID = echo $sid | cut -d"<" -f1
睡眠3600
curl -sS -k -u用户名:密码https://XXXXX.splunkcloud.com:8098/XXXXX/jobs/$jobid/results?output_mode=csv&count=0"〉report.csv
我试着把睡眠更多的时间,但问题是在splunk用户界面上一段时间后,作业将被最近的作业覆盖,所以唯一的方法来实现它,下载文件,尽快在splunk上完成作业。

yftpprvb

yftpprvb1#

使用splunk REST API

curl --location --request POST 'https://splunkhost:8389/services/search/jobs' \
--header 'Authorization: Basic XXXXXXX' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'search=search index="test" | table *' \
--data-urlencode 'exec_mode=oneshot' \
--data-urlencode 'output_mode=json'

更多详细信息-https://docs.splunk.com/Documentation/Splunk/9.0.3/RESTREF/RESTsearch#search.2Fjobs

相关问题