為什麼要用 spine ? 因為 cacti 預設使用的是 cmd.php,相對於 spine 來說,spine 是用 C 語言編寫的,在抓取效能上優於 cmd.php 非常多,尤其在監控大量主機的時候更為明顯
若要使用 spine 必須到 cacti 官網有提供下載
安裝 spine
step.1 下載 spine
$ wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8c.tar.gz $ tar cacti-spine-0.8.8c.tar.gz -C /usr/local/src
step.2 編譯 spine
$ cd /usr/local/src/cacti-spine-0.8.8c $ ./configure --prefix=/usr/local/spine $ make $ make install
step.3 設定 spine,將指定和 cacti 相同資料庫
$ cd /usr/local/spine/etc/ 直接複製範本來改 $ cp spine.conf.dist spine.conf $ vim spine.conf DB_Host localhost DB_Database cacti DB_User cacti_USER DB_Pass cacti_PWD DB_Port 3306 DB_PreG 0
大致上就是資料庫的位置 localhost , 資料庫名稱 cacti , 登入帳號密碼 , 以及 DB port 3306
比較特殊的是 DB_PreG 這個參數,若是你的 cacti core 是 0.8.7g 之前的版本就必須開啟 1 來相容
在這個範例是採用 0.8.8c 所以採用 0 就可以。
step.4 設定 cacti 使用 spine
spine 設定好之後,就要到 cacti 的 UI 介面來讓 cacti 支援 spine,並且讓他使用 spine 來輪巡的工作
首先登入 cacti 到 「Settings」→「Paths」→「Spine Poller File Path」填上: /usr/local/spine/bin/spine
step.5 再來到 Poller 的 Poller Type 將 cmd.php 改為 spine,儲存!!
來驗證一下 cacti 是不是真的有用 spine 來執行
到「System Utilities」→「View Cacti Log File」可以從 Log 看到本來是用 cmd.php,如下圖已經改為 spine 去跑囉!!
- 用 Cacti 來監控你的系統 – Nginx + Cacti Server 安裝 Round1
- 用 Cacti 來監控你的系統 – SNMP Client 設定 Round2
- 用 Cacti 來監控你的系統 – thold 告警通知功能 Round4
- 用 Cacti 來監控你的系統 – TCP Connection 監控 Round5
- 用 Cacti 來監控你的系統 – 自訂你的總流量、總頻寬圖 Round6