入職以后,領(lǐng)導(dǎo)讓我著手zabbix監(jiān)控的部署和具體的維護(hù)。監(jiān)控php首先就是一個挺重要的事情了。zabbix監(jiān)控php可以通過php自帶的一個status功能來監(jiān)控,需要在配置文件里面開啟,同時在nginx里面配置php status可以訪問
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、丹東網(wǎng)站維護(hù)、網(wǎng)站推廣。1.php-fpm 開啟status
grep pm.status_path /usr/local/php/etc/php-fpm.conf pm.status_path = /php-fpm-status默認(rèn)情況下為/status,當(dāng)然也可以改成/phpfpm_status等,我這里是改成/php-fpm-status
2.nginx配置
server { listen 80; server_name 127.0.0.1; location /phpfpm_status { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; } }3.php status詳解
pool – fpm池子名稱,大多數(shù)為www process manager – 進(jìn)程管理方式,值:static, dynamic or ondemand. dynamic start time – 啟動日期,如果reload了php-fpm,時間會更新 start since – 運行時長 accepted conn – 當(dāng)前池子接受的請求數(shù) listen queue – 請求等待隊列,如果這個值不為0,那么要增加FPM的進(jìn)程數(shù)量 max listen queue – 請求等待隊列高的數(shù)量 listen queue len – socket等待隊列長度 idle processes – 空閑進(jìn)程數(shù)量 active processes – 活躍進(jìn)程數(shù)量 total processes – 總進(jìn)程數(shù)量 max active processes – 大的活躍進(jìn)程數(shù)量(FPM啟動開始算) max children reached - 大道進(jìn)程大數(shù)量限制的次數(shù),如果這個數(shù)量不為0,那說明你的大進(jìn)程數(shù)量太小了,請改大一點。 slow requests – 啟用了php-fpm slow-log,緩慢請求的數(shù)量4.添加zabbix_agent 配置
[root@localhost zabbix_agentd.conf.d]# cat check_php_status.conf UserParameter=php-fpm.status[*],/etc/zabbix/alertscripts/php_status.sh $1 UserParameter=php_status,ps -ef | grep php-fpm | awk '{ print $9}' | grep master | wc -l UserParameter=process.php.memory,/home/hckjS213/zabbix/etc/script/processstatus.sh phpmem UserParameter=process.php.cpu,/home/hckjS213/zabbix/etc/script/processstatus.sh phpcpu UserParameter=process.php.num,/home/hckjS213/zabbix/etc/script/processstatus.sh phpnum5.編寫php監(jiān)控腳本
#!/bin/bash CURL=`which curl` function idle { $CURL "http://127.0.0.1/php-fpm-status" 2>/dev/null| grep -w '^idle processes:' | awk '{print $3}' } function total { $CURL "http://127.0.0.1/php-fpm-status" 2>/dev/null| grep -w '^total processes:' | awk '{print $3}' } function active { $CURL "http://127.0.0.1/php-fpm-status" 2>/dev/null| grep -w '^active processes:' | awk '{print $3}' } function listen_queue { $CURL "http://127.0.0.1/php-fpm-status" 2>/dev/null| grep -w "^listen queue:" | awk '{print $3}' } function slow_requests { output=` $CURL "http://127.0.0.1/php-fpm-status" 2>/dev/null| grep -w "^slow requests:"| awk '{print $3}'` if [ "$output" == "" ];then echo 0 else echo $output fi } $1php進(jìn)程資源使用率腳本
#!/bin/bash #chck for php and sphinx used cpu and memory phpmem(){ ps aux|grep "php"|grep -v "grep"|grep -v "processstatus.sh"|awk '{sum+=$6}; END{print sum}' } phpcpu(){ ps aux|grep "php"|grep -v "grep"|grep -v "processstatus.sh"|awk '{sum+=$3}; END{print sum}' } phpnum(){ ps aux|grep "php"|grep -v "grep"|grep -v "processstatus.sh"| wc -l } case "$1" in phpmem) phpmem ;; phpcpu) phpcpu ;; phpnum) phpnum ;; *) echo "Usage: $0 {phpmem|phpcpu|phpnum}" esac6.測試
[root@Zabbix_server ~]#/usr/local/zabbix/bin/zabbix_get -s 192.168.50.119 -k php-fpm.status[active] 1 [root@Zabbix_server ~]# zabbix_get -s 10.144.164.53 -p 10050 -k process.php.memory 2070688 附件:http://down.51cto.com/data/2368482另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。