獲取zabbix上所有主機的IP和主機名的實例代碼
zabbix
zabbix([`zæbiks])是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。
zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運營;并提供靈活的通知機制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。
zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對遠程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺上。
下面通過代碼給大家介紹獲取zabbix上所有主機的IP和主機名,代碼如下所示:
#coding:utf-8 #獲取zabbix上所有主機的IP和主機名 import requests import json import csv import time def get_token(): data = { "jsonrpc": "2.0", "method": "user.login", "params": { "user": username, "password": password }, "id": 0 } r = requests.get(zaurl, headers=header, data=json.dumps(data)) auth = json.loads(r.text) return auth["result"] def getHosts(token): data = { "jsonrpc": "2.0", "method": "host.get", "params": { "output": [ "hostid", "host" ], "selectInterfaces": [ "interfaceid", "ip" ] }, "id": 2, "auth": token, } request = requests.post(zaurl, headers=header, data=json.dumps(data)) dict = json.loads(request.content) # print (dict["result"]) return dict["result"] if __name__ == "__main__": zaurl="http://xx.xx.xx.xx/zabbix/api_jsonrpc.php" header = {"Content-Type": "application/json"} username = "xx" password = "xx" token = get_token() hostlist = getHosts(token) datafile = "zabbix.txt" fdata = open(datafile,"w") for i in hostlist: hostid = i["hostid"] hostip = i["host"] fdata.write(hostip + " " + hostid + "\n") fdata.close()
總結(jié)
以上所述是小編給大家介紹的獲取zabbix上所有主機的IP和主機名的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章:
1. Nginx主機域名配置實現(xiàn)2. zabbix v3.0安裝部署全過程詳解3. zabbix通過percona插件監(jiān)控mysql的方法4. 在centos7安裝zabbix3.0的超詳細(xì)步驟記錄5. 利用zabbix監(jiān)控ogg進程(Linux平臺)6. Zabbix監(jiān)控方案-官方最新4.4版本【推薦】7. 利用zabbix監(jiān)控ogg進程(Windows平臺)8. DNS服務(wù)器中創(chuàng)建正向查找區(qū)域并在該區(qū)域下創(chuàng)建主機記錄9. 基于docker安裝zabbix的詳細(xì)教程10. centos7.9安裝zabbix5.0.14及配置過程
