輕鬆架設時時監控工具Cacti

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

    想要讓cacti可以進行正常的工做少不了它的幫手工具snmp和RRDtool,下面咱們就具體瞭解一下這兩個幫手。html

SNMPmysql

    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)、接口類型等,也多是系統的信息,或者是須要監控的進程等...linux

RRDtoolsweb

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

咱們來看一下這套工具的應用範圍:數據庫

   常見的監控應用主要有:apache

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

   這套工具的優勢有:瀏覽器

一、是開源軟件
二、界面相對其餘監控軟件很漂亮,能畫出漂亮準確的數據圖
三、可以實現跨平臺的監控
四、具備很強的可擴展性,咱們能夠經過添加不一樣的模塊來實現不一樣的監控功能

快速安裝Cacti

1、環境介紹

主監控機IP=192.168.0.82

2、安裝配置

(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 cacti@127.0.0.1 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_image002

    點擊 「Next」,顯示以下:

clip_image004

    選擇「New Install」,點擊「Next」,顯示內容以下(這只是部分的圖片)

clip_image006

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

clip_image007

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

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

clip_image008

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

clip_image009

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

clip_image010

clip_image011


    此時咱們的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_image013

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

clip_image014

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

clip_image015

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

clip_image016

    選擇、添加完成以後,點擊頁面右下角的「Save」便可。
    咱們再次查看「Devices」的時候就能夠看到咱們新加的主機也在列表以內了,如圖:

clip_image017

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

clip_image019

     而後點擊「Go」,將其加入到默認的樹目錄下:
     點擊「Graph Trees」選項進入樹目錄管理界面,咱們能夠看到咱們親愛的other linux了,如圖所示

clip_image020

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

clip_image021

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

相關文章
相關標籤/搜索