Centos Cacti 0.8.8g
一、Cacti簡介
1. cacti是用php語言實現(xiàn)的一個軟件,它的主要功能是用snmp服務獲取數(shù)據(jù),然后用rrdtool儲存和更新數(shù)據(jù),當用戶需要查看數(shù)據(jù)的時候用rrdtool生成圖表呈現(xiàn)給用戶。因此snmp和rrdtool是cacti的關鍵。Snmp關系著數(shù)據(jù)的收集,rrdtool關系著數(shù)據(jù)存儲和圖表的生成。
2. Mysql配合PHP程序存儲一些變量數(shù)據(jù)并對變量數(shù)據(jù)進行調(diào)用,如:主機名、主機ip、snmp團體名、端口號、模板信息等變量。
3. snmp抓到數(shù)據(jù)不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數(shù)據(jù)的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(RoundRobinArchive),它能夠存儲的數(shù)據(jù)筆數(shù)在創(chuàng)建時就已經(jīng)定義。
二、Cacti工作原理
Cacti操作可以分為以下三部分:
1.Data Retrieval
Cacti首先要做的工作就是收集數(shù)據(jù),cacti使用Poller(輪詢器)收集數(shù)據(jù)。Poller是操作系統(tǒng)scheduler的擴展,如在類Unix系統(tǒng)中的crontab。現(xiàn)在的IT設施中會有許多不同的設備,如服務器、網(wǎng)絡設備等,cacti主要使用SNMP協(xié)議來從遠端的設備上收集數(shù)據(jù),所有可以使用SNMP協(xié)議的設備都可以被cacti監(jiān)控。
2.Data Storage
存儲收集到的數(shù)據(jù)有許多方法,可以使用數(shù)據(jù)庫、平面文件等,cacti使用的是RDDTool。RRD是Round Robin Database(環(huán)形數(shù)據(jù)庫)的縮寫,RRD用來存儲和顯示時間序列數(shù)據(jù),如網(wǎng)絡帶寬、機房溫度、服務器負載等,RRD使用非常緊湊的方式存儲數(shù)據(jù),數(shù)據(jù)不會隨著時間的推移而增大,RRD還可以生成美觀的圖形。這些特性使得cacti沒有存儲需求。RRD也做一席位其他的工作,如RRD會將原始數(shù)據(jù)與已整合的數(shù)據(jù)進行合并,以使得歷史數(shù)據(jù)的存儲節(jié)省空間,RRD支持的整合功能包括:AVERAGE, MAXIMUM, MINIMUM和LAST。
3.Data Presentation
Cacti最大的一個特點是內(nèi)置了RRDTool畫圖功能,將其與通用的web服務器相結合,可以實現(xiàn)在任意平臺上使用瀏覽器就可以查看監(jiān)控畫面。
Homepage: http://www.cacti.net/
plugins:http://docs.cacti.net/plugins
templates:http://docs.cacti.net/templates
三、安裝cacti
1.關閉防火墻和selinux
[root@Cacti ~]#service iptables stop
[root@Cacti ~]#chkconfig iptables off
[root@Cacti ~]#vi /etc/sysconfig/selinux
2.安裝cacti依賴的軟件
[root@Cacti ~]#yum -y install mysql mysql-server mysql-devel httpd php gd php-gd php-pdo php-snmp php-xml php-mysql lm_sensors net-snmp net-snmp-utils net-snmp-libs net-snmp-devel rrdtool rrdtool-devel perl-PlRPC perl-DBI perl-rrdtool perl-DBD-MySQL
3.snmpd配置
[root@Cacti ~]#vim /etc/snmp/snmpd.confg
第41行:將 com2sec notConfigUser default public 中的 "default" 改為 "127.0.0.1"
第62行:將 access notConfigGroup "" any noauth exact systemview none none 中的 "systemview" 改為 "all"
第85行:將 #view all include .1 80 這一行前面的#號去掉
4.啟動服務
[root@Cacti ~]#service snmpd start
[root@Cacti ~]#service httpd start
[root@Cacti ~]#service mysqld start
5.安裝并配置cacti
[root@Cacti ~]#wget http://www.cacti.net/downloads/cacti-0.8.8g.tar.gz
[root@Cacti ~]#tar -zxvf cacti-0.8.8g.tar.gz
[root@Cacti ~]#mv cacti-0.8.8g /var/www/html/cacti
6.設置mysql數(shù)據(jù)庫
[root@Cacti ~]#mysql -uroot -p
mysql>create database cacti;
mysql>grant all privileges on cacti.* to cacti@localhost identified by 'cacti';
mysql>use cacti;
mysql>source /var/www/html/cacti/cacti.sql;
mysql>exit
7.配置cacti
[root@Cacti ~]#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";
8.修改rra目錄權限
[root@Cacti ~]#chown -R apache rra/ log/ #根據(jù)httpd服務啟動用戶修改
9.添加任務計劃
具體多長時間讓cacti生成一次監(jiān)控圖表自己決定,這里以cacti的默認時間5分鐘生成一次為例,默認的采集方式是cmd.php
[root@Cacti ~]#crontab -e
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
10.配置好之后重啟輸入 http://ip/cacti選 new install , next...
此處如果沒有紅色字體"NOT FOUND"字樣則算通過,finish即可,如果有則要手動指定路徑,finish之后就出現(xiàn)cacti的登錄界面,默認用戶名和密碼都是admin.login之后cacti強制要求更改密碼,改完保存即可;到這里前期的安裝工作就算全部結束了,之后就是配置監(jiān)控。
四、Cacti優(yōu)化之spine輪詢器
由于效率的原因,在需要大量采集數(shù)據(jù)時,如果使用自帶的cmd.php輪詢器會比較慢,1分鐘1次的采集頻率可能無法完成輪詢所有的被監(jiān)控的機器。為了解決效率問題,Cacti官方也推出spine,采用多線程的方式高效的輪詢。
1.解決依賴關系
[root@localhost ~]# yum -y install net-snmp-devel openssl-devel mysql-devel
2.安裝spine,下載的版本最好與cacti版本一致
[root@localhost ~]# tar xf cacti-spine-0.8.8g.tar.gz
[root@localhost ~]# cd cacti-spine-0.8.8b
[root@localhost cacti-spine-0.8.8g]# ./configure
[root@localhost cacti-spine-0.8.8g]# make && make install
3.提供配置文件
[root@localhost ~]# cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
[root@localhost ~]# vi /etc/spine.conf
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass cacti
DB_Port 3306
如果忘記了數(shù)據(jù)庫配置可以參考:cacti/include/config.php
4.測試
[root@localhost ~]# /usr/local/spine/bin/spine
SPINE: Using spine config file [/etc/spine.conf]
SPINE: Version 0.8.8b starting
SPINE: Time: 0.1707 s, Threads: 5, Hosts: 2
[iyunv@localhost ~]#
5.在cacti的WEB頁面進行設置spine的路徑
Console -> Configureation -> Settings -> Alternate Poller Path -> Spine Poller File Path
輸入spine的路徑:默認安裝在/usr/local/spine/bin/spine
6.修改Cacti默認的Poller Types
Console -> Cacti Settings -> Poller -> Poller Type
在下拉框中,選擇spine, 然后記得“Save”
注意:Spine不必為其添加計劃任務,Cacti well spawn Spine every 5 minutes instead of cmd.php
而poller.php需要定義計劃任務去執(zhí)行,然后poller.php再去調(diào)度數(shù)據(jù)收集方法。
tips1:修改采集方式為spine時間為1分鐘
1. Create 1-minute RRA settings.
2. Adjust “Step” and “Heartbeat” on all 1-minute Data Source templates.
3. Change the poller frequency in cron.
4. Change the poller frequency in Cacti settings.
5. Finally, rebuild the poller cache
1.*/1 * * * * /usr/bin/php /data1/vhosts/cacti/poller.php > /dev/null 2>&1
2.修改poller interval
3.修改date template監(jiān)控項setp為60
tips2:鏈接
http://datahunter.org/cacti
http://blog.sina.com.cn/s/blog_6d3a704f01012yai.html
http://www.iyunv.com/thread-23553-1-1.html
轉(zhuǎn)載于:https://www.cnblogs.com/zyd112/p/5289890.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的Centos Cacti 0.8.8g的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带日期的bean转为json(bean-
- 下一篇: 《和扬哥一起从零开始学编程》免费、免费、