PYTHON+shell脚本实现阿里云ECS主机监控SDK定制
阿里云提供了自定义监控SDK,可以让我们根据自己的业务定制监控。下面我根据业务需求简单介绍一下。自定义监控配置。
备注:我用的shell脚本用来部署的
业务需求:我们需要监控ECS服务器中是否有某个进程。如果小于1,则表示该进程被关闭,然后根据设置的报警规则进行报警。 ?
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
云监控监控:
脚本可以下载到任何地方,我放在目录/usrlotinud/local下/script需要它(如果你自己构建)如果没有安装或启动,则无法收集cloudmonitor进程。
添加每分钟运行一次的计划任务。这个应该和上面的上报频率一致
* * * * * /bin/bash /usr/local/cloudmonitor/script/tomcat_dubbo_check.sh >/dev/null 2>&1
/etc/init.d/crond restart
报警规则:
![]()
报警结果
此时手机、钉钉都收到了你的报警消息,旺旺和邮件。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网