| 
             Cacti 圖形化監(jiān)控介面話說(shuō) MRTG 的作者發(fā)展出功能更強(qiáng)大的 RRDtool 之後, 由於太過(guò)複雜難用, 因此又發(fā)展出以 RRDtool 為基底, 前端為 Web 介面的 Cacti 圖表系統(tǒng). 除了內(nèi)建的系統(tǒng)資源圖表之外, 能自行加入各式 SNMP 流量圖表, 甚至透過(guò)外掛的 Scripts 和 Templates 建立各種不同的監(jiān)控圖, 是 Cacti 最迷人的地方. 以下是在 Fedora Core 1 安裝 Cacti 與新增 SNMP Hosts (IP Sharing & Linux NAT) 流量圖的操作記錄: 
            環(huán)境: 
                Fedora Core 1
                Apache HTTP Server 2.0.x
                MySQL 3.23
                PHP 4.3.8
                Perl 5.8.3  1. 安裝需求套件 
            yum install mysql-devel net-snmp php-snmp freetype-devel libpng-devel libart_lgpl-devel net-snmp-utilswget ftp://rpmfind.net/linux/freshrpms/fedora/linux/1/rrdtool/rrdtool-1.0.49-1.1.fc1.fr.i386.rpm
 rpm -ivh rrdtool*.rpm (perl 需昇級(jí)至 5.8.3 才能安裝 rrdtool-1.0.49-1.1.fc1.fr.i386.rpm)
 2. 取得並安裝 cacti 
            wget http://www./downloads/packages/Fedora/3/cacti-0.8.6h.fc3.i386.rpmrpm -ivh cacti*.rpm
 cacti-0.8.5a.fc1.i386.rpm 這個(gè) for Fedora Core 1 的版本使用過(guò)程中會(huì)出現(xiàn)不明的 SNMP Error, 所以改用 fc3 的 0.8.6h 版本 安裝成功後出現(xiàn)訊息: Be sure to follow steps 2 through 5 in the install guide for new Cacti installations.參考頁(yè)面為: http://www./downloads/docs/html/install_unix.html
 其他版本請(qǐng)參考 cacti 官方下載頁(yè)面: http://www./download_cacti.php 3. 建置 cacti 運(yùn)行環(huán)境 
            mysqladmin -u root -p create cactimysql -u root -p -A cacti < /var/www/html/cacti/cacti.sql
 mysql -u root -p -A mysql
 mysql> grant all privileges on cacti.* to cactiuser@localhost identified by ‘cactiuser‘;
 mysql> flush privileges;
 mysql> exit
 cd /var/www/html/cacti
 chown -R cactiuser log rra
 vi ./include/config.php
 
            $database_default = "cacti";$database_hostname = "localhost";
 $database_username = "cactiuser";
 $database_password = "cactiuser";
 vi /etc/crontab 
            */5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1 vi /etc/httpd/conf/httpd.conf 
            <Directory /var/www/html/cacti> 
            SSLRequireSSLOrder allow,deny
 Allow from 192.168 someip.outside.your.lan
 </Directory> /etc/init.d/httpd reload SSL 憑證的建立方式參考這篇: Apache HTTP Server + Mozilla Calendar / Sunbird讓 Apache HTTP Server 不顯示版本編號(hào)的方法: 編輯 httpd.conf, 修改 ServerTokens 參數(shù)為 Prod
 4. 第一次登入 cacti 頁(yè)面 
            開(kāi)啟瀏覽器, 輸入網(wǎng)址: https://.ip/cacti/ (因 SSLRequireSSL 參數(shù)強(qiáng)迫 SSL 連線) 第一次連入時(shí), 會(huì)出現(xiàn) Required Tool Path 的設(shè)定畫(huà)面. 設(shè)定完成後, 首次登入的帳號(hào)密碼皆為 admin, 登入後會(huì)出現(xiàn)重設(shè)密碼的畫(huà)面, 完成後才會(huì)進(jìn)入 cacti 主畫(huà)面. cacti 預(yù)設(shè)即有本機(jī)的 Memory Usage、Load Average、Logged in Users 和 Processes 等圖表, 點(diǎn)選 graphs 即可查看. (但要等 poller.php 執(zhí)行後才會(huì)有圖) 5. 新增網(wǎng)路流量圖 
            5.1 支援 SNMP 的 IP 分享器 (以 Vigor 2900 為例) 
            點(diǎn)選 console → New Graphs → Create New Host輸入Description: Vigor2900 (或其他自定描述)
 輸入 Hostname: 192.168.0.254 (IP Sharing 的內(nèi)部 IP)
 點(diǎn)選 Host Template: Generic SNMP-enabled Host
 點(diǎn)選 create
 出現(xiàn) Save Successful. 後點(diǎn)選 Create Graphs for this Host
 勾選 Ethernet0 (LAN) 與 Ethernet1 (WAN)
 點(diǎn)選 create
 修改圖表抬頭, 讓圖表更容易閱讀 點(diǎn)選 console → Graph Management → Vigor2900 - Traffic - Ethernet0/1原 Graph Fields: Title 為: |host_description| - Traffic - |query_ifDescr|/|query_ifIndex|
 修改成: |host_description| - Traffic - LAN
 點(diǎn)選 save 後, 依同樣步驟修改 Vigor2900 - Traffic - Ethernet1/4 為 WAN
 5.2 Linux NAT with snmpd (建置參考: Building Linux NAT with MRTG network monitoring) 
            點(diǎn)選 console → New Graphs → Create New Host輸入Description: Linux NAT (或其他自定描述)
 輸入 Hostname: 192.168.0.254 (Linux NAT 的內(nèi)部 IP)
 點(diǎn)選 Host Template: Generic SNMP-enabled Host
 點(diǎn)選 create
 出現(xiàn) Save Successful. 後點(diǎn)選 Create Graphs for this Host
 勾選 lo、eth0、eth1
 點(diǎn)選 create
 5.3 將新圖表加入 Tree View 
            點(diǎn)選 console → Graph Trees → Default Tree → Add點(diǎn)選 Tree Item Type: Host
 點(diǎn)選 Host: 指定的 Host (以上述 5.1 和 5.2 為例, 可選擇 Vigor2900 或 Linux NAT)
 點(diǎn)選 create
 點(diǎn)選 graphs → Tree Mode (預(yù)設(shè)即是 Tree Mode, 亦可點(diǎn)選樹(shù)的圖案)
 原先只有 Host: localhost 的項(xiàng)目, 現(xiàn)在可點(diǎn)選 Host: 剛剛指定的 Host
 後記: 
            在 Pentium II 333MHz, 192MB RAM 的環(huán)境下跑 cacti (預(yù)設(shè) localhost + 一個(gè) snmp host 圖表) 還蠻順的, 並不會(huì)影響系統(tǒng)效能. MRTG 可以安心退休了 :P 相關(guān)網(wǎng)頁(yè):
 Posted by Jamyy at 2006年03月05日 23:04 Trackback PingsTrackBack URL for this entry:http://cha./cgi-bin/mt/mt-tb.cgi/175
 
            您介紹的很棒耶~給您加油和鼓勵(lì)~~
 對(duì)了~
 怎麼都沒(méi)看見(jiàn)您自我介紹呢?
 
 Posted by: 小米糕 at 2006年03月07日 02:20 
            謝謝您的鼓勵(lì)關(guān)於自我介紹這個(gè)問(wèn)題最近剛好也有想過(guò)
 不過(guò)我構(gòu)思非技術(shù)性文章的速度真的很慢
 也許還要再蘊(yùn)釀一陣子才會(huì)放上去吧 :P
 香港網(wǎng)友 Enoch 這篇關(guān)於自我介紹的文章寫(xiě)得不錯(cuò):
 http://enochng./index.php?op=ViewArticle&articleId=56904
 Posted by: Jamyy at 2006年03月07日 09:47 
            你好!我按照你的敘述進(jìn)行配置,環(huán)境和所需的軟體都是一致的
 但我用配置cacti那臺(tái)機(jī)的mozilla進(jìn)行訪問(wèn)時(shí),得出的結(jié)果是:Forbidden
 You don‘t have permission to access /cacti on this server.
 cacti的目錄是/var/www/html 權(quán)限是775
 和它在同一目錄/var/www/html下的文件都可訪問(wèn),為何cacti卻不能訪問(wèn)呢?是不是要加一個(gè)名為cactiuser的用戶或組?
 Posted by: liozhou at 2006年09月22日 11:45 Posted by: liozhou at 2006年09月22日 11:49 
            您好~ 1. 請(qǐng)先確定 /var/www/html/cacti 的權(quán)限是 775 或 755 2. 請(qǐng)確定 httpd.conf 中, DirectoryIndex 是否包含 index.php 3. 請(qǐng)確定 httpd.conf 中, cacti 路徑的 Allow from 是否依照您的網(wǎng)路環(huán)境設(shè)定正確 4. 若啟用 SSLRequireSSL 設(shè)置, 則必須以 https:// 連線才能瀏覽, 否則一樣會(huì)出現(xiàn) Forbidden 的錯(cuò)誤 Posted by: Jamyy at 2006年09月22日 13:15 
            問(wèn)題已解決,謝謝!我接觸linux的時(shí)間不是很長(zhǎng),所以還是想再向你請(qǐng)教一下:剛才發(fā)生問(wèn)題的時(shí)候,我到網(wǎng)絡(luò)上去尋找相關(guān)的信息,看到有很多人的配置文檔中除了上述步驟外,都還配置了/etc/snmp/snmpd.conf
 但在你的文章中卻沒(méi)有提及,配與不配置有什么差別嗎?
 Posted by: liozhou at 2006年09月22日 16:27 
            啊... 真的沒(méi)提到這部份耶, 真是不好意思, 謝謝您的提醒 ^^‘其實(shí)這篇主要是架構(gòu)在 MRTG 升級(jí) Cacti 的情況下
 而在建置 MRTG 的時(shí)候就有提到 snmpd 的設(shè)置了:
 http://cha./blog/archives/2005/03/building_linux.html
 其實(shí)我對(duì) snmp 也只是一知半解, 依樣畫(huà)葫蘆而已 :P
 就我所知, 若 MRTG 只用來(lái)分析某個(gè) host 或 device (蒐集非本機(jī)所產(chǎn)生的資訊), 則本機(jī)不需設(shè)置 snmpd
 但若 MRTG 要統(tǒng)計(jì)的是本機(jī)的資訊 (如本機(jī)即為 NAT), 就必需在本機(jī)設(shè)置 snmpd
 而 cacti 即預(yù)設(shè)蒐集本機(jī)資訊, 所以本機(jī)的 snmpd 是必備的
 Posted by: Jamyy at 2006年09月22日 17:04 
            哦,原來(lái)是這個(gè)樣子,不過(guò)好彩我事先把snmpd啟動(dòng)了。謝謝此次你的幫助,我原來(lái)是做windows網(wǎng)絡(luò)管理的,現(xiàn)在進(jìn)入linux網(wǎng)絡(luò)管理才幾個(gè)月的時(shí)間,所以碰到的問(wèn)題也是多多??!比如一個(gè)postfix就差點(diǎn)讓我打了退堂鼓,最后無(wú)賴只有用exchange替代了。
 在網(wǎng)上我也看到了有很多人在學(xué)習(xí)linux方面的編程語(yǔ)言,我沒(méi)有什么這方面的基礎(chǔ),可很想往這方面發(fā)展,所以想請(qǐng)教一下我應(yīng)該先從哪步開(kāi)始呢?先學(xué)哪種linux語(yǔ)言比較好起步呢?
 
 Posted by: liozhou at 2006年09月23日 10:18 
            歡迎你, Linux 的新朋友 :)我之前是在微軟平臺(tái)寫(xiě) ASP 網(wǎng)頁(yè)程式的
 自從轉(zhuǎn)換跑道當(dāng)了網(wǎng)管後, 才開(kāi)始使用 Linux
 提到 Linux 的程式開(kāi)發(fā), C 語(yǔ)言是公認(rèn)的第一首選
 但我是以 "管理者" (administrator) 和 "使用者" (application user) 的角度來(lái)切入 Linux 領(lǐng)域
 Linux 上的程式開(kāi)發(fā)對(duì)我來(lái)說(shuō)並不是重點(diǎn)
 所以我先學(xué)習(xí) shell script 和 perl 這兩種語(yǔ)法簡(jiǎn)單, 能達(dá)到管理需求的程序語(yǔ)言
 當(dāng)然, 從 IIS 跨足 Apache http server, PHP 也是一定要接觸的
 C、Java 對(duì)我來(lái)說(shuō)都太 "硬" 了, 而且也沒(méi)有這方面的需求...
 必要的話, 我還是會(huì)在 MS 平臺(tái)用 VB 寫(xiě) (看得出來(lái), 我都挑 "軟" 的吃 :P)
 所以我恐怕沒(méi)能力推薦, 只能說(shuō), 先確立自己的學(xué)習(xí)目標(biāo), 再去瞭解與選擇適合的工具 (程式語(yǔ)言), 才是最理想的方式唄
 Posted by: Jamyy at 2006年09月23日 11:16 
            英雄所見(jiàn)略同,我剛開(kāi)始接觸linux的時(shí)候也是這么想的,身為一個(gè)網(wǎng)絡(luò)的管理者,適當(dāng)?shù)墓ぞ呤菫榱烁奖阄业墓ぷ鳎绻ㄔ谡Z(yǔ)言上的時(shí)間太多,那必然又會(huì)造成網(wǎng)絡(luò)管理上的疏忽。其實(shí)我是商學(xué)院畢業(yè)的,玩電腦是我的愛(ài)好之一,沒(méi)想到畢業(yè)之后這個(gè)愛(ài)好竟讓我走上了網(wǎng)管之路。
 現(xiàn)在我所管理的網(wǎng)絡(luò)還只是剛剛起步,可以說(shuō)是一個(gè)windows和linux的合成體:windows 2003作為AD server
 exchange 2003作為mail server
 linux squid作為NAT
 vsftpd作為ftp server
 最近的目標(biāo)是再配置一臺(tái)apache
 雖然再往后做都是我所不了解的區(qū)域,一步更會(huì)比一步難走,但我想這世界上應(yīng)該沒(méi)什么事情是簡(jiǎn)單的吧!當(dāng)然這也需要你的更多幫助。交個(gè)朋友吧,我的E-MAIL:liozhou@163.com
 Posted by: liozhou at 2006年09月23日 15:19 
            jamyy老大,你發(fā)給我的E-MAIL已經(jīng)開(kāi)始折磨我了,超想看,可不管用什么方法都只能看到亂碼,請(qǐng)問(wèn)你用的是哪個(gè)版本的系統(tǒng)?我也照著裝一個(gè)好了 Posted by: lio at 2006年09月26日 11:24 
            ^^‘ 不好意思, 我後來(lái)試著用 UTF-8 編碼, 看來(lái)還是沒(méi)能成功... 我已經(jīng)寄了 gmail 邀請(qǐng)函給你, 你加入後應(yīng)該就能正常通訊了 :) Posted by: Jamyy at 2006年09月26日 13:39 
            請(qǐng)教各位,Cacti應(yīng)該可以抓Windows平臺(tái)的Memory使用狀況吧,各位可知其Graph Templates應(yīng)該要怎樣創(chuàng)建? 多謝!! Posted by: Jely at 2007年02月08日 13:46 |