设为首页 加入收藏

TOP

Python 实现Zabbix自动发送报表(二)
2014-11-23 22:10:06 来源: 作者: 【 】 浏览:37
Tags:Python 实现 Zabbix 自动 发送 报表
login_url = r"http://%s/index.php"%zabbix_host


save_graph_url = r"http://%s/chart2.php"%zabbix_host


opener.open(login_url,login_opt).read()


data = opener.open(save_graph_url,get_graph_opt).read()


filename = "%s/%s.%s.png"%(save_graph_path,screenid,graphid)


html += ''%(zabbix_host,save_graph_path.split("/")[len(save_graph_path.split("/"))-2],save_graph_path.split("/")[len(save_graph_path.split("/"))-1],screenid,graphid)


f = open(filename,"wb")


f.write(data)


f.close()




def send_mail(username,password,smtp_server,to_list,sub,content):


print to_list


me = "运维"+"<"+username+"@"+domain +">"


msg = MIMEText(content,_subtype="html",_charset="utf8")


msg["Subject"] = sub


msg["From"] = me


msg["To"] = ";".join(to_list)


try:


server = smtplib.SMTP()


server.connect(smtp_server)


server.login(username,password)


server.sendmail(me,to_list,msg.as_string())


server.close()


print "send mail Ok!"


except Exception, e:


print e



if __name__ == '__main__':


for screen in screens:


get_graph(zabbix_host,username,password,screen,width,height,period,save_graph_path)


send_mail(mail_user,mail_pass,smtp_server,to_list,"test email",html)


设置crontab 每天早上上班前执行一次


crontab -e


45 08 * * * python /root/zabbix_send_report.py


上效果图


Python 实现Zabbix自动发送报表


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++智能指针--auto_ptr指针 下一篇在 AngularJS 应用中通过 JSON 文..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: