開啟php-fpm status
php-fpm.conf
pm.status_path = /statusx45
nginx.conf
location ~ /(statusx45)$ { include fastcgi_params; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; }
http://127.0.0.1/statusx45 # 可帶參數(json,xml,html) 加&full顯示每個pool process
pool: www process manager: static start time: 31/Aug/2016:00:00:01 +0800 start since: 56381 accepted conn: 1324784 listen queue: 0 max listen queue: 0 listen queue len: 0 idle processes: 996 active processes: 4 total processes: 1000 max active processes: 28 max children reached: 0
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:總進程數量
max active processes:最大的活躍進程數量(FPM啟動開始算)
max children reached:進程最大數量限制的次數,如果這個數量不為0,那說明你的最大進程數量太小了,需要設置大點
定義zabbix監控item key # 取狀態值建議用xml格式
vim etc/zabbix_agentd.conf.d/userparameter_php-fpm.conf
UserParameter=php-fpm.status[*],/usr/bin/curl -s -m 5 "http://127.0.0.1/statusx45?xml" | grep "<$1>" | awk -F'>|<' '{ print $$3}'
重啟zabbix_agentd使監控key生效
客戶端測試
服務器端 # 頁面監控主機添加對應的application items
創建Graphs(php-fpm status)
zabbix后台 Configuration->Hosts->被監控的主機name->Graphs
查看graph(php-fpm status)
zabbix后台 Monitoring->Graphs->對應的graph