原理:經過nginx的代理功能,把php-fpm的狀態轉發出來。再用command在zabbix上添加監控。 php
步驟nginx
一、開啓Php-fpm狀態功能。bash
PHP5.3.3之後就集成了php-fpm模塊,不須要額外裝包。curl
二、Nginx配置。ide
三、重啓nginx/php-fpm服務。php-fpm
四、打開status頁面。(測試到這初步成功)測試
五、在zabbix agent腳本目錄下建立腳本(/usr/local/zabbix/etc/monitor_scripts/)ui
[root@master~]# cat php-fpm_status.sh -----可直接複製粘貼----url
#########################################################################spa
# File Name:php-fpm_status.sh
# Author: Ifeng
# Created Time:2014年06月12日 星期四
#########################################################################
#!/bin/bash
idle(){
wget --quiet -O -http://127.0.0.1/status |grep "idle processes" |awk '{print$3}'
}
total(){
wget --quiet -O - http://127.0.0.1/status|grep "total processes" |awk '{print$3}'
}
active(){
wget --quiet -O -http://127.0.0.1/status |grep "active" |awk '{print$3}'|grep -v"process"
}
mactive(){
wget --quiet -O -http://127.0.0.1/status |grep "max active processes:" |awk'{print$4}'
}
listenqueuelen(){
wget --quiet -O -http://127.0.0.1/status |grep "listen queue len" |awk '{print$4}'
}
listenqueue(){
wget --quiet -O -http://127.0.0.1/status |grep "listen queue:"|grep -vE"len|max"|awk '{print$3}'
}
since(){
wget --quiet -O -http://127.0.0.1/status |grep "start since: " |awk '{print$3}'
}
conn(){
wget --quiet -O -http://127.0.0.1/status |grep "accepted conn" |awk '{print$3}'
}
$1
六、更改zabbix.agentd.conf的配置文件以下:
UnsafeUserParameters=1
注意路徑與腳本所在路徑一致
UserParameter=idle.processe,/usr/local/zabbix/etc/monitor_scriptsphp-fpm_status.shidle
UserParameter=total.processes,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shtotal
UserParameter=active.processes,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shactive
UserParameter=max.active.processes,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shmactive
UserParameter=listen.queue.len,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shlistenqueuelen
UserParameter=listen.queue,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shlistenqueue
UserParameter=start.since,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shsince
UserParameter=accepted.conn,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shconn
七、Zabbix上添加監控。
Zabbix WEB面面中,經過以上定義好的key 進行操做。
注:PHP-fpm的狀態參數有不少,可用curl 127.0.0.1/status?full 查看
若有需求,可自行改動腳本。