阿里云ECS主机自定义进程监控
由于业务的关系我们用的是阿里云的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
报警规则:
报警结果
这个时候你的手机、钉钉、旺旺、邮件、就都收到报警信息了。
阿里云ECS主机自定义进程监控的更多相关文章
- 阿里云ECS主机多个网站配置,是有先后顺序的
注意:阿里云ECS主机多个网站配置,是有先后顺序的: 进入路径:/alidata/server/httpd-2.4.2/conf/vhosts/ 注意这个2.4.2是自己的版本不一样,但是找到 se ...
- 阿里云ECS服务器自定义端口无法访问问题记录
记住阿里云ECS服务器有个安全组!!! 购买了阿里云服务器的时候,购买界面那里是可以勾选默认的几个端口是否开启的,服务器默认勾了22端口,使用户能登录服务器. 当我们在服务器里面配置nginx,开启自 ...
- 给阿里云ECS主机添加IPV6地址
阿里云公开的CentOS镜像将IPv6支持给去掉了,需要加载相关模块.通过HE的tunnelbroker开启IPv6隧道使国内VPS支持IPv6地址. 1. vim /etc/modprobe.d ...
- 阿里云ECS主机内核调优
#阿里云内核调优 cat /etc/sysctl.conf vm.swappiness = 0net.ipv4.neigh.default.gc_stale_time=120 # see detail ...
- 办公区公网Ip访问不到阿里云ECS
办公区公网Ip访问不到阿里云ECS 工作中遇见这样的问题, Hadoop 部署在办公区内网, 而应用有些的数据在阿里云ECS主机中,现在hadoop 访问ECS 却访问不到ESC ,最终电话咨询阿里云 ...
- 阿里云ECS专有网络下安装flannel注意事项
参照文章http://www.cnblogs.com/lyzw/p/6016789.html在两台阿里云ECS主机安装与配置flannel,在专有网络下两台主机只能通过公网ip连通,所以flannel ...
- 阿里云ECS(Ubuntu)安装Docker
新购买的阿里云ECS主机,想使用云主机做一些Docker方面的配置及管理 首先测试是否能够远程登陆至主机 第一步:更新系统 查看系统版本及内核,Docker需要运行在3.8以上的内核 第二步:安装do ...
- 阿里云ECS服务器云监控(cloudmonitor)Go语言版本插件安装卸载与维护
云监控Go语言版本插件安装_主机监控_用户指南_云监控-阿里云https://help.aliyun.com/document_detail/97929.html 云监控cloudmonitor 1. ...
- 使用jvisualvm远程监控tomcat(阿里云ECS)
写在前面: 使用jvisualvm远程监控tomcat(阿里云ECS),连接是报错:service:jmx:rmi:////jndi/rmi:IP:端口// 连接到 IP:端口,网上找了很多资料, ...
随机推荐
- 让textarea和附近的文字居中对齐
textarea {display:inline-block;vertical-align:middle;}
- 容易忽略的递归当中的return
先描述问题. 最近项目有个需求,数据入库失败后延时一定时间然后重新入库:当失败达到一定次数后就不再进行入库,因为项目简单,也不需要异步处理.所以看到这个问题很容易想到用递归去实现. 我最开始的代码ex ...
- go语言返回变量存储地址
package main import "fmt" func main() { e:= fmt.Println(e) fmt.Println(&e) //&e; 将 ...
- 【CC2530入门教程-06】CC2530的ADC工作原理与应用
第6课 CC2530的ADC工作原理与应用 广东职业技术学院 欧浩源 一.A/D转换的基本工作原理 将时间上连续变化的模拟量转化为脉冲有无的数字量,这一过程就叫做数字化,实现数字化的关键设备是AD ...
- js的DOM操作
ID选择器:document.getElementById("").innerHTML="" class选择器:var divc= document.getEl ...
- Echarts笔记——使用AJAX填充数据
最近把编辑器从Sublime换成HBuilder,感觉好用很多啊,可能自己插件没弄好吧.不不过HBuilder的启动速度确实慢,放机械盘启动要7-13秒,还好有固态. 因为项目需要,这周上手了百度的E ...
- 原生封装ajax
01.声明一个全局变量 02.开始封装,判断参数 03.属性的var自定义 04.请求 01.请求行 02.请求头 03.请求发送 05.响应 01.事件监听onreadystatechange 02 ...
- 详解Java API之正则表达式
正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的.在正则表达式中,主要有两种字符,一种描述的是普通的字符,另一种描述的是元字符.其中元字符是整个正则表达式的核 ...
- PHP面向对象 ——多态
接口 接口(interface)是抽象方法和静态常量定义的集合. 接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量. 接口中没有其它类型的内容 接口的定义 /** * 接口可以认为是特殊的 ...
- JAVA实用案例之水印开发
写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...