1. <em id="vzzs9"></em>
      <tbody id="vzzs9"></tbody>

    2. <span id="vzzs9"></span>
      <progress id="vzzs9"></progress>
      首頁 運維干貨使用zabbix監控nginx和php-fpm性能

      使用zabbix監控nginx和php-fpm性能

      運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
      領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

      1.系統環境

      1.1 軟件及其版本

      軟件版本

      1.2 軟件安裝路徑

      zabbix安裝在/usr/local/zabbix路徑下,其相關配置文件及二進制執行程序都放置其中。
      nginx安裝在/usr/local/nginx下,其相關配置文件及二進制執行程序都放置其中。
      php安裝在/usr/local/php下,其相關配置文件及二進制執行程序都放置其中。
      繼續后面的操作前,請確認nginx和php-fpm的服務端口都處于監聽狀態。

      2.配置nginx的status

      2.1 確認nginx的status已編譯到程序包中

      使用nginx -V可以查看nginx是否將模塊·http_stub_status_module`編譯進包中:

      nginx

      2.2 啟用nginx的status模塊

      • 修改nginx.conf文件
        一般在默認主機中增加如下location即可:

      status模塊

      • 查看nginx status
        nginx配置文件修改完成以后,使用nginx -t測試配置文件是否有明顯邏輯及語法錯誤,沒有問題則重載配置文件。

      使用zabbix監控nginx和php-fpm性能插圖3

      • 然后使用瀏覽器或者curl指令查看nginx status:

      nginx status

      2.3 nginx status數值的含義說明

      nginx status

      php-fpm自帶的有用于查詢其工作狀態的頁面,需要進行如下 兩步,以啟用這一功能。

      3.配置php-fpm的status

      3.1 啟用php-fpm status頁面

      修改php-fpm.conf文件,去掉status頁面的注釋,并可以根據需要將其改名。操作如下:

      使用zabbix監控nginx和php-fpm性能插圖6

      3.2 查看php-fpm的status

      修改完php-fpm.conf后,使用service php-fpm reload重新加載配置文件,然后在瀏覽器或者使用curl指令查看php-fpm的status。操作如下:

      使用zabbix監控nginx和php-fpm性能插圖7

      php-fpm的status可以查看匯總信息和詳細信息,詳細信息比匯總信息要多出每一個php-fpm進程的相關信息,同時支持多種格式輸出,如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決定了后續使用zabbix進行監控獲取status數值的方式。本文以上述curl localhost/php_fpm-status的輸出為例。

      3.3 php-fpm status的含義

      使用zabbix監控nginx和php-fpm性能插圖8

      4.編寫status數據提取腳本

      在適當的位置,一般是/usr/local/zabbix/bin里準備腳本用于提取status里每個字段的數值。

      4.1 nginx的status數值提取腳本

      此腳本為/usr/local/zabbix/bin/nginx_status.sh,其內容如下:

      使用zabbix監控nginx和php-fpm性能插圖9

      4.2 php-fpm status數值提取腳本

      php-fpm status數值提取腳本為/usr/local/zabbix/bin/php_fpm_status.sh,內容如下:

      使用zabbix監控nginx和php-fpm性能插圖10

      5.創建zabbix_agentd的子配置文件

      /usr/local/zabbix/etc/zabbix_agentd.d/中創建關聯nginx status和php-fpm status的子配置文件,創建一個,或者在已有的某配置文件中增加也可以,我這里分別為它們創建配置文件,文件名可自定義,只要確保此文件夾全部內容在zabbix_agentd.conf中包含(include)了。

      5.1 userparameter_nginx.conf

      使用zabbix監控nginx和php-fpm性能插圖11

      5.2 userparameter_php-fpm.conf

      使用zabbix監控nginx和php-fpm性能插圖12

      5.3 確認子配置文件被zabbix_agentd配置文件包含

      確認在/usr/local/zabbix/etc/zabbix_agentd.conf中包含:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/且沒有被注釋。

      6.重啟zabbix_agentd服務

      service zabbix_agentd restart?讓zabbix_agentd加載新的配置文件。

      7.測試zabbix_get能否取到數據

      在zabbix server上使用如下指令測試能否獲取到nginx和php-fpm status數值。

      使用zabbix監控nginx和php-fpm性能插圖13

      注意:

      • zabbix_get指令在zabbix server上運行。
      • userparameter_*.conf文件位于zabbix_agentd端。
      • nginx_status.sh和php_fpm_status.sh位于zabbix_agentd端。
      • zabbix-get-s指定的ip為zabbix-agentd的監聽ip。

      8.zabbix server上配置相應的模板

      這里的模板包含對nginx status和php-fpm status要監控的item、trigger、Graphs等一系列內容。對于在zabbix server上新增要監控的內容,最好的辦法就是從模板開始,然后按照順序依次配置相應內容,無需去網上找現成的模板導入,對于系統的監控按需配置是最好的。下面是相應的操作過程。

      8.1 添加nginx status監控模板

      使用zabbix監控nginx和php-fpm性能插圖14

      新建nginx status模板

      使用zabbix監控nginx和php-fpm性能插圖15

      定義nginx status模板

      使用zabbix監控nginx和php-fpm性能插圖16

      使用zabbix監控nginx和php-fpm性能插圖17

      定義nginx status items,這里我使用的是被動臨控

      使用zabbix監控nginx和php-fpm性能插圖18

      增加nginx status狀態碼映射

      使用zabbix監控nginx和php-fpm性能插圖19

      nginx trigger定義

      使用zabbix監控nginx和php-fpm性能插圖20

      定義nginx監控視圖

      8.2 添加php-fpm status監控模板

      php-fpm status的模板添加步驟和上述方法一樣,此處不在贅述。

      8.3 選擇相應的主機或主機組關聯上相應的模板

      使用zabbix監控nginx和php-fpm性能插圖21

      給主機或主機組關聯模板

      9.實際監控效果展示

      查看監控效果可以通過查看Monitoring—->Latest data,過濾出相應的主機及應用名進行查看,最新收集的各item的監控結果,凡是監控到數據的item會顯示數據,出現灰色的表示沒有監控到數據,需要排查原因。如下所示:

      使用zabbix監控nginx和php-fpm性能插圖22

      nginx的監控數據

      也可以通過定義的Graphs查看監控效果:

      使用zabbix監控nginx和php-fpm性能插圖23

      nginx statur監控視圖

      10.小結

      abbix中要實現對用戶自定義的item的監控,大致過程如下:

      • 啟用相應軟件的性能統計功能
      • 編寫性能統計數據提取腳本
      • 配置自定義的userparameter conf文件
      • 重啟zabbix_agentd服務
      • zabbix server web上添加相應的模板
      • 給主機或主機組調用模板

      文章來自微信公眾號:馬哥Linux運維

      本文鏈接:http://www.abandonstatusquo.com/16693.html

      網友評論comments

      發表評論

      您的電子郵箱地址不會被公開。

      暫無評論

      Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
      掃二維碼
      掃二維碼
      返回頂部
      久久久久亚洲国内精品|亚洲一区二区在线观看综合无码|欧洲一区无码精品色|97伊人久久超碰|一级a爱片国产亚洲精品