前幾天弄了個(gè)Nginx 服務(wù)監(jiān)控,今天再試試php服務(wù)的監(jiān)控
團(tuán)風(fēng)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,團(tuán)風(fēng)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為團(tuán)風(fēng)上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的團(tuán)風(fēng)做網(wǎng)站的公司定做!操作系統(tǒng): CentOS 7.2
PHP版本:5.6.30
zabbix版本:2.2.5
發(fā)現(xiàn)php-fpm和Nginx一樣都有自身就具備可提供查看的狀態(tài)頁面,所以我們就可以在配置檔案里開啟它
首先查看你的php設(shè)定檔是否開啟了狀態(tài)頁面查看的功能
# cat /data0/php/etc/php-fpm.conf | grep status_path ;pm.status_path = /status
如果情況同上,那說明還沒有開啟,故我們就修改配置,讓它支持查看php-fpm status
# vim /data0/php/etc/php-fpm.conf pm.status_path = /status ---去掉;號(hào)注釋
保存退出
重啟php-fpm服務(wù),讓查看status功能生效
# pkill -9 php-fpm # /data0/php/sbin/php-fpm
在Nginx配置上添加支持獲取PHP status的設(shè)定
# vim /data0/nginx/conf/nginx.conf ##在server模塊內(nèi)添加即可 server { listen 80; server_name www.sss.com; #20170701 php-fpm status for zabbix to fetch data location ~ ^/(status|ping)$ { include fastcgi_params; fastcgi_pass 172.17.0.2:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } #20170701 php-fpm status for zabbix to fetch data end }
注:因?yàn)槲业腜HP是在docker內(nèi)運(yùn)行的,所以上面的fatstcgi_pass 要根據(jù)你自己的情況而定
設(shè)置完畢,保存退出,重啟Nginx服務(wù),讓設(shè)定生效
# /data0/nginx/sbin/nginx -t nginx: the configuration file /data0/nginx/conf/nginx.conf syntax is ok nginx: configuration file /data0/nginx/conf/nginx.conf test is successful # /data0/nginx/sbin/nginx -s reload
至此,PHP、Nginx準(zhǔn)備工作完畢,現(xiàn)在可以開始查看成效
查看你的status頁面
有兩種方式:
1.在本地訪問
curl http://網(wǎng)址/status
# curl http://www.sss.com/status pool: www process manager: dynamic start time: 30/Jun/2017:14:14:02 +0800 start since: 94540 accepted conn: 75834 listen queue: 0 max listen queue: 2 listen queue len: 128 idle processes: 99 active processes: 1 total processes: 100 max active processes: 9 max children reached: 0 slow requests: 122
2.打開瀏覽器訪問
http://網(wǎng)址/status
內(nèi)容解釋:
pool: www --php-fpm池名 process manager: dynamic --進(jìn)程管理方式 start time: 30/Jun/2017:14:14:02 +0800 --啟動(dòng)日期,一旦你對(duì)php-fpm服務(wù)更新,它也同樣會(huì)更新 start since: 94540 --運(yùn)行至現(xiàn)在的時(shí)長 accepted conn: 75834 --當(dāng)前池所接受的請(qǐng)求數(shù) listen queue: 0 --請(qǐng)求等待隊(duì)列數(shù),若此值大于0,就要增加php-fpm進(jìn)程數(shù)了 max listen queue: 2 --高的請(qǐng)求等待隊(duì)列數(shù) listen queue len: 128 --socket等待隊(duì)列長度 idle processes: 99 --空閑進(jìn)程數(shù) active processes: 1 --活動(dòng)的進(jìn)程數(shù) total processes: 100 --總進(jìn)程數(shù) max active processes: 9 --大活動(dòng)進(jìn)程數(shù) max children reached: 0 --大道進(jìn)程大數(shù)限制次數(shù),同樣若此值不為0,需要將大進(jìn)行時(shí)進(jìn)程擴(kuò)大來滿足需求 slow requests: 122 --緩慢請(qǐng)求數(shù)
php-fpm status 頁面非常友善的地方是在配合zabbix監(jiān)控時(shí),不在需要你編寫shell腳本來獲取數(shù)據(jù)了,不錯(cuò)吧,又可以偷懶了!
不信,在你的被監(jiān)控主機(jī)(即PHP-fpm主機(jī))上試下下面的做法
1.訪問URL末尾添加?xml
curl http://www.sss.com/status?xml <?xml version="1.0" ?> <status> <pool>www</pool> <process-manager>dynamic</process-manager> <start-time>1498803242</start-time> <start-since>95730</start-since> <accepted-conn>77180</accepted-conn> <listen-queue>0</listen-queue> <max-listen-queue>2</max-listen-queue> <listen-queue-len>128</listen-queue-len> <idle-processes>99</idle-processes> <active-processes>1</active-processes> <total-processes>100</total-processes> <max-active-processes>9</max-active-processes> <max-children-reached>0</max-children-reached> <slow-requests>122</slow-requests>
2.訪問URL末尾添加?html
curl http:/www.sss.com/devopsfjjerpstatus?html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head><title>PHP-FPM Status Page</title></head> <body> <table> <tr><th>pool</th><td>www</td></tr> <tr><th>process manager</th><td>dynamic</td></tr> <tr><th>start time</th><td>30/Jun/2017:14:14:02 +0800</td></tr> <tr><th>start since</th><td>95954</td></tr> <tr><th>accepted conn</th><td>77437</td></tr> <tr><th>listen queue</th><td>0</td></tr> <tr><th>max listen queue</th><td>2</td></tr> <tr><th>listen queue len</th><td>128</td></tr> <tr><th>idle processes</th><td>99</td></tr> <tr><th>active processes</th><td>1</td></tr> <tr><th>total processes</th><td>100</td></tr> <tr><th>max active processes</th><td>9</td></tr> <tr><th>max children reached</th><td>0</td></tr> <tr><th>slow requests</th><td>122</td></tr> </table> </body></html>
3.訪問URL末尾添加?json
# curl http://www.sss.com/status?json {"pool":"www","process manager":"dynamic","start time":1498803242,"start since":96133,"accepted conn":77639,"listen queue":0,"max listen queue":2,"listen queue len":128,"idle processes":99,"active processes":1,"total processes":100,"max active processes":9,"max children reached":0,"slow requests":122}
在被監(jiān)控機(jī)的zabbix agent 的配置里添加自定義的parameter
vim /data0/zabbix/etc/zabbix_agentd.conf ##monitoring for php-fpm status UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://www.sss.com/devopsfjjerpstatus?xml" | grep "<$1>"| awk -F '>|<' '{ print $$3}'
為了讓修改的配置生效,我們要重啟下zabbix_agentd服務(wù)
# pkill -9 zabbix_agentd # /data0/zabbix/sbin/zabbix_agentd
目前在被監(jiān)控機(jī)器上的設(shè)定已經(jīng)基本結(jié)束,現(xiàn)在轉(zhuǎn)戰(zhàn)zabbix server,跟之前的操作一樣,只要在zabbix web管理界面上導(dǎo)入PHP-fpm監(jiān)控模板
注:有需要的朋友,可以在本文章末尾下載我的zabbix php-fpm監(jiān)控模板
出現(xiàn)上面的匯入成功后,在你的模板列表里查找是否已經(jīng)匯入
從上面的圖中可以看出有個(gè)叫做Template App PHP-FPM的模板已經(jīng)存在了。
查看監(jiān)控項(xiàng)目?jī)?nèi)容
查看監(jiān)控觸發(fā)器
查看監(jiān)控圖形內(nèi)容
接下來將這個(gè)模板鏈接到你需要監(jiān)控php-fpm服務(wù)的主機(jī)即可,最簡(jiǎn)單的方法是把主機(jī)納入到監(jiān)控模板內(nèi)
可以再到你的主機(jī)上看看,它是否已經(jīng)被連接到你的主機(jī)上
發(fā)現(xiàn)Template App PHP_FPM已經(jīng)在主機(jī)的連結(jié)模板內(nèi)了
如果模板不合適,可以自己一步一步建立監(jiān)控模板,可能zabbix監(jiān)控版本不同,但是大體是一樣的,根據(jù)自己的需求進(jìn)行設(shè)定即可。
首先創(chuàng)建監(jiān)控模板
選好群組模板,然后填入想要的模板名稱以及需要納入到監(jiān)控模板內(nèi)的主機(jī)
2.配置好模板后,創(chuàng)建應(yīng)用集
3.在應(yīng)用集內(nèi)添加監(jiān)控項(xiàng)目
注:關(guān)于監(jiān)控項(xiàng)目可以參考我在上面貼出監(jiān)控項(xiàng)目?jī)?nèi)容里的監(jiān)控項(xiàng)目名稱和鍵值作為參考
其他監(jiān)控項(xiàng)目和上面內(nèi)容,除了名稱、鍵值、備注描述信息,其他都是一樣的。
4.添加監(jiān)控告警
上面的告警是當(dāng)php-fpm進(jìn)程為零時(shí),進(jìn)行嚴(yán)重告警
5.添加監(jiān)控項(xiàng)目查看圖形
注:關(guān)于監(jiān)控圖形可以參考我在上面貼出監(jiān)控圖形內(nèi)容里的監(jiān)控圖形名稱作為參考,主要根據(jù)你自己的需求進(jìn)行設(shè)定會(huì)比較精準(zhǔn)
在名稱上填入你想要的監(jiān)控名稱,在監(jiān)控項(xiàng)選擇你已經(jīng)添加好的項(xiàng)目,反正就是根據(jù)你個(gè)人的需求進(jìn)行設(shè)定即可
設(shè)定好上面的東西,那你就可以直接在監(jiān)控內(nèi)查看你的監(jiān)控圖形是否有數(shù)據(jù)產(chǎn)生了
至此所有創(chuàng)建動(dòng)作結(jié)束,如果出圖,則說明設(shè)定成功啦!
附件:http://down.51cto.com/data/2366813另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:php-fpm服務(wù)納入zabbix監(jiān)控-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://bm7419.com/article30/dssipo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、域名注冊(cè)、App開發(fā)、Google、外貿(mào)網(wǎng)站建設(shè)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容