阿里云ECS主机自定义进程监控

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

1
2
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,就说明进程关闭,然后根据设定的报警规则报警。

自定义选项

阿里云ECS主机自定义进程监控_第1张图片

备注:脚本post方法说明

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

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

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

脚本分析:

vim dubbo_check.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/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  - 'usr\/local/mysql\/bin\/mysqld'  |grep  - '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

赋予权限

1
2
3
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进程如果没有安装或启动是收集不到的。

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

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

/etc/init.d/crond restart

报警规则:

阿里云ECS主机自定义进程监控_第2张图片

报警结果

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

转载于:https://www.cnblogs.com/heidsoft/p/7697890.html

你可能感兴趣的:(阿里云ECS主机自定义进程监控)