一、准備安裝
環境:CentOS 6.3_x64bit
安裝:Minimal(最小)
注意:修改時區和時間
所需的軟件:
http php php-mysql php-snmp mysql perl-DBD-mysql php-pdo rrdtool net-snmp net-snmp-libs net-snmp-utils
下載所需的軟件:
cacti-0.8.7g.tar.gz
cacti-plugin-0.8.7g-PA-v2.8.tar.gz
rrdtool-1.4.4-1.el5.wrl.i386.rpm
rrdtool-perl-1.4.4-1.el5.wrl.i386.rpm
rrdtool-ruby-1.4.4-1.el5.wrl.i386.rpm
monitor-latest.tgz
settings-latest.tgz
thold-latest.tgz
二、環境介紹
主監控服務器:Centos 6.3_x64bit
主監控IP地址:10.10.10.100
監控客戶端:10.10.10.101
三、安裝配置
(1)在主監控服務器上安裝apache+php+gd的web環境,推薦編譯安裝。(可以用yum安裝)
[root@server~]#yum install php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL
(2)在主監控服務器上安裝rrdtool,rrdtool依賴的包過多,所以選擇增加源,然後用yum安裝。
安裝有三種方式:
[root@server ~]#yum localinstall *.rpm –nogpgcheck 或 [root@server ~]#yum localinstall –y –nogpgcheck * 或[root@server ~]# yum install rrdtool* -y
(3)配置snmp
[root@server ~]#vim /etc/snmp/snmpd.conf
#將下邊這行中的default
com2sec notConfigUser default public
#改為:127.0.0.1
com2sec notConfigUser 127.0.0.1 public
#將下邊這行中的systemview
access notConfigGroup "" any noauth exact systemview none none
#改為:all
access notConfigGroup "" any noauth exact all none none
#將下邊這行的注釋“#”去掉
view all included .1 80
重啟snmpd服務
[root@server ~]# service snmpd restart
停止 snmpd: [確定]
正在啟動 snmpd: [確定]
[root@server ~]# chkconfig snmpd on
(4)安裝cacti
[root@server ~]#cd /var/www/html
[root@server html]# mkdir cacti
[root@server html]# ll
總用量 4
drwxr-xr-x. 12 root root 4096 9月 7 15:50 cacti
[root@server ~]# tra xvf cacti-0.8.7g.tar.gz
[root@server ~]# mv cacti-0.8.7g/* /var/www/html/cacti
[root@server ~]# useradd cacti
[root@server ~]# chown -R cacti /var/www/html/cacti/
[root@server ~]# chmod -R 775 /var/www/html/cacti/
[root@server html]# ll
總用量 4
drwxrwxr-x. 12 cacti root 4096 9月 7 15:55 cacti
(5)在數據庫中建庫、授權、導入數據庫結構
#注意導入cacti.sql時該文件的路徑
[root@server ~]# cd /var/www/html/cacti/
[root@server cacti]# service mysqld restart
[確定]
正在啟動 mysqld: [確定]
[root@server cacti]#chkconifg mysqld on
[root@server cacti]#mysql
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;
myslq> use cacti; //提示“Database changed”即可
myslq> source /var/www/html/cacti/cacti.sql;
mysql> q
#配置cacti以連接數據庫
[root@server cacti]#vim /var/www/html/cacti/include/config.php
修改如下:
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
[root@server cacti]#service httpd restart
[root@server cacti]#chkconfig httpd on
關閉防火牆有2種:
○1[root@server ~]# chkconfig iptables off //關閉防火牆,重啟後生效。
○2[root@server ~]#iptables –F //即時生效,不需要重啟
SELINUX關閉有2種 :
○1[root@server ~]# vim /etc/selinux/config
修改如下:
SELINUX=enforcing //修改為:SELINUX=disabled
重啟:
[root@server ~]# reboot //重啟後永久生效
○2[root@server ~]# setenforce 0 //臨時關閉,即時生效
注意:#setenforce 0 如果不關閉會出現很多問題,如訪問不了,沒有權限等游覽器
(6)浏覽器下配置
#用浏覽器打開 :http://服務器IP/cacti ; 會顯示cacti的這指南,設置好就不會再提示。
#點“Next”
#選擇“New Install”,點擊“Next”
#指定 rrdtool php snmp 工具的Binary文件路徑,確保所有的路徑都是顯示“FOUND”,沒有“NOT FOUND”的,點擊Finish 完成安裝。
#Cacti 默認的用戶名與密碼是:admin,輸入用戶名與密碼,點擊:login
#為了安全的原因,第一次登錄成功後,Cacti會強制要求更改新password,輸入新密碼並確認密碼,點擊“save”,進入cacti控制台界面;
#點擊“graphs”,查看Cacti監控本機的圖表。
(7)Cacti監控Linux客戶端
在被監控的Linux客戶端上安裝net-snmp
[root@client ~]#yum install net-snmp
配置編輯:
[root@client ~]#vim /etc/snmp/snmpd.conf
#更改以下部分:
#將下邊這行中的default
com2sec notConfigUser default public
改為:10.10.10.100(服務器IP地址)
com2sec notConfigUser 10.10.10.100 public
將下邊這行中的systemview
access notConfigGroup "" any noauth exact systemview none none
改為:all
access notConfigGroup "" any noauth exact all none none
將下邊這行的注釋“#”去掉
view all included .1 80
#重啟snmpd服務
[root@client ~]#service snmpd restart
[root@client ~]# chkconfig snmpd on
(8)選擇console——Devices——Add填入一下內容,這是要監控的客戶端,編輯以下幾點:
Description: CentOS 6.3 Client
Hostname:10.10.10.101
Host Template: Local Linux Machine
Downed Device Detection:SNMP
SNMP Version: Version 2
“Create”-----*Create Graphs for this ----右邊全部“勾”選 ,“Create”,“Create”,“Create”,完成!
Graph Trees-----Default Tree-----Add:
Parent Item:root
Tree Item Type:Host
Host: CentOS 6.3 Client(10.10.10.101)
“Create”,“Save”,完成!
(9)增加入一個計劃,使Cacti每5分鐘生成一個監控圖表。
[root@server cacti]#crontab -e 或crontab –u cacti –e
加入以下內容,注意:poller.php 的路徑
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
#確保 /var/www/html/cacti/rra/目錄存在;
#如果暫時未看到圖表,可以手工執行,生存圖表
[root@server cacti]# cd ..
[root@server html]# php /var/www/html/cacti/poller.php > /dev/null 2>&1
四、cacti常用插件安裝
1.在安裝別的插件前,先要安裝Cacti的一個patch--Plugin Architecture,才能支持插件PA 2.8 = cacti 0.8.7g
[root@server ~]# yum install patch -y
[root@server ~]#tar xvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
[root@server ~]#cp -R cacti-plugin-arch/* /var/www/html/cacti/
cp:是否覆蓋"/var/www/html/cacti/LICENSE"? y
cp:是否覆蓋"/var/www/html/cacti/README"? y
[root@server ~]#cd /var/www/html/cacti
[root@server cacti]# mysql -ucacti -pcacti cacti <pa.sql
[root@server cacti]# patch -p1 -N<cacti-plugin-0.8.7g-PA-v2.8.diff
[root@server cacti]# vim include/config.php
修改為:$url_path = "/cacti/";
:wq //保存
2.安裝常用插件
Monitor Settings thold
拓樸圖 報警
[root@server ~]#tar zxvf monitor-latest.tgz
[root@server ~]#tar zxvf settings-latest.tgz
[root@server ~]#tar zxvf thold-latest.tgz
[root@server ~]#mv monitor-0.9 /var/www/html/cacti/plugins/monitor
[root@server ~]#mv settings-0.6 /var/www/html/cacti/plugins/settings
[root@server ~]#mv thold-0.41 /var/www/html/cacti/plugins/thold
登錄cacti-----console
安裝啟用對應的插件即可。
這裡以monitor為例:選擇user Management -----admin ------plugin management(打上鉤),-----Save;
plugin management----- Actions 安裝
五、常見故障排除
[root@server ~]# tail /var/log/httpd/error_log //查看日志
[root@server ~]# tail /var/log/messages //查看日志
1.安裝完畢在浏覽器上無法看到數據的png圖片。請查看apache的log
如果出現:
[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,即可解決問題。
注意:無法獲取數據圖大多和poller.php,cmd.php權限有關。
2.當cacti 有圖沒有數據時,而且狀態為nan的錯誤
PS:這個很可能是snmp的問題,執行以下命令,沒有得到如圖的結果。就說明snmp不支持64位MIB庫。請重新編譯安裝snmp。
[root@server ~]# snmpwalk -c public -v 2c 127.0.0.1 IF-MIB::ifHCInOctets
IF-MIB::ifHCInOctets.1 = Counter64: 2105
IF-MIB::ifHCInOctets.2 = Counter64: 1810779
3.如果出現問題請注意一下snmp協議的版本,被監控主機無法獲得snmp信息,還有可能是對方主機snmp版本和當前主機的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
PS:rrdtools版本要一致,特別是在升級cacti時候。版本不一致,可能rra數據格式不同。
就無法處理。
排錯方法以及思路:
1.查看log下的日志文件。一般那裡會有提示;
2.測試SNMP是不是工作正常 #snmpwalk -v 2c -c public hostIP 如果正常的話會出現一些數據。不正常會出現一些錯誤,也會有對應的錯誤提示;
3.自動運行poller.php沒有,有沒有加入cacti的的用戶,有沒有給cacti用戶寫入rra/ log/的權限;
4.#crontab -u cactiuser -e 為cactiuser加上自動運行poller.php的任務:
*/5 * * * * root /usr/local/bin/php /usr/local/share/cacti/poller.php /dev/null 2>&1
5.把cacti目錄裡的cmd.php和poller.php文件加下運行的權限;
六、監控Windows server 2003服務器
1.確定能與Cacti服務器相互通訊
2.安裝SNMP服務組件
開始-----控制面板-----添加或刪除程序-----添加/刪除windows組件:
3.配置SNMP服務
開始-----運行輸入“services.msc”
雙擊打開,陷阱
安全
配置完成!
4.在cacti服務器上測試snmp是否可以正常溝通:
命令:[root@server ~]# snmpwalk -v 2c -c public 10.1.4.43
5. 在cacti服務器添加windows被監控節點
添加設備
保存
開始創建圖形
選擇要監控的選項,點擊創建
選擇顏色,點擊創建
如下顯示創建成功
6.在Cacti上添加圖形樹
7.查看windows 2003監控信息
graphs
monitor
至此,使用cacti監控windows server 2003主機成功!!
七、監控Windows 7客戶端
1.安裝SNMP服務組件
開始-----控制面板-----程序和功能-----打開或關閉windows功能
2.配置SNMP服務
開始-----運行輸入“services.msc”
雙擊打開,陷阱
安全
配置完成!
3.在cacti服務器上測試snmp是否可以正常溝通:
命令:[root@server ~]# snmpwalk -v 2c -c public 10.1.4.180
4.在cacti服務器添加windows 7被監控節點(與windows server 2003相同,請參考5-7),下面就不在詳細說明。
本文出自 “運維工作奮斗” 博客,請務必保留此出處http://yanghuawu.blog.51cto.com/2638960/987339