1. 程式人生 > >cacti監內網本機TCP連線狀況

cacti監內網本機TCP連線狀況

<VirtualHost *:80>
        DocumentRoot "/web/vhosts/cacti"
        DirectoryIndex index.shtml index.html index.php
        ErrorLog "logs/cacti_error.log"
        CustomLog "logs/cacti_access.log" common
        ProxyRequests Off  ProxyPassMatch^/(.*\.php)$fcgi://127.0.0.1:9000/web/vhosts/cacti/$1 
        <Directory /web/vhosts/cacti >
Options FollowSymLinks Includes AllowOverride All Require all granted </Directory> </VirtualHost>

安裝snmp並配置

# yum -y install rrdtool net-snmp net-snmp-libs net-snmp-utils 
修改配置檔案/etc/snmp/snmpd.conf中的預設community,後啟動服務
eg:   com2sec notConfigUser  127.0
.0.1 mypublic # chkconfig snmpd on # service snmpd start

安裝cacti,解壓安裝包到虛擬主機的根目錄

# mkdir -p /web/vhosts/
# tar xvf cacti-0.8.8h.tar.gz -C /web/vhosts/
# ln -sv /web/vhosts/cacti-0.8.8h /web/vhosts/cacti

初始化資料,更新授權

# cd /web/vhosts/cacti
# mysqladmin create cactidb
# mysql cactidb < cacti.sql 
# mysql -e "GRANT ALL ON cactidb.* to 
[email protected]
IDENTIFIED BY 'cactipasswd'"
# mysqladmin flush-privileges

建立系統使用者cactiuser,修改cacti安裝目錄下rra和log目錄的屬主屬組

# useradd cactiuser
# id cactiuser
uid=501(cactiuser) gid=501(cactiuser) groups=501(cactiuser)
# chown -R cactiuser:cactiuser rra log

修改Cacti配置檔案中的mysql連線引數

# cat include/config.php
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipasswd";
$database_port = "3306";
$database_ssl = false;
$url_path = "/"; #此處修改了cacti預設訪問路徑,不需要在訪問地址後加/cacti

以cactiuser使用者身份新增cacti收集資料的任務計劃

# echo '*/5 * * * * /usr/local/php/bin/php /web/vhosts/cacti/poller.php &>/dev/null' > /var/spool/cron/cactiuser
# echo "date.timezone = Asia/Shanghai" >> /etc/php.ini 修改php時區
# hwclock -w  #同步硬體時間到系統
# hwclock 
Mon 25 Jul 2016 06:57:17 PM CST  -0.347178 seconds
# date
Mon Jul 25 18:57:20 CST 2016
# service httpd restart
# service snmpd restart

在瀏覽器中輸入http://ip按照提示進行安裝
這裡寫圖片描述
編輯指令碼獲取TCP資料

# cd /web/vhosts/cacti/scripts/
# cat tcpcon.sh 
#!/bin/bash
#$1: hostname/ip
#$2:snmp community
SNMPNETSTAT=/usr/bin/snmpnetstat
TF=`mktemp /tmp/$1_tcpcon.XXXXXXX`
$SNMPNETSTAT -v 2c -c $2 -Can -Cp tcp $1 > $TF
EST=`grep -i 'established' $TF |wc -l`
TWAIT=`grep -i 'timewait' $TF |wc -l`
SYNRECV=`grep -i 'synreceived' $TF |wc -l`
echo -n "established:$EST"
echo -n "timewait:$TWAIT"
echo -n "synreceived:$SYNRECV"

Console -> Data Input Methods -> (Edit)
定義Data Input Methods,新增SNMP-TCP connections,資料收集方法為指令碼,指令碼路徑為cacti安裝目錄下的tcpcon.sh,並傳遞兩個引數
這裡寫圖片描述
Console -> Data Templates -> (Edit)
定義資料模板,關聯資料輸入方法,新增3個數據源
這裡寫圖片描述
Console -> Data Sources -> (Edit)定義資料來源
這裡寫圖片描述
Console -> Graph Templates -> (Edit)定義影象模板
這裡寫圖片描述