python调用zabbixapi接口_python3 + zabbix api 的使用
喜歡需要理由嗎?需要嗎?當(dāng)然需要,zabbix的那么多功能足以讓你喜歡她,現(xiàn)在還有zabbix API,zabbix真讓我瘋了,太牛逼了,太讓人喜歡了。有zabbix API我們可以做很多,自己開(kāi)發(fā)web界面、開(kāi)發(fā)手機(jī)端zabbix、獲取zabbix指定數(shù)據(jù)、創(chuàng)建zabbix監(jiān)控項(xiàng)等等。
zabbix API開(kāi)發(fā)庫(kù)
zabbix API請(qǐng)求和響應(yīng)都是json,并且還提供了各種語(yǔ)法的lib庫(kù),http://zabbix.org/wiki/Docs/api/libraries,包含php、c#、Python、Perl、go等等語(yǔ)言,使用非常方便。
請(qǐng)求zabbix API
post json數(shù)據(jù)到api接口地址,例如你的zabbix地址是http://company.com/zabbix,那么你的接口地址是:http://company.com/zabbix/api_jsonrpc.php,必須包含content-type頭,值為application/json-rpc,?application/json?or?application/jsonrequest之一。
zabbix API登陸
獲取auth token(登陸)
在操作zabbix之前,我們必須先登陸zabbix,得到token,以后的操作帶著這個(gè)token即可,要不然肯定沒(méi)權(quán)限。
#!/usr/bin/env python
# Version = 3.5.2
# __auth__ = '無(wú)名小妖'
import json
from urllib import request, parse
ZABBIX_URL = 'http://alyz.xxxxxxx.com'
ZABBIX_USERNAME = "admin"
ZABBIX_PASSWORD = "xxxxxx"
url = "{}/api_jsonrpc.php".format(ZABBIX_URL)
header = {"Content-Type": "application/json"}
# auth user and password
data = {
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": ZABBIX_USERNAME,
"password": ZABBIX_PASSWORD
},
"id": 1,
}
# 由于API接收的是json字符串,故需要轉(zhuǎn)化一下
value = json.dumps(data).encode('utf-8')
# 對(duì)請(qǐng)求進(jìn)行包裝
req = request.Request(url, headers=header, data=value)
# 驗(yàn)證并獲取Auth ID
try:
# 打開(kāi)包裝過(guò)的url
result = request.urlopen(req)
except Exception as e:
print("Auth Failed, Please Check Your Name And Password:", e)
else:
response = result.read()
# 上面獲取的是bytes類型數(shù)據(jù),故需要decode轉(zhuǎn)化成字符串
page = response.decode('utf-8')
# 將此json字符串轉(zhuǎn)化為python字典
page = json.loads(page)
result.close()
print("Auth Successful. The Auth ID Is: {}".format(page.get('result')))
輸出:Auth Successful. The Auth ID Is: 3c5ed7eadecc3761e7b541426a461921
附:
python3 中 urllib 的用法: ?http://www.cnblogs.com/wumingxiaoyao/p/7478573.html
總結(jié)
以上是生活随笔為你收集整理的python调用zabbixapi接口_python3 + zabbix api 的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sql left join用法_一张图看
- 下一篇: windows时间同步软件_有没有好用的