服務(wù)器
這篇文章給大家分享的是有關(guān)怎么獲取zabbix上所有主機的ip和主機名的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
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,free bsd,open bsd,os x等平臺上。
下面通過代碼給大家介紹獲取zabbix上所有主機的ip和主機名,代碼如下所示:
#coding:utf-8#獲取zabbix上所有主機的ip和主機名importrequestsimportjsonimportcsvimporttimedefget_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)returnauth[\”result\”]defgethosts(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\’])returndict[\’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\’)foriinhostlist:hostid=i[\’hostid\’]hostip=i[\’host\’]fdata.write(hostip \’\’ hostid \’\\\\n\’)fdata.close()
感謝各位的閱讀!關(guān)于“怎么獲取zabbix上所有主機的ip和主機名”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!