1、安裝LAMP架構php
本篇主要介紹cacti如何監控windows主機,cacti的搭建過程也很簡單,一樣,監控linux主機也不難。這裏主要記錄部署監控windows過程當中遇到的兩個問題
一、LAMPhtml
#yum install -y httpd php mysql-server
二、插件 mysql
#yum install -y mysql-server php-mysql net-snmp* zlib libpng freetype libjpeg gd libxml2
三、安裝rrdtoollinux
#yum -y install rrdtool
四、安裝cacti web
# tar xf cacti-0.8.8b.tar.gz -C /var/www/html/
五、數據庫受權sql
mysql>grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti'; mysql>flush privileges; mysql> create database cacti;
六、導入數據庫(先建庫,再導庫)數據庫
mysql> create database cacti; mysql cacti < /var/www/html/cacti/cacti.sql
折騰了半天,就是由於沒有導入數據庫
若是不導入數據庫,會報錯:
PHP Fatal error: Allowed memory size of 548405248 bytes exhausted (tried to allocate 523800 bytes) in /var/www/html/cacti/lib/adodb/adodb.inc.php on line 833
七、修改配置文件vim
# vim /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
http://192.168.1.150/cacti/
默認用戶名及密碼是admin:adminwindows
九、署好cacti後,可使用snmpwalk獲取到數據,但cacti web頁面是有圖無數據安全
由於 httpd,php,rrdtool 都是yum安裝的,mysql 是編譯安裝的,因此懷疑是yum的東西鏈接數據庫的問題,結果證實不是
緣由:獲取到的數據沒有順利裝載到數據庫裏,查看一下是否是數據庫的問題,例如權限、數據表結構~~
查看日誌:tail /var/www/html/cacti/log/cacti.log 沒有信息 清空日誌:>/var/www/html/cacti/log/cacti.log
/var/www/html/cacti/rra 有數據,說明rrdtool是沒有問題的
執行 /usr/bin/php /var/www/html/cacti/poller.php 報了一個關於 Asia/Chongqing 的錯
#vim /etc/php.ini
date.timezone = Asia/Chongqing
定時任務,每5分鐘去探測一下:
*/5 * * * * /usr/bin/php /var/www/cacti/poller.php >/dev/null &2>1
(2)是無圖無數據
若是是無圖無數據,那就打開 Date Source 和 Graph Management 的 Debug 模式查緣由,能夠直接在命令行下運行 Data Source 中的命令來達到出圖的目的
十、查看日誌
必定要用tail,別用 cat 和 vim ,都讀到內存中,當心把服務器搞崩了
2、監控windows主機
防火牆開戶UDP 161(SNMP)端口
windows主機須要安裝snmp服務和SNMP Informant服務
若是依照下面的步驟配置完後,仍是不行,那就檢查你服務器安裝了什麼安全軟件,好比安全狗之類的,我就是被這傢伙折磨了一天!
一、cacti客戶端配置:
爲window系統配置snmp服務及安裝snmp informant
(1)在win2008服務器上添加功能snmp服務,不是snmp服務器
(2)運行 --> services.msc --> SNMP Service
在彈出的窗口中選擇」安全」選項卡,並設置社區爲:public
按須要可設置接受來自任何主機的SNMP數據包或只指定個別機子.
而後肯定並重啓SNMP Service.
(3)解壓並安裝informant-std-16.zip
下載連接:http://www.wtcs.org/informant/download.htm,目前是STD 1.6
(4)在cacti服務器上測試snmp的連通性
[root@cacti ~]# snmpwalk -v 2c -c public 192.168.1.107 system SNMPv2-MIB::sysDescr.0 = STRING: Hardware: Intel64 Family 6 Model 60 Stepping 3 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free) SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.2 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (484620) 1:20:46.20 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: DY-WORK-Server SNMPv2-MIB::sysLocation.0 = STRING: SNMPv2-MIB::sysServices.0 = INTEGER: 76
二、cacti服務端配置:
(1)下載模板
Cacti_SNMP_Informant_Standard_Metrics_v13.zip
(該cacti監控模板支持WinXP/Vista/Win7/Win2000/2003/2008/2012 x32/x64)
下載地址: http://forums.cacti.net/download/file.php?id=26562
(2)解壓並導入模板
把template文件夾中的6個模板文件,經過cacit操做界面導入,
而後把文件夾resource\snmp_queries中的xml文件,放到cacti服務器中的相應目錄,個人服務器爲/var/www/html/cacti/resource/snmp_queries
三、建立監控主機及監控資源圖
故障:安裝、建立完成後,cacti不出圖
解決:首先確認/var/www/html/cacti/rrd目錄是否可寫,照上文設置用戶權限;
http://blog.sina.com.cn/s/blog_61c07ac50101cfja.html
3、cacti監控linux主機
一、在被監控的linux主機上安裝net-snmp
[root@localhost ~]# yum install net-snmp [root@localhost ~]# rpm -ql net-snmp [root@localhost ~]# vim /etc/snmp/snmpd.conf #更改如下部分 (1)#將下邊這行中的default com2secnotConfigUser default public #改成192.168.200.105(cacti)服務器的地址) com2secnotConfigUser 192.168.200.105 public (2)#將下邊這行中的systemview access notConfigGroup "" any noauth exact systemview none none #改成all access notConfigGroup "" any noauth exact all none none (3)#將下邊這行的註釋「#」號去掉 #view all included .1 80 (4)重啓snmp服務 [root@localhost ~]# service snmpd restart (5)設爲開機啓動 [root@localhost ~]# chkconfig snmpd on (6)查看端口 [root@localhost ~]# service snmpd restart (7)查看服務 [root@localhost ~]# ss -antulp | grep snmp tcp 0 128 127.0.0.1:199 *:* users:(("snmpd",23555,8))
二、在cacti服務器上使用snmpwalk測試
[root@cacti ~]# snmpwalk -v 2c -c public 192.168.200.111 system SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2401) 0:00:24.01 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: localhost.localdomain SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB