Zabbix监控PHP-FPM性能

配置php-fpm性能页面(基于nginx)

php-fpm配置

# vim /usr/local/php/etc/php-fpm.conf
listen.allowed_clients = 127.0.0.1
pm.status_path = /phpstatus

配置完成后reload配置

nginx配置

# vim /usr/local/nginx/conf/nginx.conf
    server {
        listen       8000;
        server_name  localhost;

        location /NginxStatus {
        stub_status on;
        access_log off;
        }


        location ~ /(phpstatus)$
        {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
	}

配置完成后reload配置

测试

# curl -s -m 10 http://localhost:8000/phpstatus
pool:                 www
process manager:      dynamic
start time:           02/Dec/2018:17:53:44 +0800
start since:          1373
accepted conn:        682
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       133
active processes:     1
total processes:      134
max active processes: 6
max children reached: 0
slow requests:        0


//以xml格式返回
# curl -s -m 10 http://localhost:8000/phpstatus?xml
<?xml version="1.0" ?>
<status>
<pool>www</pool>
<process-manager>dynamic</process-manager>
<start-time>1543744424</start-time>
<start-since>1399</start-since>
<accepted-conn>705</accepted-conn>
<listen-queue>0</listen-queue>
<max-listen-queue>0</max-listen-queue>
<listen-queue-len>128</listen-queue-len>
<idle-processes>133</idle-processes>
<active-processes>1</active-processes>
<total-processes>134</total-processes>
<max-active-processes>6</max-active-processes>
<max-children-reached>0</max-children-reached>
<slow-requests>0</slow-requests>

php-fpm status状态值详解
pool:fpm池子名称,大多数为www
process manager:进程管理方式,值:static,dynamic or ondemand
start time:启动日期,如果reload了php-fpm,时间会更新
start since:运行时长
accepted conn:当前池子接受的请求数
listen queue:请求等待队列,如果这个值不为0,那么要增加FPM的进程数量
max listen queue:请求等待队列最高的数量
listen queue len:socket等待队列长度
idle processes:空闲进程数量
active processes:活跃进程数量
total processes:总进程数量

zabbix_agent配置

# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/UserParameter_script.conf
追加
#PHP-FPM
UserParameter=php-fpm.status[*],/usr/local/zabbix/scripts/php-fpm_monitor.sh $1

PHP-FPM监控脚本

#!/bin/bash

COMMAND=$1

# PHP-FPM性能监控
function php_status() {
	local HOST="localhost"
	local PORT="8000"
	/usr/bin/curl -s -m 10 http://localhost:8000/phpstatus?xml |grep "<$COMMAND>" |awk -F'>|<' '{print $3}'
}

# PHP-FPM连接数统计
function php_conn() {
	local FPMPORT=9000
	/bin/netstat -ant|grep $FPMPORT|grep $COMMAND |wc -l
}
# 执行function
case $COMMAND in
        TIME_WAIT|ESTABLISHED|CLOSE_WAIT)
        php_conn;
	;;
	accepted-conn|listen-queue-len|active-processes)
	php_status;
        ;;
        *)
        echo $"USAGE:$0 {accepted-conn|listen-queue-len|active-processes|ESTABLISHED|TIME_WAIT|CLOSE_WAIT}"
esac

重启Agent

WEB页面配置(参考Zabbix自定义监控)

创建模板-->创建应用集-->创建监控项(取accepted-conn--请求数,  listen-queue-len--列对数,  active-processes--活跃进程数)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值