如何在Splunk中搜索特定于日期范围的内容-就我而言,日期修饰符不适用于splunk rest API-服务/搜索/工作/导出?

时间:2019-08-30 00:21:27

标签: json rest splunk splunk-query

我已经编写了python代码以从splunk下载数据,以进行给定的搜索和给定的日期范围,但看来日期范围不起作用-我可以看到输入的日期之外的日志。

这是我的代码段:

def download_binary_file(self, url_path, output_file_path, auth, data):
       self.logger.debug("Entering DatacenterSplunk.download_binary_file() for dc " + self.datacenter)
       print("Writing logs to file: " + output_file_path)
       try:
           s = requests.Session()
           r = s.post(url_path, auth=auth, data=data, stream=True, verify=self.verify_cert)
           r.raise_for_status()
           with open(output_file_path, 'wb') as f:
               for chunk in r.iter_content(chunk_size=512):
                   if chunk:
                       f.write(chunk)
               f.close()
       except Exception as e:
           self.logger.error("Exception encountered in DatacenterSplunk.download_binary_file():" + str(e))
           self._handle_exception(e)
       self.logger.debug("Leaving DatacenterSplunk.download_binary_file() for dc " + self.datacenter)

这是我要传递的网址和数据,

URL : https://example-zone-ms.compnay.com:8089/services/search/jobs/export
data= {'search': 'search source=*FOO_access* http_apikey | fields - host,source,sourcetype, splunk_server, _time, index, _serial', 'output_mode': 'csv', 'earliest': '08/22/2019:0:0:0', 'latest': '08/22/2019:23:59:59'}

除了日期范围问题外,它都能正常工作,无论输入的日期范围如何,我总是会得到最近7天的日志。对于这个范围 最早= 08/22/2019:0:0:0 -d最新= 08/23/2019:0:0:0 我可以从8月29日到8月22日

1 个答案:

答案 0 :(得分:0)

您可以在搜索字符串中包括最早的和最新的字符串,而无需包括-d

data= {'search': 'search source=*FOO_access* http_apikey | fields - host,source,sourcetype, splunk_server, _time, index, _serial earliest=08/22/2019:0:0:0 latest=08/23/2019:0:0:0', 'output_mode': 'csv'}

或者,如果您想将其作为参数传递,则可以使用以下

data= {'search': 'search source=*FOO_access* http_apikey | fields - host,source,sourcetype, splunk_server, _time, index, _serial" 'earliest_time': "08/22/2019:0:0:0", 'latest_time': "08/23/2019:0:0:0", 'output_mode': 'csv'}