阿里云ecs自定义监控项
前言
阿里云提供了丰富的监控功能,其内置了非常多的监控项,不过可能平时的运维工作还是会遇到有些监控项需要自己添加的情况。阿里云自定义监控项需要用到阿里云的脚本文件,有python和shell两种模板,此处采用shell模板进行监控:http://imgs-storage.cdn.aliyuncs.com/help/jiankong/cms_post.sh?spm=5176.7738831.2.2.bELgkj&file=cms_post.sh
添加方法
此处编写一个80端口检测脚本,当检测到80端口不存在则报警:
-
创建自定义监控项:
-
添加监控项,需要注意,监控模板默认需要有4个参数,aliid(自己的阿里云账号id)、监控项名,即此处的tomcat、监控项值和监控项字段(java):
-
打开阿里云的云监控功能,确保标红处为已运行,云监控用于收集自定义监控项的值:
-
把下载的cms_post.sh脚本上传到阿里云ecs指定目录/usr/local/cloudmonitor/script,此处script目录为手动创建:
-
编写80端口检测脚本:
cat tomcat_process_check.sh
#!/bin/bash
#
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin
export VAUL=$(netstat -tnlp|grep '\b80\b'|wc -l)
export HOSTS=$(hostname)
/usr/local/cloudmonitor/script/cms_post.sh 1852096475008177 tomcat $VAUL java=$HOSTS-tomcat-stop
#1852096475008177为阿里云账号id
#tomcat为监控项名字,和添加自定义监控项名字一致
#$VAUL为监控项值
#java为监控项字段
-
定义cron任务计划,让tomcat_process_check.sh脚本定时上传获取的值
-
此时就能看到监控图表了
-
配置报警:
- 此时如果发生异常就会发送短信和邮件报警了。