由于业务的关系我们用的是阿里云的ECS主机,需要对业务进程需要监控,查看后发现阿里云提供自定义监控SDK,这有助于我们定制化的根据自身业务来做监控,下面我就根据业务需求来介绍一个简单的自定义监控配置

PYTHON脚本下载地址:http://imgs-storage.cdn.aliyuncs.com/help/jiankong/cms_post.sh?spm=5176.7738831.2.2.bELgkj&file=cms_post.sh

shell脚本下载地址:http://imgs-storage.cdn.aliyuncs.com/help/jiankong/cms_post.sh?spm=5176.7738831.2.2.bELgkj&file=cms_post.sh

备注:我用的shell脚本用来部署的

业务需求:我们需要监控ECS服务器中某个进程是否存在,如果小于1,就说明进程关闭,然后根据设定的报警规则报警。

自定义选项

备注:脚本post方法说明

a.命名空间中的数字串,即是用户的aliuid

b. 监控项名称,即是用户创建监控项时填写的名称

c. 字段信息,结合监控项,表示具体业务字段的实际意义。

脚本分析:

vim dubbo_check.sh

#!/bin/bash

#--------------------------------------------

#PATH用来获取运行命令的路径

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin

#VAUL用来获取监控存活数值或状态

export VAUL=$(ps -ef |grep mysql |grep -w 'usr\/local/mysql\/bin\/mysqld' |grep -v 'grep'|awk '{print $2}' |wc -l)

# HOSTS用来获取你的主机名

export HOSTS=$(hostname)

#1脚本位置

#2命名空间中的数字串-即是用户的aliuid

#3即是用户创建监控项时填写的名称

#4字段信息结合监控项,表示具体业务字段的实际意义

#这里需要注意,字段的值一定要与脚本中字段的值一致,否则即使监控的值触发了你的报警规则,状态依然是正常的。(我用的字段信息是主机名,因为我的业务和主机名是一样的,hosts后面的是那个业务报警的状态,自己定义的)

# 1 2 3 4

/usr/local/cloudmonitor/script/cms_post.sh 1421981683758115 test_web $VAUL dubbo=$HOSTS-dubbo-stop

赋予权限

chmod 777 /usr/local/cloudmonitor/script/cms_post.sh

chmod 777 /usr/local/cloudmonitor/script/dubbo_chenk.sh

cloudmonitor监控:

脚本上传到任意位置即可,我放在 /usr/local/cloudmonitor/script/ (script需要自己建立)cloudmonitor进程如果没有安装或启动是收集不到的。

增加定时任务每分钟执行一次,这个和上面的上报频率要保持一致

* * * * * /bin/bash /usr/local/cloudmonitor/script/tomcat_dubbo_check.sh >/dev/null 2>&1

/etc/init.d/crond restart

报警规则:

报警结果

这个时候你的手机、钉钉、旺旺、邮件、就都收到报警信息了。

最新文章

  1. Ouibounce – 在用户离开你网站时显示模态弹窗
  2. Jquery使select、radio某项选中
  3. Spring总结—— IOC 和 Bean 的总结
  4. web编程速度大比拼(nodejs go python)(非专业对比)
  5. 复习知识点:TabBarViewController(微信框架)
  6. 一个必用的javascript框架:underscore.js - wine的思考 - ITeye技术网站
  7. Java 多态透析 详细理解
  8. Redis配置文件中关于bind参数
  9. 三种方法实现调用Restful接口
  10. Linux下python2和python3共存
  11. Java_打印从一个数到另一个数之间的整数,并每5个为一行
  12. 【BZOJ2095】【POI2010】Bridge 网络流
  13. html js点击按钮滚动跳转定位到页面指定位置(DIV)的方法代码
  14. python之celery使用详解一
  15. mybatis 之resultType="HashMap" parameterType="list"
  16. 关于Unity中的Input输入事件
  17. JAVA8新特性简单总结
  18. 【Windows】Python脚本随机启动
  19. Cocos2d-x第一次调试出现的问题
  20. POC索引

热门文章

  1. dubbo与zookeeper的关系
  2. Bash On Windows的学习
  3. workerman启动失败解决
  4. SharePoint 2016 每天预热脚本介绍
  5. 并发编程(三):从AQS到CountDownLatch与ReentrantLock
  6. 5.request对象详解
  7. Mac应用推荐
  8. Java基础(2)-基础类型
  9. Ext常用开发基础知识
  10. VB6之扫雷克星