lnmpcheck <strong>检测的问题项</strong><strong>使用方法</strong><strong>添加新的检测项</strong> lnmp 环境检测工具

程序名称:lnmpcheck <strong>检测的问题项</strong><strong>使用方法</strong><strong>添加新的检测项</strong>

授权协议: GPL

操作系统: 跨平台

开发语言: PHP

lnmpcheck <strong>检测的问题项</strong><strong>使用方法</strong><strong>添加新的检测项</strong> 介绍

lnmpcheck 是 LNMP
环境检测工具,检测部署linux,nginx,php,mysql服务机器的问题。通过运行lnmpcheck脚本,就可以将lnmp环境中的各种问题报告出来,如磁盘满了、cpu负载过高、磁盘IO过高、网络出现了问题、遭遇了synflood攻击、php进程hang在了某个地方等
等,甚至还会检查nginx日志文件是否有异常。与监控工具不同的是,lnmpcheck能够直接指明问题所在,主要用于对一台已出现服务异常的机器进行
具体问题的排查。

lnmpcheck很容易进行扩展添加新的检查项,另外也可以对已有的检测项添加自己的特殊的版本而不影响原来的版本。

检测的问题项

  • 磁盘占用

  • inode使用

  • CPU
    包括CPU idle,CPU负载,CPU在I/O时花费的时间比

  • 内存
    包括内存占用比,swap交换数

  • I/O
    I/O所消耗的CPU时间比 I/O总共花费时间与实际I/O操作所花费时间比(await/svctm)

  • 网络流量
    检查目前流量占网卡带宽的比

  • 网络错误
    包括网络传输丢包及网络传输缓存区空间不足的错误

  • 文件句柄数
    目前已使用的文件句柄数与系统限制的比

  • core文件
    检查是否由于进程运行异常而产生了core文件

  • synflood攻击
    检测系统是否遭到了synflood攻击

  • nginx压力
    通过网络连接数来估值nginx并发度 并发度= 请求处理时间 * QPS 进而评估nginx是否压力过大

  • php压力
    评估方式类似nginx压力

  • nginx存活
    检查nginx进程是否正常运行

  • php存活
    检查php进程是否正常运行

  • nginx日志检查
    检查nginx日志文件中状态码非200的个数,从而发现请求返回不正常的情况

  • php进程hang住检查
    检查php进程是否都hang在了某个操作上,这往往由于某个外部请求超时导致

  • mysql压力
    通过show processlist命令检查mysql正在进行操作处理的线程数

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权限,用其它帐号会导致这些检测项无效。

添加新的检测项

目前已有的检测项只是最常需要检测的问题,还有许多其它问题需要检测,这只需要添加一个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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


VertrigoServ 是一个Windows平台下的非常专业的、易于安装的免费网络开发环境,它集成了Apache, PHP, MySQL, SQLite,
APMServ 5.2.0 是一款拥有图形界面的快速搭建Apache 2.2.3、PHP 5.2.0、MySQL 5.0.27&4.0.26、SQLite、ZendOptimizer、OpenSSL、phpMyAdmin、SQLiteManager,以及
PHP Manager for IIS 是一个用来在 Windows 平台下的 IIS (7或者更新版本)下安装 PHP 环境的工具。
LAMPPIX 是一个包含 LAMP 运行环境的可启动 Linux 光盘。LAMPPIX 可让你将 Web 应用烧录到光盘中,并在光盘启动后便可访问你的Web应用。
RubyWorks 是一個在Red Hat Enterprise 或是CentOS 上面的套件組合,他會幫你把所有Production
Instant Rails是一个一站式的Rails运行环境,包含Ruby、Rails、Apache和MySQL,所有都已经配置好了能立刻运行。不需要安装,你只要将它放在你喜欢的地方然后运行它就可以了。它不会修改你的系统的环境。
* PDENV(PHP Developer Environment)是一个帮助PHP开发/运维人员快速搭建高性能Nginx Apache
MAPn 是一个用于 Linux(CentOS/RedHat/Debian/Ubuntu) 系统的服务环境自动编译程序,具有 MAP(lamp) &
VertrigoServ 是一个Windows平台下的非常专业的、易于安装的免费网络开发环境,它集成了Apache, PHP, MySQL, SQLite,
BitNami SugarCRM Stack 是一个易用的 SugarCRM 安装程序,点击鼠标就可以轻松完成 SugarCRM 的安装过程。
Wamp5是Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境。该版本集成了PHP5.2.X Mysql5 Apache2
windows下 php自动安装包(专为kangle web服务器打造),集成zend,采用fastcgi接口。支持32位和64位的windows.
Wamp就是Windos Apache Mysql PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再
BitNami 提供wordpress、jumla、drupal、bbpress等开源程序的傻瓜式安装包下载,所有的安装包内置了服务器环境,就是说,不需要在本地
BitRock MAMPStack 是 Mac 平台下的一个用来快速安装 Apache \\ MySQL \\ PHP \\ Python \\ mod_python 环境的软件。
PHPnow 是 Win32 下绿色免费的 Apache + PHP + MySQL 环境套件包。简易安装、快速搭建支持虚拟主机的 PHP 环境。附带
这是一个自动编译配置nginx、mysql、php、proftpd。类似xampp,但是没有xampp这么复杂。这套脚本的目的仅仅是减轻搭
LinRails 与 XAMPP 颇为相似,它通过将各种应用程序整合在一起,以达到在 Linux 中实现易于安装、便于使用之目的。使用 LinRails 这套集成安装包,你可以在 Linux 中迅速地构建起 Ruby on
lamppr 是一个集成网络开发平台。lamppr平台集成了目前最为先进的网络技术, 缓存技术和索引查询技术,包括了nginx,varnish,xcache,eaccelerator, APC,
BitNami Subversion Stack 是一个集成安装包,包含Apache、Subversion,它会帮你安装好说需要的软件包,并将二者配置ok,省却很多安装麻烦的配置问题。