輕鬆架設時時監控工具Cacti

    Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。通過snmpget來獲取數據,使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool複雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。

    想要讓cacti能夠進行正常的工作少不了它的幫手工具snmp和RRDtool,下面我們就具體瞭解一下這兩個幫手。

SNMP

    snmp(Simple Network Management Protocal, 簡單網絡管理協議)在架構體系的監控子系統中將扮演重要角色。大體上,其基本原理是,在每一個被監控的主機或節點上 (如交換機)都運行了一個 agent,用來收集這個節點的所有相關的信息,同時監聽 snmp 的 port,也就是 UDP 161,並從這個端口接收來自監控主機的指令(查詢和設置)。
    如果使用 RHEL5 的 net-snmp,那麼被監控主機需要安裝 net-snmp(包含了 snmpd 這個 agent),而監控端需要安裝 net-snmp-utils。如果自行編譯,需要 beecrypt(libbeecrypt)和 elf(libraryelf)的庫。
    每一個 agent 維護一個樹形的數據庫,稱爲 MID(Management Information Base, 管理信息庫),其每一個節點稱爲 Object Identifier(OID),這在使用 net-snmp-utils 的工具時會用到。這些節點就表示了這臺主機系統的設備如網卡的接口描述(eth0 等)、物理地址(MAC)、接口類型等,也可能是系統的信息,或者是需要監控的進程等...

RRDtools

    使用RRDtool來存儲和處理通過SNMP收集到的數據開始。這些數據很可能是某個網絡或計算機接收或發送的字節數(比特數)。它也可以用來顯示潮水的波浪、陽光射線、電力消耗、展會的參觀人員、機場附近的噪音等級、你喜歡的度假區的溫度、電冰箱的溫度、以及任何你可以想象的東西。
    你最需要一個度量數據,以及能夠提供這些數據給RRDtool的感應器就可以了。RRDtool會讓你創建數據庫、存儲數據、提取數據、創建用於在Web瀏覽器中顯示的PNG格式的圖像。這些PNG圖像以來於你收集的數據,它可以是網絡平均使用率、峯值。

我們來看一下這套工具的應用範圍:

   常見的監控應用主要有:

1、監控服務器資源:CPU、內存、磁盤、進程、連接數等
2、 監控服務器類型有:WEB、Mail、FTP、數據庫、中間件
3、 監控網絡接口:流量、轉發速度、丟包率
4、 監控設備運行狀態:風扇、電源、溫度
5、監控機房運行環境:電流、電壓、溫溼度

   這套工具的優點有:

1、是開源軟件
2、界面相對其他監控軟件很漂亮,能畫出漂亮準確的數據圖
3、能夠實現跨平臺的監控
4、具有很強的可擴展性,我們可以通過添加不同的模塊來實現不同的監控功能

快速安裝Cacti

一、環境介紹

主監控機IP=192.168.0.82

二、安裝配置

(1)在主監控機上安裝必須的apache+php+gd的web環境,推薦編譯安裝,本此實驗爲了方便起見用yum裝了
     yum install httpd php php-mysql php-snmp mysql mysql-server php-pdo perl-DBD-MySQL -y

(2)在主監控機上安裝幫手軟件snmp極其相關組件
     yum install net-snmp net-snmp-libs net-snmp-utils -y

(3)在主監控機上安裝rrdtool,因爲rrdtool依賴的包過多,所以我們選擇增加源,然後用yum安裝
     yum install rrdtool rrdtool-devel rrdtool-php -y 

     啓動snmpd服務
     service snmpd start
     啓動apache服務
     service httpd start
     啓動mysql服務
    service mysqld start

     將snmp、httpd、mysqld服務加入開機自動啓動行列:
     chkconfig snmpd on
     chkconfig httpd on
     chkconfig mysqld on

(4)安裝cacti

     把解壓後的包移動到你的httpd中定義的相應的web目錄下
     tar xvf cacti-0.8.7e.tar.gz
     mv cacti-0.8.7e /var/www/html/cacti

(5)在數據庫中建庫、授權、導入數據庫結構

     
     進行建庫、授權、導入數據庫結構工作
     mysql -p
     mysql> create database cacti;
     mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option;
     mysql> grant all privileges on cacti.* to [email protected] identified by 'cacti' with grant option;
     mysql> use cacti;
     mysql> source /var/www/html/cacti/cacti.sql;

     配置cacti以連接數據庫
     vi /var/www/html/cacti/include/config.php 進行如下修改
     $database_type = "mysql";
     $database_default = "cacti";
     $database_hostname = "localhost";
     $database_username = "cacti";
     $database_password = "cacti";
     $database_port = "3306";  
  

     到此我們已經將Cacti服務加起來了,接下來的工作就要通過web頁面進行了

(6)瀏覽器下配置

     首先我們要讓snmp定時的做一個數據的讀取,先設置爲每五分鐘讀取一次相應的數據,使用定時器crontab來設置:
     crontab -e 寫入如下內容:
     */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
     保存退出,或者直接在命令上執行一下php /var/www/html/cacti/poller.php命令,將會出現如下提示表示一切正常,否則可能出現顯示不出來圖片的情況。

     用瀏覽器打開 http://192.168.0.82/cacti,會顯示cacti的安裝指南,如圖所示,設置好就不會再出現了。

clip_p_w_picpath002

    點擊 “Next”,顯示如下:

clip_p_w_picpath004

    選擇“New Install”,點擊“Next”,顯示內容如下(這只是部分的圖片)

clip_p_w_picpath006

    指定 rrdtool、 php、 snmp 工具的 Binary 文件路徑,確保所有的路徑都是顯示“ FOUND”,沒有 “NOT FOUND”的,點擊 Finish 完成安裝,讓出現輸入賬戶和密碼的界面,如圖:

clip_p_w_picpath007

    Cacti 默認的用戶名與密碼是 admin,輸入用戶名與密碼,點擊 login

    爲了安全的原因,第一次登錄成功後,cacti 會強制要求你更改一個新的 password ,輸入新密碼並確認密碼,如圖

clip_p_w_picpath008

    然後、點擊 save ,進入 cacti 控制檯界面:

clip_p_w_picpath009

    經過一段時間之後,我們就可以點擊 graphs ,查看cacti 監控本機相應設備的圖表,部分監控圖標如圖所示:

clip_p_w_picpath010

clip_p_w_picpath011


    此時我們的Cacti監控的只是本服務主機的情況,下面我們進行相應的配置讓其能夠監控其他的主機信息

 

    使用 Cacti 監控 Linux 主機

    在被監控的linux主機上安裝net-snmp
    yum install net-snmp -y

    然後對主配置文件進行修改
    vim /etc/snmp/snmpd.conf
    具體修改如下所示:
      將下邊這行中的default
      com2secnotConfigUser default public
      改爲192.168.0.82(cacti)服務器的地址)
      com2secnotConfigUser 192.168.0.82 public 指定監控服務器主機的IP
      將下邊這行中的systemview
      access notConfigGroup "" any noauth exact systemview none none
      改爲
      access notConfigGroup "" any noauth exact all none none 將所有的權限都給執行Cacti服務的用戶
     啓用下列內容
     view all included .1 80

     接下來啓動服務即可
     service snmpd start
     將snmp服務加入開機自動啓動行列:
     chkconfig snmpd on
     到此我們在被監控端的linux主機上配置完畢

打開我們的cacti管理頁面進行如下配置:

     點擊“Devices”,在此時我們可以看到被監控的只有localhost這一臺主機,接下來我們點擊右上角的“Add”,來添加被監控的主機,如圖:

clip_p_w_picpath013

    具體輸入內容如圖所示,其他的可以使用默認設置:

clip_p_w_picpath014

    輸入完畢,檢查無誤後,點擊右下角的“Create”即可。
    如果添加成功,將在上角顯示被監控主機的信息,如圖所示:

clip_p_w_picpath015

    接下來我們就該給cacti指定監控這個主機的哪些信息了,在這個頁面的“Associated Graph Templates”欄內進行指定,如圖所示:

clip_p_w_picpath016

    選擇、添加完成之後,點擊頁面右下角的“Save”即可。
    我們再次查看“Devices”的時候就可以看到我們新加的主機也在列表之內了,如圖:

clip_p_w_picpath017

     接下來我們要爲我們的other linux主機創建一個圖標樹:
     在當前頁面進行如圖操作:

clip_p_w_picpath019

     然後點擊“Go”,將其加入到默認的樹目錄下:
     點擊“Graph Trees”選項進入樹目錄管理界面,我們可以看到我們親愛的other linux了,如圖所示

clip_p_w_picpath020

    接下來我們點擊左上角藍色半圓“graphs”選項,進入圖標分析界面
    我們就可以看到cacti對other linux位於樹目錄的位置以及相應信息分析的圖表了:

clip_p_w_picpath021

    我在這裏只監控了other linux的Memory額使用情況,大家還可以添加其他的監控選項,以及監控模版,以充分發揮cacti強大的時時監控及繪製圖表的功能

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章