zabbix 自动出图脚本,zabbix图脚本


#!/bin/bash
#不配置字符集,脚本放到crontab里发出的中文E-MAIL乱码
export LANG=en_US.UTF-8

#有点强迫症,习惯什么东西在什么地方干 ^_^
cd /home/zabbix/graph

#保存cookie文件名
COOKIE=zbx_cookie.txt
> $COOKIE

#我是在zbx上开一个组,弄一个只读账号,把想出图的主机放进去。
NAME="reader"
PASSWD="123456789"

#EMAIL木什么好说地,有几个e-mail并排写就好啦。
EMAIL="haha@abc.com hehe@abc.com lala@123.com"

#需要提取数据的IP地址,其实这个IP主要是用来给图片命名用的。恩恩
IPADDR=(192.168.1.1 192.168.1.2)

#这个地方比较麻烦,因为itemid是唯一的,所以需要自己肉眼高速扫描的去查。
#这里我们拿内存和cpu来举个例子吧。恩恩。
CPU_ITEMID=(12345 67890) MEM_ITEMID=(98765 65432) #我们高大上的zbx地址 URL="http://127.0.0.1" #登录保存cookie curl -s -c $COOKIE -b $COOKIE -d "request=&name=${NAME}&password=${PASSWD}&autologin=1&enter=Sign+in" $URL #还是强迫症,木办法。 [[ -d cpu_png ]] || mkdir cpu_png [[ -d mem_png ]] || mkdir mem_png #PERIOD配置获取数据的时间段,用秒数来表示。 #ld需求要7天内的。604800,大家都懂的。 #这里举个例子我写的3600。 PERIOD=3600 #这是我们的开始时间,也就是当前时间, STIME=$(date +%Y%m%d%H%M%S) #图片宽度 WHIDTH=1200 #我是针对ITEMID组来进行循环创建图片的,为了显的好看点,我才这么写的。
#要不横着写起来太长鸟~!你们懂的。我们开始拼url
for i in $(seq 0 $[${#CPU_ITEMID[@]}-1]);do curl -s -b $COOKIE \ -F "itemid=${CPU_ITEMID[i]}" \ -F "period=$PERIOD" \ -F "curtime=$STIME" \ -F "width=$WHIDTH" \ "$URL/chart.php" > cpu_png/${IPADDR[i]}_cpu.png done for i in $(seq 0 $[${#MEM_ITEMID[@]}-1]);do curl -s -b $COOKIE \ -F "itemid=${MEM_ITEMID[i]}" \ -F "period=$PERIOD" \ -F "curtime=$STIME" \ -F "width=$WHIDTH" \ "$URL/chart.php" > mem_png/${IPADDR[i]}_mem.png done
#我开始有点懒了,反正图片都出来了爱怎么地怎么地吧。我手动拼的。 CPU_PNG="-a cpu_png/192.168.1.1_cpu.png -a cpu_png/192.168.1.2_cpu.png" MEM_PNG="-a mem_png/192.168.1.1_mem.png -a mem_png/192.168.1.2_mem.png" #E-MAIL的TITLE,都懂的。不解释了。 CPU_TITLE="$(date +%Y年%m月%d日) Cpu idle 曲线图" MEM_TITLE="$(date +%Y年%m月%d日) Memory realused 曲线图" #卡卡卡开始对ld进行邮件轰炸,用不用写个死循环呢。:p echo "附件为抽查服务器cpu idle曲线图" | mail -s "$CPU_TITLE" $CPU_PNG $EMAIL echo "附件为抽查服务器memory realused曲线图" | mail -s "$MEM_TITLE" $MEM_PNG $EMAIL #做事要干净,吃完饭记得擦嘴。 [[ -d cpu_png ]] && rm -rf cpu_png [[ -d mem_png ]] && rm -rf mem_png exit 0

其实就是根据这个url自己拼的。

最后呈现出来的样子就系这样啦。

 


按键精灵图片出来时自动点击,消失后就继续找到图片再点击,如此循环的脚本怎写

Do
FindPic 0,0,1024,768,"Attachment:\神盾.bmp",0.9,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX+5, intY+5
LeftClick 1
End If
Delay 1000
Loop
 

zabbix自定义脚本执行时间过长,怎设置监控项?

好办法!之前我曾经想过让zabbixagent调用BAT文件,先用BAT的start功能让VBS在旁边运行着,自己读取VBS上次执行的结果。可惜zabbixagent似乎在BAT执行完毕后,会将它start出来的子进程也结束掉,无法实现我要的效果。不过还真没想过用windows的任务计划来先执行VBS把结果放在那再获取。谢楼上提醒! 查看原帖>>
 

相关内容

    暂无相关文章