zabbix 监控php fpm,Zabbix应用监控系列之PHP-FPM状态监控

[root@linux-node4 conf.d]# curl http://127.0.0.1/phpfpm_status

pool:                www

process manager:      dynamic

start time:          05/Jul/2016:15:30:56 +0800

start since:          409

accepted conn:        22

listen queue:        0

max listen queue:    0

listen queue len:    128

idle processes:      4

active processes:    1

total processes:      5

max active processes: 2

max children reached: 0

#PHP-FPM状态解释:

pool #fpm池名称,大多数为www

process manager #进程管理方式dynamic或者static

start time #启动日志,如果reload了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,那说明你的最大进程数量过小,可以适当调整。

5.编写php-fpm的Shell脚本(如果端口不一致,只需要修改脚本端口即可)

[root@linux-node1 ~]# cd /etc/zabbix/scripts

[root@linux-node1 scripts]# vim phpfpm_status.sh

#!/bin/bash

############################################################

# $Name:        phpfpm_status.sh

# $Version:      v1.0

# $Function:    Nginx Status

# $Author:      Mr.HQ

# $organization: www.baidu.com

# $Create Date:  2017-04-29

# $Description:  Monitor Nginx Service Status

############################################################

PHPFPM_COMMAND=$1

PHPFPM_PORT=80  #根据监听不同端口进行调整

start_since(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^start since:/ {print $NF}'

}

accepted_conn(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^accepted conn:/ {print $NF}'

}

listen_queue(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^listen queue:/ {print $NF}'

}

max_listen_queue(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^max listen queue:/ {print $NF}'

}

listen_queue_len(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^listen queue len:/ {print $NF}'

}

idle_processes(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^idle processes:/ {print $NF}'

}

active_processes(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^active processes:/ {print $NF}'

}

total_processes(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^total processes:/ {print $NF}'

}

max_active_processes(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^max active processes:/ {print $NF}'

}

max_children_reached(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^max children reached:/ {print $NF}'

}

slow_requests(){

/usr/bin/curl -s "http://127.0.0.1:"$PHPFPM_PORT"/phpfpm_status" |awk '/^slow requests:/ {print $NF}'

}

case $PHPFPM_COMMAND in

start_since)

start_since;

;;

accepted_conn)

accepted_conn;

;;

listen_queue)

listen_queue;

;;

max_listen_queue)

max_listen_queue;

;;

listen_queue_len)

listen_queue_len;

;;

idle_processes)

idle_processes;

;;

active_processes)

active_processes;

;;

total_processes)

total_processes;

;;

max_active_processes)

max_active_processes;

;;

max_children_reached)

max_children_reached;

;;

slow_requests)

slow_requests;

;;

*)

echo $"USAGE:$0 {start_since|accepted_conn|listen_queue|max_listen_queue|listen_queue_len|idle_processes|active_processes|total_processes|max_active_processes|max_children_reached}"

esac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值