標籤:
介紹
Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網路流量監測圖形分析工具。Cacti是通過 snmpget來擷取資料,使用 RRDtool繪畫圖形。它提供了非常強大的資料和使用者管理功能,可以指定每一個使用者能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行使用者驗證,同時也能自己增加模板,功能非常強大完善。介面友好。軟體 Cacti 的發展是基於讓 RRDTool 使用者更方便使用該軟體,除了基本的 Snmp 流量跟系統資訊監控外,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖。
snmp關係著資料的收集,rrdtool關係著資料存放區和圖表的產生,snmp抓到資料不是儲存在mysql中,而是存在rrdtool產生的rrd檔案中(在cacti根目錄的rra檔案夾下)。rrdtool對資料的更新和儲存就是對rrd檔案的處理,rrd檔案是大小固定的檔案檔案(Round Robin Archive),它能夠儲存的資料筆數在建立時就已經定義
準備工作
http://www.cacti.net/download_cacti.phphttp://www.cacti.net/downloads/cacti-0.8.8b.tar.gzhttp://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz
安裝rrdtool
getconf LONG_BITrpm -ivh http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpmrpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpmyum install rrdtool -y
安裝配置snmp
yum install net-snmp net-snmp-libs net-snmp-utils -ychkconfig snmpd on
snmp設定檔 /etc/snmp/snmpd.conf
com2sec notConfigUser 127.0.0.1 publicgroup notConfigGroup v1 notConfigUsergroup notConfigGroup v2c notConfigUserview systemview included .1.3.6.1.2.1view systemview included .1.3.6.1.2.1.25.1.1access notConfigGroup "" any noauth exact all none noneview all included .1 80syslocation Unknown (edit /etc/snmp/snmpd.conf)syscontact Root <[email protected]> (configure /etc/snmp/snmp.local.conf)dontLogTCPWrappersConnects yes
啟動然後測試
service snmpd startsnmpwalk -v 1 -c public localhost .1.3.6.1.2.1.1.1.0snmpwalk -c public -v 2c 127.0.0.1 system
輸出類一下資訊則表明安裝成功
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-504.16.2.el6.i686 #1 SMP Wed Apr 22 04:04:03 UTC 2015 i686SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-504.16.2.el6.i686 #1 SMP Wed Apr 22 04:04:03 UTC 2015 i686SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (874261) 2:25:42.61SNMPv2-MIB::sysContact.0 = STRING: Root <[email protected]> (configure /etc/snmp/snmp.local.conf)SNMPv2-MIB::sysName.0 = STRING: localhost.localdomainSNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)SNMPv2-MIB::sysORLastChange.0 = Timeticks: (25) 0:00:00.25SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBComplianceSNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
安裝spine
net-snmp-develmysqlmysql-developenssl-devel
安裝
yum -y install net-snmp-develcd /usr/local/src/wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gztar -zxf cacti-spine-0.8.8b.tar.gzcd cacti-spine-0.8.8b./configuremake && make installvim /usr/local/spine/etc/spine.conf//修改資料庫連接資訊
測試
/usr/local/spine/bin/spineldd /usr/local/spine/bin/spine
出現一下資訊則表示成功
SPINE: Using spine config file [/etc/spine.conf]SPINE: Version 0.8.8a startingSPINE: Time: 0.1190 s, Threads: 5, Hosts: 2
linux-gate.so.1 => (0x00896000) libnetsnmp.so.20 => /usr/lib/libnetsnmp.so.20 (0x0094e000) libmysqlclient.so.18 => /usr/lib/libmysqlclient.so.18 (0x0037f000) libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x046a7000) libz.so.1 => /lib/libz.so.1 (0x001ac000) libpthread.so.0 => /lib/libpthread.so.0 (0x001c0000) libm.so.6 => /lib/libm.so.6 (0x001db000) libc.so.6 => /lib/libc.so.6 (0x006b3000) libssl.so.10 => /usr/lib/libssl.so.10 (0x03bb1000) libdl.so.2 => /lib/libdl.so.2 (0x00205000) librt.so.1 => /lib/librt.so.1 (0x0020a000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x037f4000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00259000) /lib/ld-linux.so.2 (0x0035f000) libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x039c2000) libkrb5.so.3 => /lib/libkrb5.so.3 (0x038e3000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x00df4000) libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x002fc000) libresolv.so.2 => /lib/libresolv.so.2 (0x00213000) libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x002ee000) libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x0032f000) libselinux.so.1 => /lib/libselinux.so.1 (0x0022d000)
安裝cacti
cd /usr/loca/srcwget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gztar xzf cacti-0.8.8b.tar.gzmv cacti-0.8.8b /data/www/cacticd !$mysql -urott -p -e ‘create database cacti‘mysql -uroot -p cacti < cacti.sql
授權
GRANT ALL ON cacti.* TO [email protected] IDENTIFIED BY ‘cactipassword‘;
修改設定檔 include/config.php
加入cron
echo "*/5 * * * * cactiuser php /data/www/cacti/poller.php > /dev/null 2>&1">>/etc/crontab
訪問後台
出現以上則說明成功
過5分鐘過,不出意外的話則可以看到監控的圖片了
Centos下cacti的安裝