CACTI 研究筆記 – 0.8.7c 無法 export graph to csv?

是這樣的, 其實並不是 CACTI 0.8.7c 的問題, 而是我在某 CentOS 5.2 的機器上安裝 rpmforge 提供的 CACTI rpm 套件, 目前是 0.8.7c 版. 但安裝後才發現, 對它的統計圖按 export to csv 後下載到的表格沒有任何一筆流量資料, 只有時間起迄都是 1970 年.

到 CACTI 官方討論區找到有兩位網友也遇到這問題但無人出面解答. 這害我不得不開始自己 debug. PHP 我還OK, 可是看到一堆程式碼我就暈了… (也沒有下決定真的要 debug), 於是我先拿 0.8.7b 的碼蓋掉, 無用! 想了很久, 還是乖乖看程式碼吧. 在 debug 一陣之後, 發現 rrdtool 並沒有真的把資料餵進某隻 php 程式裏的 function, 以致於整個流量的 array 是空的. 最後我才懷疑到 rrdtool 的版本問題. rpmforge 現下提供的 1.2.29-1, 我挖出 1.2.27 的來 downgrade, 果然! 正中要害.

CACTI 研究筆記 (前言)

CACTI

CACTI

之所以開始研究起 CACTI 並非我自己工作上的需要, 我都偷懶用老古董 MRTG 來畫流量圖. 但我哥他卻十分需要 CACTI 的流量合併 (aggregate) 功能, 無奈他認識的工程師全都 囧rz 於這種比較進階的用法. 最後他上 SourceForge 找到一個提供 CACTI 管理咨詢的外國阿宅, 費用是 US$50. 雖然不多, 但我想來想去怎麼都不需要花這個錢… CACTI 真的有這麼難學嗎??

於是我開始在自己的環境裏先灌了一套 CACTI 0.8.7b 來用 (需搭配 PHP & MySQL), 發現還蠻簡單的… 而 Aggregate 的功能可以利用一套 (就叫 aggregate) plugin 來幫助你輕輕鬆鬆勾選數張流量圖合併為一張總圖. 玩了一兩天, 就開始覺得奇怪了, 明明都這麼簡單, CACTI 倒底有什麼難的??

果然, 玩了幾天問題慢慢都跑出來了…難是難在接下來的部份

1. 這 0.8.7b 版還有不少 bug, 包括 graph export to excel 的問題, graph export to static page 的問題, browser 相容性問題

2. aggregate 的功能僅止於合併(堆疊), 不另外幫你顯示 “總合” 這些數據

3. Weekly, Monthly, Yearly 沒有留存舊時間點的五分鐘平均, 無法拿來用於 IDC 計價

4. 尚未支援 RRDTOOL 1.3

針對這些問題, 對應的答案如下:

1. 基本上 CACTI 的 release 非常慢, 大概半年才一次. 若要處理 bug 的問題, 可能只能先去挖人家的 svn 看有沒有新版的單隻程式, 再不然就請自己 debug 囉.

2. 不管是總合或是其他數據上的功能, 你要自行熟悉 CACTI 及 RRDTOOL 裏的一些細節, 包括 CDEF, RRA 的定義新增, 更重要的是 “變數” 的運用

3. 這是在考驗你對 RRA 的觀念是否正確.

4. 如果你的 Linux 上的 RRDTOOL 為 1.3 版, 必須要降版本為 1.2

其實如果是有心要靠自己學好 CACTI 的看倌, 我想上述這些問答已經夠用了. 這幾個禮拜找資料找得有夠痛苦… “CACTI 中文研究站” 沒有什麼資訊, 連 CACTI 官網的手冊都十分地陽春; 我也是最近N個晚上花超多時間翻閱官網的討論區 (痛苦的是大家的英文都不太好), 漸漸得到解決問題的答案或提示, 但後來發現其實你該知道的都在那超陽春的手冊裏面…

我想這一份研究筆記的每一次點擊應該也值 US$50 吧 XD