Splunk Python连接丢失

时间:2016-02-25 17:23:58

标签: python splunk

我使用python执行splunk搜索查询并返回结果。我用以下字符串连接:

service = client.connect(
    host=HOST,
    port=PORT,
    username=USERNAME,
    password=PASSWORD
)

变量已经过测试工作,它连接到splunk,但有时,当我运行这些代码行时:

print "Installed App Names \n"
for app in service.apps:
    print app.name

它返回此错误:

Request Failed: Session is not logged in

大约50%的时间,代码可以正常运行。代码结果中的这种不一致是否与service =代码行没有实际连接到splunk服务器?这些连接可以超时吗?

2 个答案:

答案 0 :(得分:2)

RETURN NULL可以使用NULL参数来允许绑定在身份验证失败时尝试重新连接,而不是立即引发该错误。

答案 1 :(得分:0)

可能你应该使用python代码获取splunk的标记和会话ID。如果这可以帮到您,请找到以下代码。

import json,os,sys,requests
BASE_URL = "https://SPLUNKLB / SPLUNK WEB URL"

def getToken():
# body for token request
payload = {'username': "",'password': ""}
TOKEN_URL = "/services/auth/login?output_mode=json"
# post token request
res = requests.post(BASE_URL+TOKEN_URL, data=payload, verify=False)
if (res.status_code == 200):
# Get token out of response
resJson = json.loads(res.content)
return resJson.get('sessionKey')
else:
print res.status_code, res.content