lnmpcheck <strong>检测的问题项</strong><strong>使用方法</strong><strong>添加新的检测项</strong> 介绍
lnmpcheck 是 LNMP
环境检测工具,检测部署linux,Nginx,PHP,MysqL服务机器的问题。通过运行lnmpcheck脚本,就可以将lnmp环境中的各种问题报告出来,如磁盘满了、cpu负载过高、磁盘IO过高、网络出现了问题、遭遇了synflood攻击、PHP进程hang在了某个地方等
等,甚至还会检查Nginx日志文件是否有异常。与监控工具不同的是,lnmpcheck能够直接指明问题所在,主要用于对一台已出现服务异常的机器进行
具体问题的排查。
lnmpcheck很容易进行扩展添加新的检查项,另外也可以对已有的检测项添加自己的特殊的版本而不影响原来的版本。
@H_502_9@ @H_502_9@检测的问题项-
磁盘占用
-
inode使用
-
内存
包括内存占用比,swap交换数 -
网络流量
检查目前流量占网卡带宽的比 -
synflood攻击
检测系统是否遭到了synflood攻击 -
Nginx压力
通过网络连接数来估值Nginx并发度 并发度= 请求处理时间 * QPS 进而评估Nginx是否压力过大
lnmpcheck的检查是多维度的,例如为了检查I/O是否达到了瓶颈,不但检查I/O使用率数值,也会关心
I/O总共花费时间与实际I/O操作所花费时间比(await/svctm),如果这个比值过大,说明I/O请求在队列中等待的时间过长,达到了I/O处 理的瓶颈。
lnmpcheck用PHP开发,下载所有PHP文件,命令行下执行start.PHP脚本文件即可:
[root@xsl1x-nova ~/lnmpcheck]# PHP start.PHP
checking......sda1 : 20.00, percentage of cpu time during which I/O requests were issued
to the device, the IO is too high
------------------------------check completed
执行完毕会将检查到的问题一项项打印出来。最好以root用户执行,有些检测项需要root权限,用其它帐号会导致这些检测项无效。
@H_502_9@ @H_502_9@添加新的检测项目前已有的检测项只是最常需要检测的问题,还有许多其它问题需要检测,这只需要添加一个PHP文件放到checkitems目录下即可,以检查cpu负载的代码为例,在checkitems/linuxcpuLoad.PHP
文件中实现,基本代码结构如下:
class linuxcpuLoad extends LnmpCheck { 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); } } }
新的检测项需要继承LnmpCheck类,并在check函数中实现自己的检查逻辑即可。另外可以定义问题检测的优先级,代表了检测的顺序,在类中声明$priority变量即可,值越小,优先级越高,默认是最低检测优先级。
lnmpcheck <strong>检测的问题项</strong><strong>使用方法</strong><strong>添加新的检测项</strong> 官网
https://github.com/micweaver/lnmpcheck
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。