獲取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)文章:
1. 基于docker安裝zabbix的詳細(xì)教程2. Zabbix指定時(shí)間內(nèi)變化值設(shè)置方法詳解3. 使用Zabbix 5.4.3監(jiān)控IPMI的方法4. zabbix v3.0安裝部署全過(guò)程詳解5. zabbix 代理服務(wù)器的部署與 zabbix-snmp 監(jiān)控問(wèn)題6. zabbix如何添加監(jiān)控主機(jī)和自定義監(jiān)控項(xiàng)7. 教你saltstack部署zabbix服務(wù)的方法8. Nginx配置虛擬主機(jī)的三種方法9. Zabbix6通過(guò)ODBC方式監(jiān)控Oracle 19C的詳細(xì)過(guò)程10. zabbix集群搭建分布式監(jiān)控的操作步驟

網(wǎng)公網(wǎng)安備