php-fpm服務(wù)納入zabbix監(jiān)控-創(chuàng)新互聯(lián)

前幾天弄了個(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

php-fpm 服務(wù)納入zabbix監(jiān)控

內(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>

php-fpm 服務(wù)納入zabbix監(jiān)控

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>

php-fpm 服務(wù)納入zabbix監(jiān)控

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}

php-fpm 服務(wù)納入zabbix監(jiān)控

在被監(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)控模板

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiān)控

出現(xiàn)上面的匯入成功后,在你的模板列表里查找是否已經(jīng)匯入

php-fpm 服務(wù)納入zabbix監(jiān)控

從上面的圖中可以看出有個(gè)叫做Template App PHP-FPM的模板已經(jīng)存在了。

查看監(jiān)控項(xiàng)目?jī)?nèi)容

php-fpm 服務(wù)納入zabbix監(jiān)控

查看監(jiān)控觸發(fā)器

php-fpm 服務(wù)納入zabbix監(jiān)控

查看監(jiān)控圖形內(nèi)容

php-fpm 服務(wù)納入zabbix監(jiān)控

接下來將這個(gè)模板鏈接到你需要監(jiān)控php-fpm服務(wù)的主機(jī)即可,最簡(jiǎn)單的方法是把主機(jī)納入到監(jiān)控模板內(nèi)

php-fpm 服務(wù)納入zabbix監(jiān)控

可以再到你的主機(jī)上看看,它是否已經(jīng)被連接到你的主機(jī)上

php-fpm 服務(wù)納入zabbix監(jiān)控

發(fā)現(xiàn)Template App PHP_FPM已經(jīng)在主機(jī)的連結(jié)模板內(nèi)了

如果模板不合適,可以自己一步一步建立監(jiān)控模板,可能zabbix監(jiān)控版本不同,但是大體是一樣的,根據(jù)自己的需求進(jìn)行設(shè)定即可。

  1. 首先創(chuàng)建監(jiān)控模板

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiān)控

選好群組模板,然后填入想要的模板名稱以及需要納入到監(jiān)控模板內(nèi)的主機(jī)

php-fpm 服務(wù)納入zabbix監(jiān)控

2.配置好模板后,創(chuàng)建應(yīng)用集

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiān)控

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)目名稱和鍵值作為參考

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiān)控

其他監(jiān)控項(xiàng)目和上面內(nèi)容,除了名稱、鍵值、備注描述信息,其他都是一樣的。

4.添加監(jiān)控告警

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(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)

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiā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)生了

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiān)控

php-fpm 服務(wù)納入zabbix監(jiā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)

手機(jī)網(wǎng)站建設(shè)