使用zabbix邮件发送报表

Posted 人生不设限

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用zabbix邮件发送报表相关的知识,希望对你有一定的参考价值。

简介

首先我们来看下图片的url (右击screens中随便一张图片,选复制图片地址)

http://zabbix.xxx.com/chart2.php?graphid=524&screenid=16&width=400&height=156&updateProfile=1&profileIdx=web.screens&profileIdx2=16&period=86400&stime=20150629172712&sid=f6dd0d127bba0123&curtime=1404120808037

可以看到上面的url后面有很多的参数,当然我们需要的没有那么多,简化后的url如下

http://zabbix.xxx.com/chart2.php?graphid=524&screenid=16&width=400&height=156&period=86400


简化后我们只需要5个参数

graphid    # 图片的ID,对应的值为某一个graph的唯一标识

screenid    # screenID,对应的值为某一个screen的唯一标识

width      # 图片的宽度,对应的值为图片的宽度(可根据需要自己定义)

height      # 图片的高度,对应的值为图片的高度(可根据需要自己定义)

period      # 图片展示数据的时钟周期 单位为 秒 (86400 =1天)


通过上面的信息我们知道要通过zabbix获取screen中的图片需要的参数下面我们需要做的就是通过screen name到数据库中查询相关参数即可

1、根据管理员自定义的screens name在数据库中查询此screen的ID (screens 表)

2、根据所查到的screenID查询此screen中所包含的resourceid (resourceid==graphid)(screens_items 表)

3、通过1、2两步查到的参数获取图片并保存至zabbix服务器上的web目录并生成html代码

4、通过smtplib模块把html代码发送到管理员邮箱

大概的流程是这样的,代码如下,代码中所涉及的参数变量根据自己的环境做出相应的配置即可

代码参阅:http://heylinux.com/archives/2081.html

 

以上是关于使用zabbix邮件发送报表的主要内容,如果未能解决你的问题,请参考以下文章

zabbix 使用脚本发送邮件

使用Zabbix服务端本地邮箱账号发送报警邮件的部署记录

怎样清空zabbix里面未发送的邮件

zabbix 使用邮件发送告警信息

zabbix邮件发送3.2.4

在服务器上使用python自动获取zabbix上图形并发送邮件