检查MK语法以使python添加新主机

2024-04-18 13:17:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Check_MK,我试图实现一个python脚本,通过cfengine运行来自动添加新安装的主机。 我在使用pycurl或running和external curl时遇到了一些问题。在

我希望能够pycurl的命令示例如下:

curl“http://10.20.30.40/mysite/check_mk/webapi.py?action=add_host&_username=autouser&_secret=mysecret”-d'request={“attributes”:{“alias”:“winxp的别名1”,“tag_agent”:“cmk agent”,“tag_critivity”:“prod”,“ipaddress”:“127.0.0.1”},“hostname”:“winxp_1”,“folder”:“os/windows”}'

从航站楼开始这一切都很好

但是我无法在python脚本中找到正确的语法来使其工作。在

谢谢你的帮助。在


Tags: 命令脚本http示例checktagcurlrunning
2条回答

和丹尼尔一样,但有变量:

url = "/mysite/check_mk/webapi.py"

request_url = "%s%s?action=add_host&_username=%s&_secret=%s" % ( check_mk_host, url, check_mk_username, check_mk_password )

request_data = {}

request_data['attributes'] = {}

request_data['attributes']['tag_agent'] = 'cmk-agent'

request_data['hostname'] = vm

request_data['folder'] = "/Auto"

request_data = json.dumps(request_data)

data = "request=%s" % request_data

br = mechanize.Browser()

br.open(mechanize.Request(request_url, data=data))

这对我有用。在

注意:用户必须存在。“文件夹”必须存在;我在示例中放入“/”。在

import urllib2

req = urllib2.Request("http://localhost/mysite/check_mk/webapi.py?action=add_host&_username=autouser&_secret=mysecret",
             headers = {"Content-Type": "application/x-www-form-urlencoded"},
             data = 'request={"attributes":{"alias": "Alias of winxp_1", "tag_agent": "cmk-agent", "tag_criticality": "prod", "ipaddress": "127.0.0.1"}, "hostname": "winxp_1", "folder": "/"}')

f = urllib2.urlopen(req)

对不起我的英语。在

相关问题 更多 >