Zabbix学习笔记(四十七)-zabbix监控php-fpm状态​

1、修改配置文件

/etc/php-fpm.d/www.conf

;pm.status_path = /status 修改为pm.status_path = /php_status

/etc/nginx/nginx.conf增加

location /php_status {

fastcgi_pass unix:/run/php-fpm/www.sock;

# fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

重启服务

systemctl restart php-fpm.service nginx.service

浏览器:

http://10.41.1.88/php_status

Zabbix学习笔记(四十七)_zabbix


数据说明:

pool(资源池名): www

process manager(进程管理方式): dynamic(动态)

start time(启动时间): 17/Mar/2021:10:43:25 +0800

start since(持续运行时间): 50

accepted conn(接受的请求次数): 1

listen queue(请求队列): 0

max listen queue(最大队列值): 0

listen queue len(监听的队列长度): 128

idle processes(空闲进程): 4

active processes(当前活动进程): 1

total processes(进程总数): 5

max active processes(最大活动进程数): 1

max children reached(达到最大进程数): 0

slow requests(慢请求): 0

2、编写监控脚本

cat php_monitor.sh

#!/bin/bash


PHP_COMMAND=$1

CMD="/usr/bin/curl -s http://127.0.0.1/php_status"



#check


start_since(){

$CMD |awk '/since/ {print $3}'

exit 0;

}

accepted_conn(){

$CMD |awk '/accepted/ {print $3}'

exit 0;

}

listen_queue(){

$CMD |awk '/^listen queue/ {print $0}'|awk '!/len/ {print $3}'

exit 0;

}

max_listen_queue(){

$CMD |awk '/max listen/ {print $4}'

exit 0;

}

listen_queue_len(){

$CMD |awk '/len/ {print $4}'

exit 0;

}

idle_processes(){

$CMD |awk '/idle/ {print $3}'

exit 0;

}

active_processes(){

$CMD |awk '/^active/ {print $3}'

exit 0;

}

total_processes(){

$CMD |awk '/^total/ {print $3}'

exit 0;

}

max_active_processes(){

$CMD |awk '/max active/ {print $4}'

exit 0;

}

max_children_reached(){

$CMD |awk '/children/ {print $4}'

exit 0;

}

slow_requests(){

$CMD |awk '/slow/ {print $3}'

exit 0;

}

check(){

ps -ef|grep -v grep|grep -c php-fpm

exit 0;

}

case "$PHP_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

;;

check)

check

;;

*)

echo "invalid status"

exit 2;

esac

3、客户端配置文件

/etc/zabbix/zabbix_agentd.d/zbx_php.conf

UserParameter=php_status[*],/bin/bash /root/php_monitor.sh $1

重启zabbix-agent

4、配置php监控模板

Zabbix学习笔记(四十七)_zabbix_02


5、监控主机链接php监控模板

Zabbix学习笔记(四十七)_zabbix_03