獲取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)視等方法提供對遠(yuǎ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)文章
Zabbix自定義腳本監(jiān)控nginx以及微信告警的全過程
zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案,下面這篇文章主要給大家介紹了關(guān)于Zabbix自定義腳本監(jiān)控nginx以及微信告警的相關(guān)資料,需要的朋友可以參考下2022-04-04
ubuntu系統(tǒng)下部署zabbix服務(wù)器監(jiān)控的方法教程
這篇文章主要給大家介紹了在ubuntu系統(tǒng)下部署zabbix服務(wù)器監(jiān)控的方法教程,文中將步驟介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起看看吧。2017-06-06
使用zabbix監(jiān)控oracle表空間的操作流程
zabbix是一款極其強大的開源監(jiān)控工具,下面我分享下zabbix如何監(jiān)控表空間,跟著這個思路,監(jiān)控其他項都是類似操作,對zabbix監(jiān)控oracle表空間相關(guān)知識感興趣的朋友一起看看吧2021-06-06
Zabbix?Timeout?設(shè)置不當(dāng)導(dǎo)致的問題及解決方案
這篇文章主要介紹了Zabbix?Timeout設(shè)置不當(dāng)導(dǎo)致的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06
教你使用zabbix api批量添加數(shù)百臺監(jiān)控主機的方法
這篇文章主要介紹了利用zabbix api批量添加數(shù)百臺監(jiān)控主機,本次我們將實現(xiàn)用一臺主機虛擬出100臺主機,并通過api的方式自動添加監(jiān)控主機,需要的朋友可以參考下2022-03-03

