怎么获取zabbix上所有主机的IP和主机名
服務器
這篇文章給大家分享的是有關怎么獲取zabbix上所有主機的IP和主機名的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
zabbix
zabbix([`zæbiks])是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在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()
感謝各位的閱讀!關于“怎么獲取zabbix上所有主機的IP和主機名”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
總結
以上是生活随笔為你收集整理的怎么获取zabbix上所有主机的IP和主机名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中wc命令的作用是什么
- 下一篇: linux下系统中网页版钉钉加密消息无法