我使用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服务器的吗?这些连接可以超时吗?
发布于 2017-01-04 06:45:36
也许您应该使用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.contenthttps://stackoverflow.com/questions/35634107
复制相似问题