您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)python如何通過(guò)zabbix api獲取主機(jī)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
zabbix強(qiáng)大地方在于有強(qiáng)大的api,zabbix 的api可以拿到zabbix大部分?jǐn)?shù)據(jù),目前我所需的數(shù)據(jù)基本可以通過(guò)api獲取,以下是通過(guò)zabbix api獲取的主機(jī)信息python代碼,其他數(shù)據(jù)也如此類推,api使用方法可參見(jiàn)官網(wǎng)文檔:
#!/usr/bin/env python #-*- coding: utf-8 -*- import json import urllib2 from urllib2 import URLError from login import zabbix_login t=zabbix_login() def hostid_get(): data = json.dumps( { "jsonrpc": "2.0", "method": "host.get", "params": { "output": "extend", "groupids":14, "filter":{"flags": "4" }, }, "auth":t.user_login(), "id": 1, }) request = urllib2.Request(t.url, data) for key in t.header: request.add_header(key, t.header[key]) try: result = urllib2.urlopen(request) except URLError as e: if hasattr(e, 'reason'): print 'zabbix server is faile' print 'Reason: ', e.reason elif hasattr(e, 'code'): print 'zabbix server not request.' print 'Error code: ', e.code else: response = json.loads(result.read()) result.close() hostid=[] hostname=[] for host in response['result']: hostid.append(host['hostid']) hostname.append(host['name']) return hostid,hostname if __name__ == "__main__": a,b=hostid_get() i=0 n=len(b) for i in range(n): print a[i],b[i]
python常用的庫(kù):1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
感謝各位的閱讀!關(guān)于“python如何通過(guò)zabbix api獲取主機(jī)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。