python - 通过 API 在 Splunk 中创建搜索查询(python 代码)
问题描述
我正在尝试通过 API 在 splunk 中进行搜索查询。我在https://docs.splunk.com/Documentation/Splunk/8.0.4/RESTTUT/RESTsearches上找到了参考代码。我尝试在 jupyter notebook 上运行代码。
但它给出了连接被拒绝的错误。
代码:
from __future__ import print_function
from future import standard_library
standard_library.install_aliases()
import urllib.request, urllib.parse, urllib.error
import httplib2
from xml.dom import minidom
baseurl = 'https://localhost:8089'
userName = 'username'
password = 'password'
searchQuery = '| inputcsv foo.csv | where sourcetype=access_common | head 5'
# Authenticate with server.
# Disable SSL cert validation. Splunk certs are self-signed.
serverContent = httplib2.Http(disable_ssl_certificate_validation=True).request(baseurl + '/services/auth/login','POST', headers={}, body=urllib.parse.urlencode({'username':userName, 'password':password}))[1]
sessionKey = minidom.parseString(serverContent).getElementsByTagName('sessionKey') [0].childNodes[0].nodeValue
# Remove leading and trailing whitespace from the search
searchQuery = searchQuery.strip()
# If the query doesn't already start with the 'search' operator or another
# generating command (e.g. "| inputcsv"), then prepend "search " to it.
if not (searchQuery.startswith('search') or searchQuery.startswith("|")):
searchQuery = 'search ' + searchQuery
print(searchQuery)
# Run the search.
# Again, disable SSL cert validation.
print(httplib2.Http(disable_ssl_certificate_validation=True).request(baseurl + '/services/search/jobs','POST',
headers={'Authorization': 'Splunk %s' % sessionKey},body=urllib.parse.urlencode({'search': searchQuery}))[1]) '''
错误:
ConnectionRefusedError: [Errno 111] Connection refused
任何帮助将不胜感激。
解决方案
ConnectionRefusedError: [Errno 111] Connection refused
当您的脚本无法创建到服务器的 TCP 连接时抛出。您能否确认使用telnet
该服务器正在运行并允许在端口上进行连接8089
。这看起来不像是 HTTP 或权限问题,错误是堆栈中较低的东西。
推荐阅读
- mysql - SQL Where 子句查询另一个表
- java - javax.xml.bind.annotation 的注释在 payara 5 jdk 11 上不起作用
- ruby-on-rails - 无法调用应用。对“curl 'http://localhost:3564/' -s --fail 2>&1”的错误请求 derailed_benchmarks gem
- aframe - 查找 a-frame/a-marker 的附加子对象
- python-3.x - python和pycharm中的相对导入
- database - 如何在 MongoDB 中执行高级子文档查询?
- spring-cloud-stream - Spring Cloud SFTP 接收器
- mysql - Laravel 中的 Schema::disableForeignKeyConstraints 如何为 MySQL 工作?
- java - 对Java中的参数和构造函数感到困惑
- python - Rasa init 给出错误“无法加载本机 TensorFlow 运行时”