资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

zabbix监控phpfpm_status

zabbix 监控phpfpm_status

站在用户的角度思考问题,与客户深入沟通,找到曲松网站设计与曲松网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广、申请域名虚拟主机、企业邮箱。业务覆盖曲松地区。


1. 启用php-fpm状态功能

# cat  /usr/local/php-5.5.10/etc/php-fpm.conf | grep status_path
pm.status_path = /status
###打开上面的内容即可

默认情况下为/status,当然也可以改成其他的,例如/php_status等等

2. nginx配置

在默认主机里面加上location或者你希望能访问到的主机里面

server {
    listen  *:80 default_server;
    server_name _;
    location ~ ^/(status|ping)$
    {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
}

3. 重启nginx/php-fpm
请依照你的环境重启你的nginx和php-fpm

4. 测试打开status页面

# curl http://127.0.0.1/status
pool:                 www
process manager:      dynamic
start time:           08/Sep/2016:16:15:12 +0800
start since:          4313
accepted conn:        1783
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       29
active processes:     1
total processes:      30
max active processes: 3
max children reached: 0
slow requests:        0

5. php-fpm status详解

pool – fpm池子名称,大多数为www
process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic
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 – 总进程数量
max active processes – 最大的活跃进程数量(FPM启动开始算)
max children reached - 大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
slow requests – 启用了php-fpm slow-log,缓慢请求的数量

php-fpm的监控相关信息可以参考:http://www.ttlsa.com/php/use-php-fpm-status-page-detail/

6. 编写脚本监控php-fpm

[root@iZ23qinwbndZ etc]# cat script/zabbix_linux_php.sh 
#!/bin/bash
############################################################
# $Name:         zabbix_linux_php.sh
# $Version:      v1.0
# $Function:     zabbix plugins
# $Author:       GAOGD
# $organization: http://lvnian.blog.51cto.com/
# $Create Date:  20160908
# $Description:  Monitor Linux Service Status
############################################################
php_status_fun(){
      case $1 in
        accepted_conn)
            /usr/bin/curl -s "http://127.0.0.1"/status  |grep '^accepted conn' |awk '{print $NF}'
            ;;
        listen_queue)
            /usr/bin/curl -s "http://127.0.0.1"/status  |grep '^listen queue:' |awk '{print $NF}'
            ;;
        listen_queue_len)
            /usr/bin/curl -s "http://127.0.0.1"/status  |grep '^listen queue len' |awk '{print $NF}'
            ;;
        idle_processes)
            /usr/bin/curl -s "http://127.0.0.1"/status  |grep '^idle processes' |awk '{print $NF}'
            ;;
        active_processe)
            /usr/bin/curl -s "http://127.0.0.1"/status  |grep '^active processes' |awk '{print $NF}'
            ;;
        total_processes)
            /usr/bin/curl -s "http://127.0.0.1"/status  |grep '^total processes' |awk '{print $NF}'
        ;;
        slow_requests)
            /usr/bin/curl -s "http://127.0.0.1"/status  |grep '^slow requests' |awk '{print $NF}'
        ;;
        esac 
}

php_status_fun $1
[root@iZ23qinwbndZ etc]#

7.把脚本应用到zabbix客户端

[root@iZ23qinwbndZ etc]# tail -4 zabbix_agentd.conf
UserParameter=nginx_status[*],/etc/zabbix/etc/script/zabbix_linux_plugin.sh nginx_status  $1
UserParameter=php_status[*],/etc/zabbix/etc/script/zabbix_linux_php.sh  $1
UserParameter=CheckMem,free -m |awk '/Mem/{print $4}'
[root@iZ23qinwbndZ etc]#

8.重启zabbix客户端

9.zabbix web界面添加对应的监控模块

zabbix 监控phpfpm_status

zabbix 监控phpfpm_status

zabbix 监控phpfpm_status


本文名称:zabbix监控phpfpm_status
链接分享:http://cdkjz.cn/article/ggjhcd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220