Nagios 监控Nginx和php-fpm

线上用的是Nagios监控,版本是4.0.8

Nginx用的是Tengine最新版,PHP是5.5版本

Nginx插件下载地址

https://exchange.nagios.org/directory/Plugins/Web-Servers/nginx/check_nginx_status-2Epl/details

PHP-FPM插件下载地址

https://github.com/regilero/check_phpfpm_status

解压里面的文件

得到2个文件

check_nginx_status.pl

check_phpfpm_status.pl

将这2个文件放到/usr/local/nagios/libexec 目录下面

设置权限

cd /usr/local/nagios/libexec/

chmod 755 check_nginx_status.pl check_phpfpm_status.pl

chmod nagios:nagios check_nginx_status.pl check_phpfpm_status.pl

运行pl插件需要安装组件

yum install -y perl-Time-HiRes

在被监控端需要做如下设置

修改Nginx配置文件

vi /usr/local/nginx/conf/vhosts/dts.conf

添加蓝色部分

server {

listen   10.168.45.10:80;

server_name dts.xx.com;

root /www/dts/web/www;

index index.php index.html index.htm;

#nagios查看nginx信息

location /nginx_status {

stub_status on;

#allow 10.252.12.7;

#deny all;

}

#nagios查看php信息

location = /status {

include        fastcgi_params;

fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_index  index.php;

fastcgi_pass   127.0.0.1:9000;

#allow 10.252.12.7;

#deny all;

}

location / {

}

location ~ \.php$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include        fastcgi_params;

}

}

重启加载Nginx配置

/usr/local/nginx/sbin/nginx -s reload

修改php-fpm配置文件

vi /usr/local/php/etc/php-fpm.conf

去除以下一行的分号,开启查看状态

pm.status_path = /status

重新加载php-fpm

/etc/init.d/php-fpm reload

客户端的配置到这里就结束了。

在服务器端开始测试

[[email protected] libexec]# cd /usr/local/nagios/libexec/

[[email protected] libexec]# ./check_nginx_status.pl -H 10.168.45.10

NGINX OK -  0.054 sec. response time, Active: 11 (Writing: 11 Reading: 0 Waiting: 0) ReqPerSec: 0.000 ConnPerSec: 0.000 ReqPerConn: 0.000|Writing=11;;;; Reading=0;;;; Waiting=0;;;; Active=11;;;; ReqPerSec=0.000000;;;; ConnPerSec=0.000000;;;; ReqPerConn=0.000000;;;;

[[email protected] libexec]# ./check_phpfpm_status.pl -H 10.168.45.10 -u /status?full

PHP-FPM OK - www, 0.073 sec. response time, Busy/Idle 12/1298, (max: 34, reached: 0), ReqPerSec 90.1, Queue 0 (len: 128, reached: 0)|Idle=1298 Busy=12 MaxProcesses=34 MaxProcessesReach=0 Queue=0 MaxQueueReach=0 QueueLen=128 ReqPerSec=90.084746

修改文件

vi /usr/local/nagios/etc/objects/commands.cfg

最后一行添加

# check nginx

define command {

command_name    check_nginx_status

command_line    $USER1$/check_nginx_status.pl -H $HOSTADDRESS$

}

# check phpfpm

define command {

command_name    check_phpfpm_status

command_line    $USER1$/check_phpfpm_status.pl -H $HOSTADDRESS$ -u /status?full

}

修改主机文件,添加以下内容

define service{

use                       generic-service

host_name                 app_1

service_description       nginx_status

check_command             check_nginx_status

}

define service{

use                       generic-service

host_name                 app_1

service_description       phpfpm_status

check_command             check_phpfpm_status

}

重启Nagios

/etc/init.d/nagios restart

查看页面

第一次查看页面,会发现红色信息,提示

/tmp/10.168.45.10_check_nginx_status3b462c1ca9852cf74bb3c8c3c6a10872

/tmp/10.168.45.10_check_phpfpm_status3b683c1ca9817cf74ff3c7c3c6a10884

无法写入

解决办法就是删除这个文件,等待几分钟,就会变成绿色了。

如果Nagios的安装路径不是/usr/local/nagios

那么查看phpfpm_status的时候,提示找不到加载utils.pm文件

解决方法就是修改check_phpfpm_status.pl文件

将use lib "/usr/local/nagios/libexec";

修改为你自己安装的路径

过几分钟查看就会变成绿色了。

时间: 2024-11-02 10:30:53

Nagios 监控Nginx和php-fpm的相关文章

Nagios监控nginx服务详细过程

1在nginx 服务器上安装nrpe客户端: Nginx的服务需要监控起来,不然万一down了而不及时修复,会影响web应用,如下web应用上面启动的nginx后台进程[[email protected] ~]# ps aux|grep nginxnobody   15294  0.0  0.0  22432  3464 ?        S    Jul03   0:05 nginx: worker process      nobody   15295  0.0  0.0  22432  3

Nagios监控nginx服务具体过程

1在nginx 服务器上安装nrpe客户端: Nginx的服务须要监控起来.不然万一down了而不及时修复,会影响web应用.例如以下web应用上面启动的nginx后台进程[[email protected] ~]# ps aux|grep nginxnobody   15294  0.0  0.0  22432  3464 ?        S    Jul03   0:05 nginx: worker process      nobody   15295  0.0  0.0  22432

python——nagios监控nginx日志 request_time

遇到问题:nginx日志包含非常重要的信息.比如upstream_response_time 和request_time.现需求监控改值. 解决问题:编写python脚本,通过nagios check_nrpe 插件完成监控. 前提了解: nginx日志格式: log_format  main  '$remote_addr |$time_local| $request | $status | $body_byte s_sent | $http_referer | $http_user_agent

nagios 监控 nginx

开启防火墙161端口 252.10760.195.252.110 iptables -I INPUT -p udp -s 60.195.252.107 –dport 161 -j ACCEPT iptables -I INPUT -p udp -s 60.195.252.110 –dport 161 -j ACCEPT 2012-03-21 23:07:38|  分类: 监控 |举报|字号 订阅 1.在被控端执行操作:把check_nginx插件放进/usr/local/nagios/libex

nagios监控nginx状态

1.服务器与被监控主机安装组件 yum install bc 编译安装nrpe(参考教程:http://2860664.blog.51cto.com/2850664/1559056) 以下为被监控主机设置 2.下载监控脚本 check_nginx.sh,并上传到被监控主机的 /usr/local/nagios/libexec目录 下载地址:http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=622&cf_i

nagios监控nginx状态(check_nginx_status.pl)

1.安装所需组件 yum install perl perl-devel perl-CPAN bc -y perl -MCPAN -eshell  & cpan> install Bundle::LWP 编译安装nrpe(参考教程:http://2860664.blog.51cto.com/2850664/1559056) 以下是被监控端设置 2.下载check_nginx_status.pl脚本 下载地址:https://codeload.github.com/regilero/check

nagios监控实用教程

nagios监控实用教程 Nagios作为开源网络监视工具,它不但可以有效的监控内存.流量.数据库使用情况.它还可以Windows.Linux主机状态.本专题收录了有关Nagios监控相关文章,供大家参考学习. 标签:nagios nagios监控 监控工具 阅读量:26196收藏量:8 文章标题 阅读评论 作者 nagios网卡流量监控 trffic.sh 51/0 anyue0072017-04-26 nagios搭建(二):nagios监控windows主机 1203/0 fantefei

Nginx下搭建Nagios监控平台(转载)

Nagios依赖PHP环境和perl环境,由于Nginx不支持Perl的CGI,需先来搭建Perl环境,Nagios原理介绍略. 文章原出处:https://blog.linuxeye.com/312.html1.下载最新稳定源码包和Perl脚本 mkdir nagios-cacti cd nagios-cacti wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.74.tar.gz wget http://www.cpan.org/a

zabbix监控nginx

上一篇介绍了zabbix安装,这里接着说说zabbix监控nginx 安装zabbix-agent 在实际应用中,我们server和agent部在同一机器上,所以需要分开安装,其实上一篇已经说了,在编译安装zabbix-server的时候也安装了zabbix-agent,如果只安装zabbix-agent # 切换到zabbix解压目录 cd zabbix-3.0.3 # 编译配置 ./configure --prefix=/usr/local/zabbix-agent --enable-age