本節書摘來自華章計算機《cacti實戰》一書中的第2章,第2.4節,作者:劉钊,張躍著, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
雖然我們在第一次接觸cacti時,需要經曆一段比較複雜的安裝過程,為了減輕大家的痛苦,也是為了cacti能夠更好地服務于大家,與大家分享在安裝過程中遇到的障礙,如果你是高手,大可以幫助我們一起分析原因,引以為戒,如果你的it系統知識還不夠豐富,那麼相信這一節的内容對你會有很大的幫助。
2.4.1 關于版本
版本是擺在面前的第一座大山,由于cacti采用了很多第三方的開源項目,這些項目又難以顧及所有的支援項目,是以會出現很多版本不比對的問題,下面一一進行講解。
首先講解php和apache在不同作業系統平台上的比對問題,之前的章節交待過,這裡再次用表2-9來重申一下。

如果配置錯誤的軟體版本,就有可能找不到一些需要用到的檔案和目錄,有可能造成配置缺失、子產品加載等原因,是以這一點必須引起足夠的重視。
其次,對于php,可能會使用php 4.x版本,而不選用php 5.x版本,在前文中沒有介紹php 4.x版本的配置方法,但是在每一步都介紹了操作的目的,大家可以按照說明配置php 4.x版本的軟體,我們親自試過,沒有多困難。但是還是推薦使用比較新的php 5.x版本,有一些新特性可能會在未來用到,php 4.x版本在實際生産環境中已經無法滿足使用者的需要了。
2.4.2 關于軟體的依賴性
在前文中,我們遇到了在linux環境下安裝rrdtool時,軟體的依賴性錯誤。這裡再重申一遍這種錯誤的解決方案,因為這一點很重要,曾經困擾我們很久。
在linux作業系統安裝rrdtool軟體的過程中,作業系統提示互為依賴性的錯誤,通過在同一時間安裝多個rpm包的方式還是無法解決問題,在嘗試了很多次之後,發現一個比較可行的解決方案。
查詢手冊知道rrdtool要在linux系統中正常工作,首先需要有以下子產品:
glib
libart
libpng
pixman
freetype
fontconfig
cairo
pango
rrdtool
其他的子產品安裝相對容易,沒有遇到太多依賴性的錯誤,但是libart子產品帶來很大的困擾,如果你也像我們一樣遇到這樣的困擾,那麼配置腳本2-22的解決方案将會對你有用。
配置腳體2-22 安裝libart子產品
以上問題都解決之後,記住,需要把rrdtool、rrdtool-devel、perl-rrdtool這3個包在同一時間使用rpm指令安裝,以排除libart子產品的依賴性問題。
2.4.3 關于權限
權限問題貫穿安裝、監控和日常維護當中,在很多情況下,系統無法正常部署,或者部署完成後不出圖的問題,多集中在權限的設定上,在本章的後面會多次提到如何妥善地處理權限問題,在安裝階段涉及最多的是cacti環境中的檔案系統權限和資料庫權限。
在檔案系統中,需要修改rra檔案夾下的log目錄權限,windows平台通過gui可以很快設定好,這裡就不再贅述了。在linux平台下,輸入配置腳本2-23中的内容。
配置腳體2-23 修改log目錄的權限
這麼做的目的是将rra/log檔案的所有者改成cacti,這樣使用cacti使用者的時候,程式可以将系統的日志正常寫入log檔案中。
在資料庫系統中,通常會考慮安全因素,把mysql資料庫和cacti系統分開部署,但是mysql系統預設不允許遠端連接配接,是以需要打開mysql資料庫的遠端連接配接,并把cacti資料庫的所有者改為使用者cacti。請參考配置腳本2-24中的内容。
配置腳體2-24 開啟mysql系統的遠端連接配接