您好,登錄后才能下訂單哦!
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界面添加對應的監控模塊
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。