Centos下cacti的安裝

介紹php

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),它可以存儲的數據筆數在建立時就已經定義mysql

準備工做linux

http://www.cacti.net/download_cacti.php
http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz

安裝rrdtoolnginx

getconf LONG_BIT
rpm -ivh http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

yum install rrdtool -y

 安裝配置snmpc++

yum install net-snmp net-snmp-libs net-snmp-utils -y
chkconfig snmpd on

 snmp配置文件 /etc/snmp/snmpd.conf   sql

com2sec notConfigUser 101.199.100.150  sEtNcu3O9R7Dl29c
com2sec notConfigUser 220.181.150.98  sEtNcu3O9R7Dl29c
com2sec notConfigUser 180.153.229.230  sEtNcu3O9R7Dl29c
com2sec notConfigUser 220.181.150.125  sEtNcu3O9R7Dl29c
com2sec notConfigUser 103.28.11.237  sEtNcu3O9R7Dl29c
com2sec notConfigUser 103.28.10.244  sEtNcu3O9R7Dl29c
com2sec notConfigUser 103.28.10.245   sEtNcu3O9R7Dl29c
com2sec notConfigUser  127.0.0.1 sEtNcu3O9R7Dl29c 
com2sec notConfigUser 60.195.252.107  sEtNcu3O9R7Dl29c 
com2sec notConfigUser 60.195.252.110  sEtNcu3O9R7Dl29c 

group   notConfigGroup v2c           notConfigUser
access  notConfigGroup ""      any       noauth    exact  all  none  none 
view all    included  .1         80  
proc mountd
proc ntalkd 4
proc sendmail 10 1
disk / 10000
load 12 14 14

加入防火牆數據庫

/sbin/iptables -I INPUT -p udp -m udp -s 101.199.100.150  --dport 161 -jACCEPT
/sbin/iptables -I INPUT -p udp -m udp -s 220.181.150.98  --dport 161 -jACCEPT
/sbin/iptables -I INPUT -p udp -m udp -s 180.153.229.230  --dport 161 -jACCEPT
/sbin/iptables -I INPUT -p udp -m udp -s 220.181.150.125  --dport 161 -jACCEPT
/sbin/iptables -I INPUT -p udp -m udp -s 103.28.11.237  --dport 161 -jACCEPT
/sbin/iptables -I INPUT -p udp -m udp -s 103.28.10.244  --dport 161 -jACCEPT
/sbin/iptables -I INPUT -p udp -m udp -s 103.28.10.245   --dport 161 -jACCEPT

刪除vim

iptables -D  INPUT  1

查看防火牆api

iptables -L -n  --line-number  

 結果網絡

Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     udp  --  60.195.252.110       0.0.0.0/0           udp dpt:161 
2    ACCEPT     udp  --  60.195.252.107       0.0.0.0/0           udp dpt:161 
3    ACCEPT     udp  --  103.28.10.245        0.0.0.0/0           udp dpt:161 
4    ACCEPT     udp  --  103.28.10.244        0.0.0.0/0           udp dpt:161 
5    ACCEPT     udp  --  103.28.11.237        0.0.0.0/0           udp dpt:161 
6    ACCEPT     udp  --  220.181.150.125      0.0.0.0/0           udp dpt:161 
7    ACCEPT     udp  --  180.153.229.230      0.0.0.0/0           udp dpt:161 
8    ACCEPT     udp  --  220.181.150.98       0.0.0.0/0           udp dpt:161 
9    ACCEPT     udp  --  101.199.100.150      0.0.0.0/0           udp dpt:161 

 啓動並測試

service snmpd start
snmpwalk -v 1 -c public localhost .1.3.6.1.2.1.1.1.0
snmpwalk -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 i686
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 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (874261) 2:25:42.61
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: (25) 0:00:00.25
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

配置nginx

location ~ ^/(status|ping)$
{   
    include fastcgi_params;
    fastcgi_pass unix:php_fpm_sock;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    allow 114.160.24.142;
    deny all;
}   

 location /ngx_status {
        stub_status on; 
        access_log  off;
        allow 60.195.252.106;
        allow 60.195.252.107;
        allow 60.195.252.110;
        allow 124.160.24.242;
        deny all;
}   

安裝spine

net-snmp-devel
mysql
mysql-devel
openssl-devel

安裝

yum -y install net-snmp-devel
cd /usr/local/src/
wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz
tar -zxf  cacti-spine-0.8.8b.tar.gz
cd cacti-spine-0.8.8b
./configure
make && make install
vim /usr/local/spine/etc/spine.conf
//修改數據庫鏈接信息

 測試

/usr/local/spine/bin/spine
ldd /usr/local/spine/bin/spine

 出現一下信息則表示成功

SPINE: Using spine config file [/etc/spine.conf]
SPINE: Version 0.8.8a starting
SPINE: 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/src
wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
tar xzf cacti-0.8.8b.tar.gz
mv cacti-0.8.8b /data/www/cacti
cd !$
mysql -urott -p  -e 'create database cacti'
mysql -uroot -p cacti < cacti.sql

 受權

GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';

 修改配置文件 include/config.php

 加入cron

echo "*/5 * * * * cactiuser php /data/www/cacti/poller.php > /dev/null 2>&1">>/etc/crontab

 訪問後臺

出現以上則說明成功

過5分鐘過,不出意外的話則能夠看到監控的圖片了

相關文章
相關標籤/搜索