Splunk Python 连接丢失
Splunk Python Connection Lost
我正在使用 python 执行 splunk 搜索查询并 return 结果。我连接以下字符串:
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
它 return 是这个错误:
Request Failed: Session is not logged in
大约 50% 的时间,代码可以正常工作并执行。代码结果中的这种不一致是否对实际上未连接到 splunk 服务器的 service =
行代码造成的?这些连接会超时吗?
connect
可以采用 autologin=True
参数以允许绑定在身份验证失败时尝试重新连接,而不是立即引发该错误。
可能您应该使用 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
我正在使用 python 执行 splunk 搜索查询并 return 结果。我连接以下字符串:
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
它 return 是这个错误:
Request Failed: Session is not logged in
大约 50% 的时间,代码可以正常工作并执行。代码结果中的这种不一致是否对实际上未连接到 splunk 服务器的 service =
行代码造成的?这些连接会超时吗?
connect
可以采用 autologin=True
参数以允许绑定在身份验证失败时尝试重新连接,而不是立即引发该错误。
可能您应该使用 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