獲取zabbix上所有主機(jī)的IP和主機(jī)名的實(shí)例代碼
zabbix
zabbix([`zæbiks])是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開(kāi)源解決方案。
zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營(yíng);并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問(wèn)題。
zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
zabbix server可以通過(guò)SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對(duì)遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺(tái)上。
下面通過(guò)代碼給大家介紹獲取zabbix上所有主機(jī)的IP和主機(jī)名,代碼如下所示:
#coding:utf-8 #獲取zabbix上所有主機(jī)的IP和主機(jī)名 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上所有主機(jī)的IP和主機(jī)名的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Zabbix自定義腳本監(jiān)控nginx以及微信告警的全過(guò)程
zabbix是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開(kāi)源解決方案,下面這篇文章主要給大家介紹了關(guān)于Zabbix自定義腳本監(jiān)控nginx以及微信告警的相關(guān)資料,需要的朋友可以參考下2022-04-04Zabbix配置監(jiān)控項(xiàng)及聚合圖形的實(shí)例代碼
這篇文章主要介紹了Zabbix配置監(jiān)控項(xiàng)及聚合圖形,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06zabbix在web頁(yè)面顯示中文亂碼問(wèn)題解決辦法
這篇文章主要給大家介紹了關(guān)于zabbix在web頁(yè)面顯示中文亂碼問(wèn)題的解決辦法,最近發(fā)現(xiàn)zabbix在使用中會(huì)發(fā)現(xiàn)中文欄目顯示亂碼,所以這里將解決辦法分享下,需要的朋友可以參考下2023-07-07ubuntu系統(tǒng)下部署zabbix服務(wù)器監(jiān)控的方法教程
這篇文章主要給大家介紹了在ubuntu系統(tǒng)下部署zabbix服務(wù)器監(jiān)控的方法教程,文中將步驟介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起看看吧。2017-06-06使用zabbix監(jiān)控oracle表空間的操作流程
zabbix是一款極其強(qiáng)大的開(kāi)源監(jiān)控工具,下面我分享下zabbix如何監(jiān)控表空間,跟著這個(gè)思路,監(jiān)控其他項(xiàng)都是類似操作,對(duì)zabbix監(jiān)控oracle表空間相關(guān)知識(shí)感興趣的朋友一起看看吧2021-06-06Zabbix?Timeout?設(shè)置不當(dāng)導(dǎo)致的問(wèn)題及解決方案
這篇文章主要介紹了Zabbix?Timeout設(shè)置不當(dāng)導(dǎo)致的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06教你使用zabbix api批量添加數(shù)百臺(tái)監(jiān)控主機(jī)的方法
這篇文章主要介紹了利用zabbix api批量添加數(shù)百臺(tái)監(jiān)控主機(jī),本次我們將實(shí)現(xiàn)用一臺(tái)主機(jī)虛擬出100臺(tái)主機(jī),并通過(guò)api的方式自動(dòng)添加監(jiān)控主機(jī),需要的朋友可以參考下2022-03-03