《使用zabbix監(jiān)控nginx和php-fpm性能》要點:
本文介紹了使用zabbix監(jiān)控nginx和php-fpm性能,希望對您有用。如果有疑問,可以聯(lián)系我們。
zabbix安裝在/usr/local/zabbix
路徑下,其相關(guān)配置文件及二進制執(zhí)行程序都放置其中.
nginx安裝在/usr/local/nginx
下,其相關(guān)配置文件及二進制執(zhí)行程序都放置其中.
php安裝在/usr/local/php
下,其相關(guān)配置文件及二進制執(zhí)行程序都放置其中.
繼續(xù)后面的操作前,請確認nginx和php-fpm的服務(wù)端口都處于監(jiān)聽狀態(tài).
使用nginx -V
可以查看nginx是否將模塊·http_stub_status_module`編譯進包中:
nginx -t
測試配置文件是否有明顯邏輯及語法錯誤,沒有問題則重載配置文件.curl
指令查看nginx status:修改php-fpm.conf
文件,去掉status頁面的注釋,并可以根據(jù)需要將其改名.操作如下:
修改完php-fpm.conf
后,使用service php-fpm reload
重新加載配置文件,然后在瀏覽器或者使用curl
指令查看php-fpm的status.操作如下:
php-fpm的status可以查看匯總信息和詳細信息,詳細信息比匯總信息要多出每一個php-fpm進程的相關(guān)信息,同時支持多種格式輸出,如xml、html和json,默認情況下分別使用如果指令即可:
xamples for summary status page:
http://example.com/status
http://example.com/status?json
http://example.com/status?html
http://example.com/status?xml
Example for detailed status page:
http://example.com/status?full
http://example.com/status?json&full
http://example.com/status?html&full
http://example.com/status?xml&full
使用何種格式查看status決定了后續(xù)使用zabbix進行監(jiān)控獲取status數(shù)值的方式.本文以上述curl localhost/php_fpm-status
的輸出為例.
在適當?shù)奈恢?一般是/usr/local/zabbix/bin
里準備腳本用于提取status里每個字段的數(shù)值.
此腳本為/usr/local/zabbix/bin/nginx_status.sh
,其內(nèi)容如下:
php-fpm status數(shù)值提取腳本為/usr/local/zabbix/bin/php_fpm_status.sh
,內(nèi)容如下:
在/usr/local/zabbix/etc/zabbix_agentd.d/
中創(chuàng)建關(guān)聯(lián)nginx status和php-fpm status的子配置文件,創(chuàng)建一個,或者在已有的某配置文件中增加也可以,我這里分別為它們創(chuàng)建配置文件,文件名可自定義,只要確保此文件夾全部內(nèi)容在zabbix_agentd.conf
中包含(include)了.
確認在/usr/local/zabbix/etc/zabbix_agentd.conf
中包含:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
且沒有被注釋.
service zabbix_agentd restart
?讓zabbix_agentd加載新的配置文件.
在zabbix server上使用如下指令測試能否獲取到nginx和php-fpm status數(shù)值.
注意:
zabbix_get
指令在zabbix server上運行.zabbix-get
后-s
指定的ip為zabbix-agentd的監(jiān)聽ip.這里的模板包含對nginx status和php-fpm status要監(jiān)控的item
、trigger
、Graphs
等一系列內(nèi)容.對于在zabbix server上新增要監(jiān)控的內(nèi)容,最好的辦法就是從模板開始,然后按照順序依次配置相應(yīng)內(nèi)容,無需去網(wǎng)上找現(xiàn)成的模板導(dǎo)入,對于系統(tǒng)的監(jiān)控按需配置是最好的.下面是相應(yīng)的操作過程.
新建nginx status模板
定義nginx status模板
定義nginx status items,這里我使用的是被動臨控
增加nginx status狀態(tài)碼映射
nginx trigger定義
定義nginx監(jiān)控視圖
php-fpm status的模板添加步驟和上述方法一樣,此處不在贅述.
給主機或主機組關(guān)聯(lián)模板
查看監(jiān)控效果可以通過查看Monitoring
—->Latest data
,過濾出相應(yīng)的主機及應(yīng)用名進行查看,最新收集的各item的監(jiān)控結(jié)果,凡是監(jiān)控到數(shù)據(jù)的item會顯示數(shù)據(jù),出現(xiàn)灰色的表示沒有監(jiān)控到數(shù)據(jù),需要排查原因.如下所示:
nginx的監(jiān)控數(shù)據(jù)
也可以通過定義的Graphs
查看監(jiān)控效果:
nginx statur監(jiān)控視圖
abbix中要實現(xiàn)對用戶自定義的item的監(jiān)控,大致過程如下:
文章來自微信公眾號:馬哥Linux運維
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/4140.html