cacti的配置

使用yum安裝需要的軟件包:
# yum install php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL
在主監控機上安裝rrdtool:
        需要安裝rrdtool rrdtoo-devel rrdtool-php   
下載好這些軟件使用:
           #yum localinstall *.rpm –nogpgcheck
配置/etc/snmp/snmp.conf文件:     
   com2secnotConfigUser default publicdefault該用來127.0.0.1  
   access notConfigGroup "" any noauth exact systemview none nonesystemview該爲all  
    #view all included .1 80的‘#’去掉
          #service snmpd restart
安裝cacti 下載cacti-0.8.7e.tar.gz
        #tar xvf cacti-0.8.7e.tar.gz
        #mv cacti-o.8.73.tar.gz /var/www/html/cacti
        #useradd cacti
        #chown –R cacti /var/www/html/cacti
        #chmod  -R 775 /var/www/html/cacti
在數據庫中配置cacti的訪問權限:
       # service mysqld restart
      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;配置/var/www/html/cacti/include/config.php ,username,password該一下     
       #service httpd restart    
        #setenforce 0 如果不關閉會出現很多問題,如訪問不了,沒有權限等
 遊覽器中輸入以下內容:http://192.168.0.1/cacti 會出現安裝界面,ip是該服務器的ip地址,直接單擊next,一路下去直到輸入賬戶admin密碼admin ,這是默認賬戶密碼,之後會重新改密碼,自己隨便設置個就行了。單擊graphs,你可以看本機的監控圖,注意一定要有耐心,總會出現的,這個成圖很慢。
創建個計劃任務:crontab –u cacti –e 加入下列內容:
 */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
確保:/var/www/html/cacti/rra存在,如果沒有看到圖可以手動執行一下這個計劃中的命令
  php /var/www/html/cacti/poller.php > /dev/null 2>&1
使用 Cacti 監控 Linux 主機
#在被監控的linux主機上安裝net-snmp
                  yum install net-snmpvi
編輯 /etc/snmp/snmpd.conf文件:
將下邊這行中的defaultcom2secnotConfigUser default public
   #改爲192.168.0.3cacti)服務器的地址)com2secnotConfigUser 192.168.0.3 public
#將下邊這行中的systemviewaccess notConfigGroup "" any noauth exact systemview none none
    #改爲allaccess notConfigGroup "" any noauth exact all none none
#將下邊這行的註釋“#”號去掉#view all included .1 80service snmpd restart
9)如果出現問題請注意一下snmp協議的版本,都用version 1是一種解決方法如果都用version 1,需要把所有監控機和被監控機的snmpd.conf改一下
#vi /etc/snmp/snmpd.conf#將下邊這行view systemview included .1.3.6.1.2.1.1
#改爲view systemview included .1.3.6.1.2.1 在遊覽器輸入服務端的http://ip/cacti 選擇console--devices---add填入一下內容,這是要監控的客戶端:
選擇default trees-----單擊default trees---add 填入一下內容即可,然後選擇graphs可以看着監控的主機的圖
cacti常用插件安裝
      要安裝別的插件前,先要安裝cacti的一個patch--Plugin Architecture,才能支持插件PA 2.8 = cacti 0.8.7g 
   # tar xvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
   # cp -R cacti-plugin-arch/* /var/www/html/cacti/cd /var/www/html/cacti/
   #mysql -ucacti -pcacti cacti <pa.sqlpatch -p1 -N <cacti-plugin-0.8.7g-PA-v2.8.diff
編輯vi include/config.php修改爲$url_path = “/cacti/”;

 安裝常用插件Monitor,Settings,thold 
    # tar zxvf monitor-latest.tgz
    # tar zxvf settings-latest.tgz
    # tar zxvf thold-latest.tgz
    # mv monitor-0.9/ /var/www/html/cacti/plugins/monitor# mv settings-0.6/ /var/www/html/cacti/plugins/settings
    # mv thold-0.41/ /var/www/html/cacti/plugins/thold
     mysql -u cactiuser -p cactidb < thold/thold.sql
    mysql -u cactiuser -p cactidb < monitor/monitor.sql
    vim /var/www/html/cacti/include/config.php
       $plugins = array();
       $plugins[] = "settings";
       $plugins[] = "thold";
       $plugins[] = "monitor";
登陸安裝啓用對應的插件即可。  
這裏以monitor爲例:選擇user Management --- admin –plugin management(打上鉤),也將monitor打上鉤


常見故障排除安裝完畢在瀏覽器上無法看到數據的png圖片。看apachelog  
   如果出現:    ========================   
[Thu Feb 09 15:12:24 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico   
ERROR: opening '/var/www/html/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied    PS:解決辦法:關閉selinux,即可解決問題。
 PS:以上無法獲取數據圖大多和poller.phpcmd.php權限有關。
   當cacti 有圖沒有數據時,而且狀態爲nan的錯誤
PS:這個很可能是snmp的問題,執行以下命令,沒有得到如圖的結果。就說明snmp不支持64MIB庫。重新編譯安裝snmp
        # snmpwalk -c public -v 2c 127.0.0.1

   IF-MIB::ifHCInOctetsIF-MIB::ifHCInOctets.1 = Counter64: 7437357IF-MIB::ifHCInOctets.2 =   Counter64: 353773IF-MIB::ifHCInOctets.3 = Counter64: 0
PS:被監控主機無法獲得snmp信息,還有可能是對方主機snmp版本和當前主機的snmp版本不一致導致的。
PSrrdtools版本要一致,特別是在升級cacti時候。版本不一致,可能rra數據格式不同。就無法處理。

排錯思路1,查看log下的日誌文件。一般那裏會有提示
2,測試SNMP是不是工作正常 snmpwalk -v 2c -c public hostIP   if正常的話會出現一些數據。不正常會出現一些錯誤,也會有對應的錯誤提示。
3,自動運行poller.php沒有。有沒有加入cacti的的用戶。。有沒有給cacti用戶寫入rra/ log/的權限。。
4crontab –u cactiuser –e cactiuser加上自動運行poller.php的任務:
             */5     *       *       *       *       root    /usr/local/bin/php /usr/local/share/cacti/poller.php /dev/null 2>&1        5分鐘刷新一次數據。你也可以根據需要還設置。5。把cacti目錄裏的cmd.phppoller.php文件加下運行的權限。

腳本下載以及設置 

下載mysql-cacti-templates模板,用來檢測mysql的狀態:
wget http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.2.tar.gz
tar -xzvf mysql-cacti-templates-1.1.2.tar.gz
cd mysql-cacti-templates-1.1.2
cp ss_get_mysql_stats.php /var/www/html/cacti/scripts
在遊覽器中導入該模板文件:cacti_host_template_x_db_server_ht_0.8.6i.xml
修改ss_get_mysql_stats.php 文件
      $mysql_user = 'cacti';
      $mysql_pass = 'cacti';
      $cache_dir  = "var/www/html/cacti/cache/";
     #mkdir /var/www/html/cacti/cacti/cache/
     #chmod 777 -R /var/www/html/cacti/cache/
默認在獲取的數據/tmp/下,會有cacti不能讀取的情況。所以放在cacti目錄來。 
二,創建監控Mysql需要的賬戶以及權限配置MySQL服務器,讓cacti所在機器能夠訪問MySQL服務器的狀態信息,必須擁有”process”權限。如果要監控InnoDB狀態,還必須有”SUPER”權限。
mysql> grant process,super on *.* to 'cacti'@'%' identified by 'cacti';
mysql> grant all privileges on cacti.*  to cacti@"%" identified by "cacti";
  選擇import templates cacti_host_template_x_db_server_ht_0.8.6i.xml導入之後,選擇
devices-----mylinux(或者localhost反正是監控的機器),可以看到如圖中的帶有mysql的信息,選中所需就可以監控mysql

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