Splunk 自定义警报 Python 问题
Splunk custom alert Python issue
我正在运行以下代码(称为caa_fiel_write.py)将我的splunk结果输出到JSON文件:
import sys, json, urllib2
def write_file(settings):
f = open('myfile','w')
f.write("%s"%json.dumps(settings))
f.close()
if __name__ == "__main__":
caa_config = json.loads(sys.stdin.read())
write_file(caa_config)
我收到以下错误:
文件“/opt/sdg/splunk/etc/apps/SDG/bin/caa_file_write.py”,第 7 行,位于
caa_config = json.loads(sys.stdin.read())
文件“/opt/sdg/splunk/lib/python2.7/json/__init__.py”,第 339 行,加载
return _default_decoder.decode(s)
文件“/opt/sdg/splunk/lib/python2.7/json/decoder.py”,第 364 行,解码中
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
文件“/opt/sdg/splunk/lib/python2.7/json/decoder.py”,第 382 行,在 raw_decode
提高 ValueError("No JSON object could be decoded")
ValueError:无法解码 JSON 对象
来自 __init__.py 的第 339 行是:
return _default_decoder.decode(s)
decoder.py 中的第 364 行和第 382 行是:
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
...
raise ValueError("No JSON object could be decoded")
我不确定为什么它首先调用解码器,它应该是编码。 __init__.py 和 decoder.py 都是标准的 Splunk python 文件,可通过任何发行版获得。
这些错误是什么以及如何修复它们?
json.loads(sys.stdin.read())
是解码标准输入。您的输入无效 JSON.
我正在运行以下代码(称为caa_fiel_write.py)将我的splunk结果输出到JSON文件:
import sys, json, urllib2
def write_file(settings):
f = open('myfile','w')
f.write("%s"%json.dumps(settings))
f.close()
if __name__ == "__main__":
caa_config = json.loads(sys.stdin.read())
write_file(caa_config)
我收到以下错误:
文件“/opt/sdg/splunk/etc/apps/SDG/bin/caa_file_write.py”,第 7 行,位于 caa_config = json.loads(sys.stdin.read())
文件“/opt/sdg/splunk/lib/python2.7/json/__init__.py”,第 339 行,加载 return _default_decoder.decode(s)
文件“/opt/sdg/splunk/lib/python2.7/json/decoder.py”,第 364 行,解码中 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
文件“/opt/sdg/splunk/lib/python2.7/json/decoder.py”,第 382 行,在 raw_decode 提高 ValueError("No JSON object could be decoded")
ValueError:无法解码 JSON 对象
来自 __init__.py 的第 339 行是:
return _default_decoder.decode(s)
decoder.py 中的第 364 行和第 382 行是:
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
...
raise ValueError("No JSON object could be decoded")
我不确定为什么它首先调用解码器,它应该是编码。 __init__.py 和 decoder.py 都是标准的 Splunk python 文件,可通过任何发行版获得。
这些错误是什么以及如何修复它们?
json.loads(sys.stdin.read())
是解码标准输入。您的输入无效 JSON.