monitor
###一、工具简单介绍 monitor环境检测工具,检测disk,nginx,php,mysql,rabbitmq的问题。通过运行monitor脚本,就可以将lnmp环境中的各种问题报告出来,如磁盘满了、php进程、nginx进程、mysql连接、rabbitm进程等。monitor能够直接指明问题所在,主要用于对一台已出现服务异常的机器进行具体问题的排查。
###二、检测的问题项
nginx存活 检查nginx进程是否正常运行。 php存活 检查php进程是否正常运行。 mysql连接 通过mysqli_connect命令检查mysql是否可以连接。 rabbitmq存活 检查rabbitmq进程是否正常运行。###三、使用方法说明 monitor用php开发,下载所有php文件,命令行下执行start.php脚本文件即可,执行完毕会将检查到的问题一项项打印出来。最好以root用户执行,有些检测项需要root权限,用其它帐号会导致这些检测项无效。
[root@wanggufeng src]# php Start.php offline
environment check beginningenvironment check completed
环境(./monitor/src/common/Config.php不同的环境配置文件在此配置):
线下环境:offline
线上环境:online
###四、添加自定检测 目前已有的检测项只是最常需要检测的问题,还有许多其它问题需要检测,这只需要添加一个php文件放到item目录下即可,以检查cpu负载的代码为例,在checkitems/CpuLoad.php 文件中实现,基本代码结构如下:
class CpuLoad extends Check {
public function check(){
$arrRes = Utils::get_cmd_res(' mpstat -P ALL | wc -l');
$cpu_num = $arrRes[0] - 4;
$arrRes = Utils::get_cmd_res_split('uptime');
$load_one_minute = trim($arrRes[0][7],' ,');
if($load_one_minute > 2*$cpu_num) {
$msg = "cpu number: {$cpu_num}, load in 1 minute: {$load_one_minute}";
Utils::print_error($msg);
}
}
}
新的检测项需要继承Check类,并在check函数中实现自己的检查逻辑即可。另外可以定义问题检测的优先级,代表了检测的顺序,在类中声明$priority变量即可,值越小,优先级越高,默认是最低检测优先级。
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。