自定义监控:对上面监控的补充,可以自定义相应的监控项,在服务器上执行相应的脚本采集数据,然后调用阿里云封装的JDK将数据上传,进行报警处理。
下载阿里云的JDK到服务器相应的目录下
http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5974901
/usr/local/aegis/aegis_quartz/aegis_quartz/libexec/user
添加自定义的选项
报警规则:
这里要注意地段后填写的内容,这个是与上传的字段匹配的。
然后是定义脚本:
要在/usr/local/aegis/aegis_quartz/libexec/user
#!/bin/bash
exportPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
exportVAUL=`cat /tmp/log/* | awk ‘/40*/{print}‘ | wc -l`
#exportVAUL=`cat /tmp/log/* | awk ‘$9>"400"{print}‘ | wc -l`
#exportVAUL=`cat /tmp/log/* | awk ‘/400|401|402|403|404/{print}‘ | wc -l`
exportIP=$(ifconfig eth1 | awk -F ‘[ :]+‘ ‘/Bcast/{print $4}‘)
/usr/local/aegis/aegis_quartz/libexec/user/cms_post.sh1763640468671012 apache $VAUL event=$IP
最后一条语句是调用阿里的接口上传信息。四个参数分别是:1、服务器的aliuuid这个在添加后自定义脚本的时候回出现。
2、自定义选项的名称; 3、监控的数值(在机器上获取的数值);4、字段信息=字段
都是跟上面的设置是对应的。
添加计划任务和查看
可以手动多次执行脚本,把数据送到阿里云监控上。
然后就能在控制台看到数据,报警是根据阀值和重试次数同时满足时触发事件。同时有通道沉默的概念,即触发报警后,如果状态没恢复,24小时内不会再有报警的通知,恢复的时候会通知。
或者自定义脚本,不用阿里云的cron,能够自己定义上传的周期,这样更加灵活,定期执行命令向阿里的端口传送数据。
#!/bin/bash
for iin `seq 1441`
do
DATE=`date +%d`
kill -9 `ps -ef |awk ‘/tail/{print $2}‘` 2>/dev/null
tail -0f /var/log/httpd/access_log >>/tmp/log/$DATE$i.log &
rm -rf /tmp/log/*$[$i -2].log
for j in `seq 6`
do
export VAUL=`cat /tmp/log/* | awk‘/40*/{print}‘ | wc -l`
/usr/local/aegis/aegis_quartz/libexec/user/cms_post.sh 1763640468671012nginx $VAUL event=123.56.170.173
sleep 60
done
done
这样实现一分钟上传一次数据。
到此为止阿里云的监控就完事了。
或者用其他的日志或者插件监控到相应的选项,然后将数值发送到阿里的端口进行报警。阿里云的自定义选项就是接受一个数值 来判断是否触发阀值。