cacti搞運維的人不會陌生,可能是現在使用最多的監控工具了。跟網際網路相關的公司可能多少都會用到cacti來監控伺服器執行狀態和一些軟體的負載情況。
現在**用的最多的後端技術可能就是php了,無論nginx還是lighttpd,如今的負載能力都非常強,在很多牛人的努力下,負載幾萬到十萬併發的都屢見不鮮。但是,這是在完全靜態的情況下,加上php就會效率大減。所以其實乙個動態**的負載能力的瓶頸往往都在php上面。
所謂改造,即不是我原創的。原作者位址在
所以花了5分鐘將模板稍作修改,並用shell重寫了獲取指令碼。將php-fpm的狀態監控跳轉到nginx上,從網頁獲取,既支援跨機房訪問,無需暴露9000埠在任何ip位址上,對php-fpm.conf檔案的改動最小,唯一乙個是需要改造一下nginx,加乙個類似於監控nginx的配置項。並
需要cacti伺服器上有curl支援,不過用yum或者apt-get安裝curl似乎比用cpan安裝模組要簡單多了。原理和用cacti監控nginx是一樣的。所以,如果你做過nginx的監控,用這個模板就非常簡單了。
不過這個指令碼也存在乙個問題,就是如果你用一台nginx用upstream後端掛多個php-fpm負載均衡,可能會產生資料不準確問題。這樣的話,你可以訪問上面的連線,採用原版直接訪問9000埠的方式。
講一下使用這個指令碼需要操作的幾個步驟:
1. 你需要改變php-fpm.conf檔案中的一行
找到pm.status_path = /status,將前面的注釋分號去掉。儲存退出
2. 開啟nginx.conf檔案
在server{}段中加入下面這段話,注意不要和你的nginx狀態監控的重定向路徑衝突,如果衝突,請同時修改php-fpm中的設定和nginx中的設定
location ~ ^/(status)$
儲存退出
3. 重啟php-fpm,重啟nginx
嘗試訪問http://yourserver/status看是否能獲取到php-fpm資訊,正常的話,應該顯示如下
pool: www
process manager: dynamic
start time: 16/jun/2012:01:28:33 +0800
start since: 67269
accepted conn: 4526202
listen queue: 0
max listen queue: 0
listen queue len: 0
idle processes: 174
active processes: 1
total processes: 175
max active processes: 23
max children reached: 0
4. 將附件中解壓縮出來的的shell指令碼上傳至cacti伺服器的cacti/scripts資料夾下。並賦予可執行許可權。執行測試一下看是否能獲取到php-fpm的狀態。
./cacti_check_php-fpm.sh 114.***.***.*** 80 /status
5. 將附件中的xml模板匯入到cacti中,然後在裝置那裡建立新圖的時候,你會看到乙個php-fpm fastcgi status的模板,使用它建立,並填上伺服器ip埠和路徑就可以了,參照測試命令列寫就可以。
在實際測試中,支援php 5.3.8及以上版本,5.3.8之前的php版本未測試,如有問題可修改指令碼中的grep部分,一共不超過15行的指令碼,簡單的很,一看就明白。
監控效果如圖所示。
用cacti監控php fpm的工作狀態
cacti搞運維的人不會陌生,可能是現在使用最多的監控工具了。跟網際網路相關的公司可能多少都會用到cacti來監控伺服器執行狀態和一些軟體的負載情況。現在 用的最多的後端技術可能就是php了,無論nginx還是lighttpd,如今的負載能力都非常強,在很多牛人的努力下,負載幾萬到十萬併發的都屢見不...
Cacti(系統監控)
cacti 系統監控 cacti是一套基於php,mysql,snmp及rrdtool開發的網路流量監測圖形分析工具。注 中文版安裝擴充套件外掛程式時不成功 我是沒做成 建議使用英文版 已做成 位 64位 漢化版 英文版 rpm ivh media cdrom server lm sensors 2...
Cacti監控apache的方法
環境說明 192.168.12.5 為cacti 或者是cactiez 的監控伺服器 昨天將http mysql cacti templates.googlecode.com files mysql cacti templates 1.1.6.tar.gz 中提供的相關監控 apache 模板以及 ...