一、通过查询zabbix db的方式通过主机IP获取到所需要的graphid(比如CPU监控图、内存监控图等,每个图对应一个graphid),最后将图片保存到本地
import urllib2,requests,cookielib,urllib #定义登录地址 login_url = ‘http://10.160.25.42/zabbix/index.php‘ #定义登录所需要用的信息,如用户名、密码等,使用urllib进行编码 login_data = urllib.urlencode({ "name": ‘admin‘, "password": ‘password‘, "autologin": 1, "enter": "Sign in"}) #设置一个cookie处理器,它负责从服务器下载cookie到本地,并且在发送请求时带上本地的cookie cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) urllib2.install_opener(opener) opener.open(login_url,login_data).read() #这部分没有具体写 sql_hostid = select hostid from hosts where host=‘10.160.34.250‘; #通过host查询hostid sql_itemid = select itemid,`name`,key_ from items where hostid=‘10251‘ #通过hostid查询itemid,通过key_过滤性能监视器 sql_graphid = select graphid from graphs_items where itemid=‘33712‘ #通过itemid查询对应的graphid graph_args = urllib.urlencode({ "graphid":‘3346‘, "width":‘400‘, "height":‘156‘, "stime":‘20160511000000‘, #图形开始时间 "period":‘86400‘}) graph_url = ‘http://10.160.25.42/zabbix/chart2.php‘ print graph_args #返回格式:width=400&screenid=28&graphid=4769&period=86400&height=156 data = opener.open(graph_url,graph_args).read() # print data file=open(‘d:\\zaa225.png‘,‘wb‘) file.write(data) file.flush() file.close()
时间: 2024-10-13 00:20:47