风中的指引 2019-08-20 09:51 采纳率: 100%
浏览 855
已采纳

我用python splunk-sdk 写的脚本查询splunk数据,建立一个oneshort查询,为什么最多只返回100条数据

如题有没有大神能帮帮看下是为什么?
最近公司要从splunk调数据放到自己的解析系统里,然后发现python有个splunk-sdk,但是编写脚本创建oneshort查询时发现,search_query里写到head n,n>100的时候也返回100条数据

脚本如下:

#!/usr/bin/env python
#_*_encoding:utf-8_*_
import splunklib.client as client
import splunklib.results as results
from datetime import datetime, timedelta
import os
import ssl
import time

ssl._create_default_https_context = ssl._create_unverified_context
HOST="127.0.0.1"#splunk服务器地址
PORT=8089#端口
USERNAME="splunk"#登录名
PASSWORD="12345678"#密码


#设置查询语句
search_query='search  sourcetype=ttm | head 200'

#定义查询起始日期和结束日期
end_time=datetime.now() #当前时间
start_time=end_time - timedelta(minutes=5) #当前时间-5分钟

#flume读取文件路径
basedir='/root/ezdata/ezlog/'
#files,先写入temp文件,然后重命名成flows
tempfile=os.path.join(basedir,'domain.temp')
flows=end_time.strftime("%Y%m%d%H%M%S")+'.flows'
flowsfile=os.path.join(basedir,flows)

def main():
    #连接splunk
    service = client.connect(host=HOST,
                             port=PORT,
                             username=USERNAME,
                             password=PASSWORD,
                             app='search',verify=False)
    assert isinstance(service, client.Service)

    #查询参数
    search_kwargs={
                   'earliest_time':datetime.strftime(start_time, "%Y-%m-%dT%H:%M:%S.%f")[:-3]+'+08:00',
                   'latest_time':datetime.strftime(end_time, "%Y-%m-%dT%H:%M:%S.%f")[:-3]+'+08:00'
                   }

    jobs=service.jobs
    #执行查询语句
    print("正在查询...")
    job=jobs.oneshot(search_query,**search_kwargs)
    #将结果写入本地文件中
    with open(tempfile,'w+') as fh:
       for result in results.ResultsReader(job):
           fh.write(str(result['_raw']))
           fh.write("\n")
    os.rename(tempfile,flowsfile)
    print("执行成功...")

main()

有没有人能帮忙看看

  • 写回答

2条回答 默认 最新

  • zqbnqsdsmd 2019-08-21 15:21
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动
  • ¥15 大一C语言期末考试,求帮助🙏🙏
  • ¥15 ch340驱动未分配COM
  • ¥15 Converting circular structure to JSON
  • ¥30 Hyper-v虚拟机相关问题,求解答。
  • ¥15 TSM320F2808PZA芯片 Bootloader
  • ¥45 谷歌浏览器出现开发者工具无法显示已创建的,但您可以调试已部署的代码。 状态代码 404, net::ERR HTTP RESPONSE CODE FAILURE
  • ¥15 如何解决蓝牙通话音频突发失真问题
  • ¥15 安装opengauss数据库报错