您好,登錄后才能下訂單哦!
一、cacti概述
1.1 cacti是用php語言實現的一個軟件,它的主要功能是用snmp服務獲取數據,然后用rrdtool儲存和更新數據,當用戶需要查看數據的時候用rrdtool生成圖表呈現給用戶。因此,snmp和rrdtool是cacti的關鍵。Snmp關系著數據的收集,rrdtool關系著數據存儲和圖表的生成。
1.2 Mysql配合PHP程序存儲一些變量數據并對變量數據進行調用,如:主機名、主機ip、snmp團體名、端口號、模板信息等變量。
1.3 snmp抓到數據不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數據的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(RoundRobin Archive),它能夠存儲的數據筆數在創建時就已經定義。
1.4 LAMP: Linux + Apache + Mysql + PHP ,另此Cacti 版本號為0.8.8H只能用于文檔centos6、PHP 5.6 、Mysql 5.6,高于以上版本會報錯;
1.5 修改/etc/crontab配置文件,增加紅框內的內容重要:
二、安裝rrdtool
2.1 rpm-ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
2.2 yum install rrdtool -y
三、安裝配置net-snmp
3.1 安裝net-snmp
yum install net-snmp net-snmp-libs net-snmp-utils
3.2 配置net-snmp,在/etc/snmp/snmpd.conf中修改:
view systemview included .1.3.6.1.2.1.1為:view systemview included .1.3.6.1.2.1
3.3 測試net-snmp
service snmpd start
snmpwalk -v 1 -c public localhost .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux cronos 2.4.28 #2 SMP ven jan 1414:12:01 CET 2005 i686
四、安裝LAMP
yum install httpd php php-mysql php-snmp php-xml php-gd mysqlmysql-server
五、安裝cacti
5.1 cd /home
wget http://www.cacti.net/downloads/cacti-0.8.8h.tar.gz
tar xzf cacti-0.8.8h.tar.gz
mv cacti-0.8.8h /var/www/html/cacti
cd /var/www/html/cacti
5.2 創建數據庫,數據庫名稱可根據個人愛好去定義;
mysqladmin--user=root -p create cacti
或是進入mysql后臺創建數據庫,如下圖:
5.3 導入數據庫,此需要mysql-uroot -p cacti < cacti.sql
5.4 創建數據庫用戶,注,我個人比較懶mysql里設定的全是空密碼,在生產環境里必須設定密碼以保證數庫的安全;另外在生產環境需要設定獨立的數據庫用戶名,不要使用root;
shell> mysql -u root -p
mysql> GRANT ALL ON cacti.* TO root@localhost ;
mysql> flush privileges;
5.5 配置include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "root";
$database_password = "";
5.6 設置目錄權限
chown -R apache rra/ log/
5.7 配置計劃任務
echo"*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null2>&1">>/etc/crontab
servicecrond restart
servicehttpd restart
5.8 完成cacti的安裝
在瀏覽器中輸入:http://XX.XX.XX.XX/cacti/
默認用戶名:admin 密碼:admin
更改密碼
設置cacti用到的命令路徑
-------------------------------------------------------------------------------------
注:至此cacti設定完成,只需要交換機設定相關的SNMP服務,Cacti就可以采集到相關的數據。因本文的重點不是數據采集,故對數據如何采集不作說明;
-------------------------------------------------------------------------------------
六、Plugins管理
Plugins存放位置/var/www/html/cacti/plugins -->只做經常用到的Plugin說明以及安裝使用
Configstore:用于管理交換機防火墻的configure的備份管理。這插件可以幫助對所有設備進行分類批量進行備份。
Weathermap :天氣圖就不用說了,這是我感覺對網絡拓撲圖監控最為強大的一個插件,商業軟件有些功能不能解決的Weathermap都可以做到,比如你可以一張圖上圖示幾個AP接的終端用戶數;你可以一張拓撲圖上顯示你的網絡架構的流量、各設備的CPU、內存等信息;你可以一張圖上顯示一個機房所有服務器設備運行的網卡信息、I/0信息等;
Syslog用于收集所有網絡設備的Log;查看網絡設備日志對于網工來說很正常的一件事情,但當你對面上千臺網絡設備時,你如分析海量的設備信息?對,syslog可以幫助你解你的煩惱,它可能快速收集所有設備信息,再根據你編寫的Alert分類,你就可以從分析日志繁重的工作中分離出來;
Thold用于設定各類的閥值,比如你的設備被***了CPU跑到100%,你是如何去發現以及解決問題?thold可以幫助你解決此類問題;
七、Plugins: Configstore使用
7.1 Linux上安裝tftp: 需要安裝xinetd、tftp、tftp-server3軟件
如果能上網,通過yum安裝:
sudo yum install xinetd
sudo yum install tftp
sudo yum install tptp-server
如果不能上網,可以直接安裝提供的rpm包:
sudo rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
sudo rpm -ivhtftp-server-0.48-3.fc9.i386.rpm
7.2 配置tftp服務器,修改/etc/xinetd.d/tftp文件
disable=yes 改為 disable=no
server_args=-s /var/lib/tftpboot 改為 server_args=-s /opt/backups -c
7.3 檢查tftp
修改/etc/sysconfig/selinux文件 :SELINUX=disabled (系統默認是enforcing)要改成disabled
chmod 777 /opt/backups 修改/opt/backups文件夾的權限
啟動 service xinetd restart
o查看tftp服務是否開啟:netstat -a | grep tftp 顯示結果為 udp 0 0 *:tftp *:* 表示服務已經開啟,tftp配置成功
7.4 Configstore設定
設定各類別的Accounts以管理不同設備的權限
添加交換機至設備組并設定備份時間,可分日/周/月三種,必須設定DeviceType以及認證組別否則不能備份
下圖為已經已經進行備份完成的設備
configstore下載 https://forums.cacti.net/viewtopic.php?f=19&t=39573&hilit=configstore
八、Plugins: syslog使用
8.1 安裝syslog-ng
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install -y syslog-ng
8.2 配置syslog-ng
vi /etc/syslog-ng/syslog-ng.conf,在此配置文件最后加上如下:
# Remote logging
source s_remote {
tcp(ip(XXX.XXX.XXX.XXX) port(514)); [備注:此處為本機的IP]
udp(ip(XXX.XXX.XXX.XXX) port(514));
};
destination d_separatedbyhosts {
file("/var/log/syslog-ng/$HOST/messages" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));
};
log { source(s_remote); destination(d_separatedbyhosts); };
destination d_mysql {
program("mysql -u root syslog" [備注:syslog為收集設備日志數據庫]
template("INSERT INTO syslog_incoming (host, facility, priority, date, time, message, status)
VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$MSG', '0' );\n")
template-escape(yes));
};
log {source(s_remote);destination(d_mysql);};
8.3. 安裝syslog插件,此syslog已經安裝,此不作說明并作如下配置:
創建syslog 數據庫
mysql -uroot -p
create database syslog;
GRANT ALL ON syslog.* TO root@localhost ;[備注:在生產環境中要設定數據庫的密碼]
進入cacti的syslog插件目錄執行下面命令
mysql -uroot -p syslog < /var/www/html/cacti/plugins/syslog/syslog.sql [導入相關數據表]
vi /var/www/html/cacti/plugins/syslog/config.php 內容如下:
修改/etc/crontab,增加如下內容
*/1 * * * * root php /var/www/html/cacti/plugins/syslog/syslog_process.php
重啟以下服務
/etc/init.d/syslog-ng restart
/etc/init.d/mysqld restart
交機或是路由器增加log日志指向服務器
logging source-interface Loopback0
logging host 10.133.83.194
logging on
完成后系統收集的log,后面就可以根據收集到的數據進行分類alert消息
九、Plugins: weathermap使用
weathermap監控拓撲圖如下:
下圖監控狀態實例說明:
--------->
--->
------->
IFSTATUS的配置如下:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。