公司开发的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监控脚本编写


本来以为不会有图形显示的,点击之后,居然有。

因为参考链接,有一段话提到

nagios会将"|"之后的内容作为性能数据输出 。如可输出给pnp4nagios

nagios监控脚本编写


所以说,这段脚本,可以作为模板,编写其他的应用监控。

红色加粗部分,是我修改的地方,这样改动起来比较方便,一键替换就好了。

以前看的那些文章写的,太复杂了。总感觉写一个自定义监控脚本,比登天还难。

后来看到一些简单的,写了一个。发现没有图形画,蛋疼。

怎么就没有,又简单,又有图形画的呢?今天,终于被发现了。

有一种 断剑重铸之日 其势归来之时 的感觉。


本文参考

http://www.ahlinux.com/shell/23218.html