安裝環境調整與設定:
實做的環境為 Server 2008 R2 64bit & Windows 7 64bitphp.ini調整
啟動以下 dllextension=php_mysql.dll
extension=php_snmp.dll
extension=php_sockets.dll
cgi.force_redirect = 0
RRDTools安裝
- rrdtools download
- 下載要的版本後,解壓縮到 C:\rrdtool\* 目錄內
net-snmp安裝
- net-snmp win binaries download
- 將它安裝於 C:\net-snmp 目錄內
- 看看有沒有運作正常:於命令列內輸入 snmpwalk.exe -v 1 -c public localhost ;有看到訊息出現時則表示正常。
Spine 安裝
- Spine download
- 下載要的版本後,解壓縮到 C:\cacti\* 目錄內
- 將 cactid.conf.dist 重新命名為 cactid.conf。修改 cactid.conf,將 MySQL相關資訊更新。
Active Perl安裝
- 有些查到的資料說,有些 Script 是用 perl 寫的。但做測試時先跳過此部份。
Cacti php code調整
- 修改設定檔 /cacti/include/config.php ,將 mysql 資訊填入。
- 將 /cacti/cacti.sql 匯入到 MySQL內
- 到瀏覽器內輸入 http://your PC IP/cacti/,再按介面提示進行安裝即可。第一次的登入帳密為 admin/admin
- 字型設定:於 settings 介面內,設定 RRDTools Default Font 的位址。例如於該欄位內使用 tahoma.ttf 字型。 C:/Windows/Fonts/tahoma.ttf
- 於作業系統內設定排程,每隔五分鐘自動執行 htdocs/cacti/poller.php。
- 於 cacti web 介面內新增 Device
- Host Template 選windows 2000/XP Host (因為是監控 windows 主機)
Cacti Server Backup Issue
- Cacti PHP Code backup - 若資料過於龐大且可以不保留歷史記錄時,可以將 /rra/* & /log/* 內的資料刪除。
- MySQL DB backup
Cacti Upgrade
-
參考此頁內的作法,再透過 web 介面內的提示處理即可;更新時,別忘將 php.ini 內的 disable_function 與 open_basedir 暫時開放。
- 0.8.8c 更新至 0.8.8f 更新的經驗:
- 將 0.8.8c 更新至 0.8.8f 版本後。使用 cacti UI 介面,都沒有接收到後續資料。查了很久後,有可能是 Apache 執行權限不足的緣故。因為當時將整個 cacti 目錄直接刪除,再重新新增 cacti 目錄後忘了調整下面子目錄所需的權限。cacti 程式目錄需要的權限可參考 cacti online document 。
- 需要 modify 權限的目錄:cacti\rra\* , cacti\log\*
- 針對第七點與第八點的地方( scripts 與 resource 目錄);指令的意義如右: cp –u ( -u, --update copy only when the SOURCE file is newer than the destination file or when the destination files is missing)
- 0.8.8f 更新至 0.8.8g 更新的經驗:105.03.18
- 由於這是透過SSH 上傳,不是直接在主機內動作。所以這的更新動作如下
- 備份資料庫與目前在運行的cacti 程式碼
- 下載新版本並解壓縮,請注意要下載到對的版本。因為這次的更新,很妙的是官方網站內的下載頁面所直接提供的下載連結是舊的版本。導致這次更新時出現 Error Invalid Cacti version 0.8.8f,cannot upgrade to 0.8.8.8的狀況。
- 修改解壓縮檔案內的 include/config.php ,將需要的MySQL資料填入
- 解壓縮檔案內的刪除 rra/* 目錄
- 除了Script、resource的部份。全部直接上傳且覆蓋現在所使用的檔案。
- 上傳 Script、resource 目錄的資料,有較新的檔案或無此檔案時才做覆蓋的動作。
- 由於採用上傳更新的做法,所以主機上的檔案權限的部份會照舊。
-
暫時調整PHP.ini 設定,php.ini 內的 disable_function 與 open_basedir 暫時開放。 restart Apache - 此時再連到 cacti web介面。直接按網頁內的說明進行即可。
- 將暫時調整PHP.ini 設定調整回來。restart Apache.
在 cacti 介面內重建 poller cache搞到後來不確定到底是我這的PHP設定的太嚴謹還是需要做這個 Rebuild poller cache 的動作,總之目前將原本所限制的 disable_function 與 open_basedir 關掉後就可以正常運作。很妙的是也沒有 log 記錄可供參考。由於這台主機是專用,所以有空再來釐清是那的問題。
system utilities -->Rebuild poller cache (其實這點我是覺得很奇怪,因為手冊也沒有提到這個。但由於更新到 0.8.8f 與 0.8.8g 時的經驗,若沒有執行此程序時,就不會再出現更新後圖表)移除 install 目錄。手冊雖然沒提及,但我還是刪掉它。- 完成 !!
被監控的設備相關設定
- SNMP 啟動 : Win7 可參考此頁說明、Server 2008 可參考此頁說明。
- Cacti 介面設定:細部操作可參考此頁說明。
Misc
- 忘了 cacti 登入密碼:可以直接到 MySQL內更新 user_auth ; update user_auth SET password = MD5('new password');
- 架好後也順利監控各個主機了。但很奇怪,有些圖表。如 Disk Used Space 的圖表在有些時間點會突然消失、有些主機卻是連資料都沒有(圖三)。
查了一下原因,可能是這所提到的問題。調整了 php.ini 的max_execution_time。後續再來觀查看看。後續的觀察,看來調整 max_excution_time沒有效果。試著調整 cacti setting 內的poller 參數。將 Maximum Concurrent Poller Processes 把1改成4、Maximum Threads per Process 把1改成2、Number of PHP Script Servers 把1改成6看來還是無效果。在查找資料的過程中,有看到有些人說這似乎是 windows 平台常有問題。不過不確定是不是對的就是了。- 針對出現 timeout 的主機,個別的將預設的 timeout 時間拉長(500 to 1000)就可以解決此問題了。
成果
奇怪的狀況
疑難雜症處理
- system utilities -->Rebuild poller cache
- snmpwalk -v 2c -c public test server ip
- check cacti/rra/* files
- check apache log files
相關資料:
- Cacti document Documentation and howtos
- Cacti document Documentation Installing Under Windows (*)
- Cacti document Documentation FAQ (*)
- Cacti Plugins (*)
- Chapter 3. Installing Under Windows
- Cacti 中文研究站
- Cacti 新增監控教學
- (第三章) Cacti 免費、統一網絡監測軟件 – 伺服器安裝及設定
- (第四章) Cacti 免費、統一網絡監測軟件 – Windows 2012 SNMP service 安裝及設定
- Cacti 【SNMP Get Timeout】數據圖顯示為0
- 當你使用Cacti做為網管工具,有時會遇到圖的數據顯示不出來的情形
- 監控物件新增與管理
- CACTI監控系統--規劃建置
- Cacti 簡單自製圖表詳解
- Cacti實務應用-總流量圖設定方式
沒有留言:
張貼留言