zabbix 以邮件附件形式导出报表
通过邮件方式把报表导出,主要原理是利用curl拼接图片的URL地址,然后以附件的形式把图片通过邮件发送出去。下面以具体事例说明:
http://192.168.36.130/zabbix/chart2.php?graphid=2649&period=3600&stime=20151019143624
http://s3.运维网.com/wyfs02/M02/74/AC/wKioL1YmA3Oityo0AALhjoEqKzo405.jpg通过脚本把该图片过滤出来,然后利用邮件发送出去
主要脚本为:
curl -s -c $COOKIE -b $COOKIE-d "request=&name=${NAME}&password=${PASSWD}&autologin=1&enter=Sign+in" $URL //主要功能是记录cookie,成功登陆进zabbix服务器
[[ ! -s "$COOKIE" ]] && exit 0 //对cookie进行各判断
下面这个命令的主要作用是把图片过滤出来存放到某个目录下
参数说明:
grapid 图片ID
period(获取数据的时间段)可以是1小时,1周,1一个月等以秒为单位 PERIOD=604800
curtime 当前时间 STIME=$(date +%Y%m%d%H%M%S)
width 图片的宽度 WHIDTH=1200
curl -s -b $COOKIE \
-F "graphid=${CPU_ITEMID}" \
-F "period=$PERIOD" \
-F "curtime=$STIME" \
-F "width=$WHIDTH" \
"$URL2/chart2.php" > cpu_png/${i}.png
发送邮件:
echo "附件为抽查服务器cpu idle曲线图" | /bin/mailx -s "$CPU_TITLE" $CPU_PNG $EMAIL
"$CPU_TITLE" 邮件主题
$CPU_PNG 附件内容CPU_PNG="-a xxx.png"
$EMAIL 邮件地址
以上功能可以实现基本的报表以附件形式导出,只是麻烦之处在于graphid的获取,后期逐步完善其他形式的报表导出。
页:
[1]