nagios监控脚本编写
2015-08-28 14:25
309 查看
公司开发的app,有发送短信功能。
有时候发现短信有几分钟延迟,发现短信队列,达到了1万。
需要紧急处理。
每次都是用户反馈,这个不太好。
所以写了一个shell脚本,监控短信队列条数。
公司开发了一个接口,可以直接看到短信队列条数的条数。
访问接口,命令如下
curl http://xx.xxx.com/inform/waitSendInformCount 返回值如下,最后的0表示短信队列条数
{"code":0,"msg":"成功","data":0}
所以直接提取最后一个数字就可以了
命令如下:
curl http://xx.xxx.com/inform/waitSendInformCount | cut -d ":" -f 4 | cut -d "}" -f 1
编辑脚本
check_sms_queue.sh
内容如下:
#!/bin/bash
#
if [ "$1" = "-w" ] && [ "$2" -gt "0" ] && [ "$3" = "-c" ] && [ "$4" -gt "0" ]; then
a=`curl http://xx.xxx.com/inform/waitSendInformCount | cut -d ":" -f 4 | cut -d "}" -f 1`
if [ "$a" -ge "$4" ]; then
echo "sms_queue: CRITICAL Total: $a - concurrent_count |USED=$a;200;500;;"
$(exit 2)
elif [ "$a" -ge "$2" ]; then
echo "sms_queue: WARNING Total: $a - concurrent_count|USED=$a;200;500;;"
$(exit 1)
else
echo "sms_queue: OK Total: $a - concurrent_count|USED=$a;200;500;;"
$(exit 0)
fi
else
echo "check_sms_queue"
echo ""
echo "Usage:"
echo "check_sms_queue -w <warn count> -c <crit count>"
echo ""
echo "Copyright (C) 2014 http://www.xx.com/" exit
fi
效果如下:
本来以为不会有图形显示的,点击之后,居然有。
因为参考链接,有一段话提到
nagios会将"|"之后的内容作为性能数据输出 。如可输出给pnp4nagios
所以说,这段脚本,可以作为模板,编写其他的应用监控。
红色加粗部分,是我修改的地方,这样改动起来比较方便,一键替换就好了。
以前看的那些文章写的,太复杂了。总感觉写一个自定义监控脚本,比登天还难。
后来看到一些简单的,写了一个。发现没有图形画,蛋疼。
怎么就没有,又简单,又有图形画的呢?今天,终于被发现了。
有一种 断剑重铸之日 其势归来之时 的感觉。
本文参考http://www.ahlinux.com/shell/23218.html
本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1689271
有时候发现短信有几分钟延迟,发现短信队列,达到了1万。
需要紧急处理。
每次都是用户反馈,这个不太好。
所以写了一个shell脚本,监控短信队列条数。
公司开发了一个接口,可以直接看到短信队列条数的条数。
访问接口,命令如下
curl http://xx.xxx.com/inform/waitSendInformCount 返回值如下,最后的0表示短信队列条数
{"code":0,"msg":"成功","data":0}
所以直接提取最后一个数字就可以了
命令如下:
curl http://xx.xxx.com/inform/waitSendInformCount | cut -d ":" -f 4 | cut -d "}" -f 1
编辑脚本
check_sms_queue.sh
内容如下:
#!/bin/bash
#
if [ "$1" = "-w" ] && [ "$2" -gt "0" ] && [ "$3" = "-c" ] && [ "$4" -gt "0" ]; then
a=`curl http://xx.xxx.com/inform/waitSendInformCount | cut -d ":" -f 4 | cut -d "}" -f 1`
if [ "$a" -ge "$4" ]; then
echo "sms_queue: CRITICAL Total: $a - concurrent_count |USED=$a;200;500;;"
$(exit 2)
elif [ "$a" -ge "$2" ]; then
echo "sms_queue: WARNING Total: $a - concurrent_count|USED=$a;200;500;;"
$(exit 1)
else
echo "sms_queue: OK Total: $a - concurrent_count|USED=$a;200;500;;"
$(exit 0)
fi
else
echo "check_sms_queue"
echo ""
echo "Usage:"
echo "check_sms_queue -w <warn count> -c <crit count>"
echo ""
echo "Copyright (C) 2014 http://www.xx.com/" exit
fi
效果如下:
本来以为不会有图形显示的,点击之后,居然有。
因为参考链接,有一段话提到
nagios会将"|"之后的内容作为性能数据输出 。如可输出给pnp4nagios
所以说,这段脚本,可以作为模板,编写其他的应用监控。
红色加粗部分,是我修改的地方,这样改动起来比较方便,一键替换就好了。
以前看的那些文章写的,太复杂了。总感觉写一个自定义监控脚本,比登天还难。
后来看到一些简单的,写了一个。发现没有图形画,蛋疼。
怎么就没有,又简单,又有图形画的呢?今天,终于被发现了。
有一种 断剑重铸之日 其势归来之时 的感觉。
本文参考http://www.ahlinux.com/shell/23218.html
本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1689271
相关文章推荐
- IOS消息转发机制
- iOS开发-loadView和viewDidLoad总结
- iOS 本地推送 (本地通知)
- iOS FMDB小试了一下
- iOS开发之多线程(NSThread创建线程)
- ios禁用多按钮同时点下的效果
- iOS 大型项目开发漫谈
- iOS下的通知使用
- ios开发之 苹果审核被拒,使用第三方登录,但手机没有安装客户端的平台
- iOS开发之 二维码生成/二维码扫描
- ios开发之 icon规范+启动图规范+欢迎页规范
- ios开发之常用的NSLOG日志打印格式
- SVN (TortioseSVN) 版本控制之忽略路径(如bin、obj、gen)
- IOS-Svn-Cornerstone
- ios 常用的打印输出方法
- iOS沙盒(sandbox)
- iOS学习之CoreData的增删改查
- IOS: 应用截图尺寸和启动图片
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记43 保护NSNotification的内存安全
- iOS设计模式 - 单例