2010年10月14日 星期四

CentOS 5.5 Install Cacti 實作


Server 端設定

  1. Install rpmforge ( website http://www.rpmrepo.org/RPMforge/Using )
    wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
    rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm

  2. 安裝所需套件
    yum -y install mysql mysql-server php php-mysql php-pear php-common php-gd php-devel php-mbstring php-cli php-snmp php-pear-Net-SMTP httpd

  3. 啟動 mysql 並設定密碼
    service mysqld start
    mysqladmin -u root password abcd1234

  4. 建立 Cacti 資料庫, 建立時需要輸入 mysql 密碼, 並設定 cacti 資料庫密碼
    mysql -u root -p -e 'create database cacti'
    mysql -u root –p
    #==========================================
    GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti1234';
    FLUSH privileges;
    \q
    #==========================================

  5. 安裝其餘套件
    yum -y install php-pdo php-snmp im_sensors net-snmp net-snmp-utils net-snmp-libs perl-DBI perl-DBD-MySQL gd gcc gcc-c++ cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel

  6. 修改 /snmp/snmpd.conf 並重啟 snmpd
    vim /etc/snmp/snmpd.conf
    #===========================================================
    ## 原本的設定
    com2sec notConfigUser default public
    group notConfigGroup v1 notConfigUser
    group notConfigGroup v2c notConfigUser

    view systemview included .1.3.6.1.2.1.1
    view systemview included .1.3.6.1.2.1.25.1.1

    access notConfigGroup "" any noauth exact systemview none none
    #===========================================================
    ## 新增的設定
    ##群設定 community 名稱要一樣, 才可以讓別台取得的數值
    ## sec.name source community
    com2sec    local        localhost    shyam
    com2sec    mynetwork    NETWORK/24    shyam
    group        MyRWGroup     any local
    group        MyROGroup     any mynetwork
    view    all        included    .1        80
    view    systemview    included    .1.3.6.1.2.1.2
    access    MyROGroup    ""    any    noauth 0 all none none
    access    MyRWGroup    ""    any    noauth     0 all all all
    #==========================================================

    ##
    修改的設定

    syslocation cacti-server
    syscontact Shyam <shyam@aol.tw>
    #==========================================================
    ## 原本的設定
    pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
    #==========================================================
    #End

    service snmpd start

    #測試指令
    snmpwalk -c public -v 2c localhost system

  7. 安裝 rrdtool 程式, 若安裝 Cacti中文版需使用 1.3.x 之前的 rrdtool
    wget http://www.mrtg.org/rrdtool/pub/rrdtool-1.2.30.tar.gz
    wget http://www.mrtg.org/rrdtool/pub/rrdtool-1.4.4.tar.gz
    tar zxvf rrdtool-1.*.tar.gz
    cd rrdtool-1.*
    ./configure --prefix=/usr/local/rrdtool/
    make && make install

  8. 安裝 Cacti 管理程式
    #中文版 0.8.7e
    wget http://blogimg.chinaunix.net/blog/upfile2/090815172648.gz
    tar zxvf 090815172648.gz
    mv cacti-0.8.7* /var/www/html/cacti

    #英文版 0.8.7g
    wget http://sourceforge.net/projects/cacti/files/cacti/cacti-0.8.7g/cacti-0.8.7g.tar.gz/download
    tar zxvf cacti-0.8.7g.tar.gz
    mv cacti-0.8.7* /var/www/html/cacti

  9. 編輯 ./cacti/include/config.php 設定檔
    vim /var/www/html/cacti/include/config.php
    #==========================================
    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cacti";
    $database_password = "cacti1234";
    $database_port = "3306";
    #==========================================

  10. 匯入 cacti.sql 資料庫檔案, 匯入時需輸入之前設定的 cacti 資料庫密碼
    mysql -u cacti -p cacti < /var/www/html/cacti/cacti.sql

  11. 設定排程 每 5 分鐘出統計一次, 並將 httpd snmpd mysqld 設成開動自動執行
    vim /etc/crontab
    #==========================================
    */5 * * * * root php /var/www/html/cacti/poller.php > /dev/null 2>&1
    #==========================================
    service crond restart && service httpd restart && chkconfig crond on && chkconfig httpd on && chkconfig snmpd on && chkconfig mysqld on

  12. 訪問 http://localhost/cacti

    更改 rrdtool 路徑為 /usr/local/rrdtool/bin/rrdtool
    檢查 Utilities > System Utilities > Technical Support


Client 設定

  1. 安裝 net-snmp (website http://www.net-snmp.org/download.html )
    wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.5/net-snmp-5.5.tar.gz/download
    tar zxvf net-snmp-5.5.tar.gz
    cd net-snmp-5.5
    ./configure --prefix=/usr/local/snmp -with-default-snmp-version="3" --with-sys-contact="root@" --with-sys-location="Unknown" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp"
    make && make install

    mkdir /etc/snmp
    vim /etc/snmp/snmp.conf
    #===========================================================
    ## 原本的設定
    com2sec notConfigUser default public
    group notConfigGroup v1 notConfigUser
    group notConfigGroup v2c notConfigUser

    view systemview included .1.3.6.1.2.1.1
    view systemview included .1.3.6.1.2.1.25.1.1

    access notConfigGroup "" any noauth exact systemview none none
    #===========================================================
    ## 新增的設定
    ## 群設定 community 名稱要一樣, 才可以讓別台取得的數值
    ## sec.name source community
    com2sec    local        localhost    shyam
    com2sec    mynetwork    NETWORK/24    shyam
    group        MyRWGroup     any local
    group        MyROGroup     any mynetwork
    view    all        included    .1        80
    view    systemview    included    .1.3.6.1.2.1.2
    access    MyROGroup    ""    any    noauth 0 all none none
    access    MyRWGroup    ""    any    noauth     0 all all all
    #==========================================================

    ##
    修改的設定

    syslocation cacti-client
    syscontact Shyam <shyam@addcn.com>
    #==========================================================
    ## 原本的設定
    pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
    #==========================================================
    #End
  2. 啟動 snmpd 指令
    /usr/local/snmp/sbin/snmpd -c /etc/snmp/snmp.conf

簡易設定

  1. 選擇 Management 裡的 Devices , 右邊視窗有個 Add 新增一個設備
  2. 首先是 General Host Options 設定, 在 Description 欄位輸入設備名稱, Hostname 輸入設備的IP, Host Template 選擇設備類型 Linux 就選 Linux , XP 就選 XP, Router 就選 Router , 這裡隻影響到自動化模組, 選錯也沒有關係. 剩下的用預設值即可, 需要注意的是 SNMP Options 選項中的 SNMP Community 預設是 Public 如果有更改, 這邊也要更改!!! 否則會是取不到數值.

  3. 上述設定如果成功後, 會出現 SNMP InFormation 的訊息, 如果出現 SNMP Error 代表就是設定錯誤, 這時, 點選 Create Graphs for this Host 建立圖表.

  4. 選擇所要建立圖表的資料, 在右邊的框框中打勾即可.

  5. 點選上方 graphs 圖表後, 在點最右方的 Preview View 即可檢查所有圖表.

後記
phpmyadmin
wget http://ncu.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.7/phpMyAdmin-3.3.7-all-languages.tar.gz

清除 log
更換掉 ./cacti/log/cacti.log 檔案即可

參考網址:
http://blog.xuite.net/jk_shih/tech/25856560
http://www.wtcs.org/snmp4tpc/testing.htm

全文完

3 則留言:

  1. 請問一下
    你的 rrdtool 是裝1.2版的嗎?

    回覆刪除
  2. 第一次使用這種 Blog 所以不太會回留言, 不好意思隔這麼久才看到..
    我裝的是 1.4.4 的版本, 1.2 的版本也是可以使用...

    回覆刪除
  3. 呵呵~
    我也想了很久才想起來我問了啥問題= =

    因為我用1.2去編
    資料庫那邊是有資料
    但是圖就是跑不出來
    只是我是用ubuntu去裝的
    可能有些套件漏掉了

    回覆刪除