1. 安裝epel擴(kuò)展包,并升級(jí)ca證書ssl
yum install -y epel-release
yum --disablerepo=epel -y update ca-certificates
如果你想知道為什么荔燎,那么一定要參考這個(gè)文章火本,當(dāng)然不想了解的話就算了
2. 安裝LAMP環(huán)境
yum install -y httpd php php-mysql mysql mysql-server mysql-devel php-gd libjpeg libjpeg-devel libpng-devel
3. 安裝cacti和snmp
yum install -y cacti net-snmp net-snmp-utils rrdtool
4. 安裝依賴包
yum install -y net-snmp-devel help2man
5. 下載cacti-spine
cd /usr/local/src
wget https://www.cacti.net/downloads/spine/cacti-spine-1.1.16.tar.gz
如果無(wú)法下載庆杜,記得要參考下面一篇文章
6. 解壓蔚舀、編譯安裝cacti-spine
cd /usr/local/src
tar -zxvf cacti-spine-1.1.16.tar.gz
cd cacti-spine-1.1.16
如果沒有g(shù)cc編譯器卖宠,記得要安裝gcc
yum install -y gcc
./configure --prefix=/usr/local/spine-1.1.16 --with-snmp=/usr/include/net-snmp/ --with-mysql?
make && make install
7. 啟動(dòng)httpd,snmpd,mysqld服務(wù)
/etc/init.d/mysqld start
/etc/init.d/httpd start
/etc/init.d/snmpd start
當(dāng)然也可以用如下命令啟動(dòng)
service mysqld start
service httpd start
service snmpd start
8. 創(chuàng)建cacti數(shù)據(jù)庫(kù)阐滩,數(shù)據(jù)庫(kù)用戶和數(shù)據(jù)庫(kù)密碼虑省,并導(dǎo)入cacti的表
mysql -uroot -e "create database cacti"
mysql -uroot -e "grant all on cacti.* to 'cacti'@'127.0.0.1' identified by 'cacti';"
mysql -uroot cacti < /usr/share/doc/cacti-1.1.16/cacti.sql
當(dāng)然數(shù)據(jù)庫(kù)名字匿刮,用戶名字和密碼都可以自定義
第三步如果找到cacti.sql可以嘗試搜索cacti的位置
find / -type f -name "cacti.sql"
9. 更改配置文件
9.1 更改httpd配置文件(2個(gè)地方需要更改)
vim /etc/httpd/conf.d/cacti.conf
(1)將#http2.2下面的Deny from all 改為 Allow from all
(2)將<Directory /usr/share/cacti/rra>下面的Deny from all 改為 Allow from all
9.2 更改cacti的配置文件
vim /usr/share/cacti/include/config.php
找到并更改成如下內(nèi)容,看我注釋的內(nèi)容
$database_type? ? = 'mysql'; ? ? ? ? ? ? ?
$database_default? = 'cacti'; ? ? ? ? ? ? ? ? ? //數(shù)據(jù)庫(kù)的名字
$database_hostname = '127.0.0.1'; ? ? ? ?//數(shù)據(jù)庫(kù)主機(jī)名
$database_username = 'cacti'; ? ? ? ? ? ? ? //數(shù)據(jù)庫(kù)用戶名
$database_password = 'cacti'; ? ? ? ? ? ? ?//數(shù)據(jù)庫(kù)密碼
$database_port? ? = '3306';
$database_ssl? ? ? = false;
這部分內(nèi)容可以不更改探颈,想更改的話記得取消注釋熟丸,改成如下內(nèi)容,
$rdatabase_type? ? = 'mysql';
$rdatabase_default? = 'cacti';
$rdatabase_hostname = '127.0.0.1';
$rdatabase_username = 'cacti';
$rdatabase_password = 'cacti';
$rdatabase_port? ? = '3306';
$rdatabase_ssl? ? ? = false;
9.3 更改spine配置文件
spine是源碼安裝的伪节。他的配置文件在/usr/local/spine-1.1.16/etc/spine.conf.dist
我們要將其改名并移動(dòng)到/etc下
cd /usr/local/spine-1.1.16/etc/
mv spine.conf.dist? /etc/spine.conf
vim /etc/spine.conf
這都和上面差不多光羞,要和自己數(shù)據(jù)庫(kù)名字密碼想匹配
DB_Host? ? ? ? ? ? ? ? 127.0.0.1
DB_Database? ? ? ? ? ? cacti
DB_User? ? ? ? ? ? ? ? cacti
DB_Pass? ? ? ? ? ? ? ? cacti
DB_Port? ? ? ? ? ? ? ? 3306
RDB_Host? ? ? ? ? ? ? ? 127.0.0.1
RDB_Database? ? ? ? ? ? cacti
RDB_User? ? ? ? ? ? ? ? cacti
RDB_Pass? ? ? ? ? ? ? ? cacti
RDB_Port? ? ? ? ? ? ? ? 3306
10. 重啟服務(wù)
service mysqld restart
service httpd restart
service snmpd restart
11. 用瀏覽器訪問cacti的安裝,在windows瀏覽器中輸入服務(wù)器ip/cacti即可進(jìn)入cacti安裝界面
http://10.2.3.110/cacti
進(jìn)入勾選同意協(xié)議怀大,進(jìn)入下一步
(1)標(biāo)紅的地方出現(xiàn)Error
ERROR:Your Cacti database login account does not have access to the MySQL TimeZone database. Please provide the Cacti database account “select” access to the “time_zone_name” table in the “mysql” database, and populate MySQL’s TimeZone information before proceeding.
大概就是說你剛才建的cacti賬戶沒有對(duì)mysql數(shù)據(jù)庫(kù)的time_zone_name表select的權(quán)限纱兑,所以授權(quán)就行了
進(jìn)入mysql,一般新裝的mysql沒有密碼
mysql -uroot
mysql>grant select on mysql.time_zone_name to cacti@localhost identified by 'cacti'
注意要和自己的數(shù)據(jù)庫(kù)用戶和密碼對(duì)應(yīng)
(2)錯(cuò)誤2
ERROR: Your MySQL TimeZone database is not populated. Please populate this database before proceeding.
解決方法:
mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root ?mysql
重啟下mysqld服務(wù)
service ?mysqld restart
回到網(wǎng)頁(yè)刷新即可
(3)但是往下看的時(shí)候化借,很多標(biāo)紅的地方怎么辦呢潜慎?
首先第一個(gè)標(biāo)紅的是mysql的版本問題,不用理會(huì)蓖康,其他的可以通過修改mysql的配置文件來(lái)解決铐炫。
vim /etc/my.cnf
將里面的內(nèi)容更改為如下圖
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_heap_table_size=1567M
max_allowed_packet=16777216
join_buffer_size=64M
tmp_table_size=64M
innodb_file_per_table=1
innodb_buffer_pool_size=246M
innodb_doublewrite=0
innodb_additional_mem_pool_size=80M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
(4)更改spine二進(jìn)制文件的路徑
咱們的spine二進(jìn)制文件路徑為/usr/local/spine-1.1.16/bin/spine
(5)選擇模板
記得全選即可
12. 更改用戶名和密碼
之后我們進(jìn)入登錄界面
賬號(hào)和密碼都是
admin
admin
之后我們會(huì)被強(qiáng)制要求更改密碼,第一行是當(dāng)前密碼蒜焊,底下兩個(gè)是新密碼倒信,要包括大寫小寫特殊字符數(shù)字,所以我用
Admin#123
Admin#123
13. 配置cacti
(1)
點(diǎn)擊Cacti左邊的設(shè)置選項(xiàng)(Settings)泳梆。
點(diǎn)擊Poller選項(xiàng)進(jìn)入配置頁(yè)鳖悠。
在Poller Type項(xiàng)后邊選擇Spine唆迁,然后保存
(2)
點(diǎn)擊Paths選項(xiàng)進(jìn)入路徑配置頁(yè)。
設(shè)置Spine的路徑和配置文件地址/etc/spine.conf竞穷,然后保存。
14. 生成localhost的監(jiān)控圖像
/usr/bin/php /usr/share/cacti/poller.php
如果這一步警告信息很多鳞溉,那是因?yàn)槟鉷hp的時(shí)區(qū)有誤瘾带,按照提示更改php的時(shí)區(qū)為Asia/Chongqing
vim /etc/php.ini
找到如下一行取消注釋并改為如下內(nèi)容
date.timezone="Asia/Chongqing"
然后重啟httpd
service httpd restart
再次生成圖像,就不會(huì)有警告信息
/usr/bin/php /usr/share/cacti/poller.php
我們要講上面這句生成圖像的命令加入到計(jì)劃任務(wù)中去熟菲,每五分鐘執(zhí)行一次
crontab -e?
*/5 * * * * /usr/bin/php /usr/share/cacti/poller.php
啟動(dòng)計(jì)劃任務(wù)并設(shè)為開機(jī)自啟
service crond restart
chkconfig crond ?on
之后我們?nèi)eb頁(yè)面
點(diǎn)擊左上角的圖像看政,再選擇右上角的預(yù)覽,剛開始可能會(huì)出現(xiàn)如下情況
一般等一會(huì)就行了(前提是你前面做的都沒錯(cuò)的情況下)多刷新幾次
會(huì)出現(xiàn)如下圖像抄罕,但是還沒有數(shù)據(jù)允蚣,這時(shí)候再等一會(huì)就出圖了。
以上就是我們實(shí)現(xiàn)的對(duì)本機(jī)的監(jiān)控呆贿,下面我們來(lái)實(shí)現(xiàn)監(jiān)控其他機(jī)器
15. 換一臺(tái)客戶機(jī)嚷兔,安裝snmp
yum install -y net-snmp lm_sensors
修改配置文件snmpd.conf
vim /etc/snmp/snmpd.conf
更改1:
#syslocation Unknown (edit /etc/snmp/snmpd.conf) ? ??
#syscontact Root(configure /etc/snmp/snmp.local.conf)
變?yōu)?/p>
syslocation 10.2.3.111 //本機(jī)ip
syscontact Root 15639151996@163.com //個(gè)人郵箱
更改2:
#view all? ? included? .1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 80
變?yōu)?/p>
view all? ? included? .1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 80
找到如下相似內(nèi)容并更改為:
#? ? ? group? ? ? ? ? context sec.model sec.level prefix read? write? notif
access? notConfigGroup ""? ? ? any? ? ? noauth? ? exact? all? ? none none
更改4:
#view mib2? included? .iso.org.dod.internet.mgmt.mib-2 fc
變?yōu)?/p>
view mib2? included? .iso.org.dod.internet.mgmt.mib-2 fc
更改5:
view? ? systemview? ? included? .1.3.6.1.2.1.1
變?yōu)?/p>
view? ? systemview? ? included? .1.3.6.1.2.1
啟動(dòng)snmpd服務(wù)
service snmpd start
16. 在瀏覽器管理后臺(tái)增加主機(jī)設(shè)備
在左邊選擇 ? ? ? 管理->設(shè)備->右上角加號(hào)(添加)
描述 ? ?隨便自定義 ? ? ? ? test2
主機(jī)名 ? ? ? 填寫要監(jiān)控的ip地址 ? ? ? ?10.2.3.111
設(shè)備模板 ? ? ? ? 選擇 ? ? ? ? ? ? Net-SNMP Device
SNMP版本 ? ? ? ? ? 選擇 ? ? ? ? ? ? ? Version 2
點(diǎn)擊右下角的create
點(diǎn)擊右上角的*Create Graphs for this Device
在上面的Graph Types中選擇SNMP - Interface Statistics,再點(diǎn)擊右下角的創(chuàng)建
在上面的Graph Types中選擇圖形模板基礎(chǔ),選擇下方出現(xiàn)的你想監(jiān)控的圖形模板做入,我在這里就全部選擇冒晰,然后點(diǎn)擊右下角的創(chuàng)建
觀察結(jié)果,最后我們?nèi)ビ^測(cè)結(jié)果
點(diǎn)擊右上角的圖形竟块,再點(diǎn)擊左上角的預(yù)覽壶运,這是我們可能得到的是如下圖像,不過稍等一下就行了浪秘,或者直接去監(jiān)控機(jī)上執(zhí)行
/usr/bin/php /usr/share/cacti/poller.php
成功=椤!耸携!
全部結(jié)束棵癣,這是我做這個(gè)實(shí)驗(yàn)的的第三遍了,累死了...