環境說明:
操作系統:Centos 5.8_x86_64
cacti版本:cacti-0.8.8a
spine版本:cacti-spine-0.8.8a
說明:這裏只介紹如何安裝配置cacti,並不涉及如何配置監控遠程主機。
一、安裝依賴環境包:
yum install httpd php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-utils php-gd vixie-cron
如果爲編譯安裝apache,需要指定--enable-sockets
yum install rrdtool --nogpgcheck
service mysqld start
service httpd start
service crond start
service snmpd start
chkconfig httpd on
chkconfig mysqld on
chkconfig snmpd on
chkconfig crond on
確定php擴展模塊:
mysql,SNMP,XML,Session,Sockets,GD,LDAP(如果安裝了php-ldap模塊的話)
給MySQL用戶root添加密碼:
mysqladmin --user=root password centos
二、安裝配置cacti
tar xf cacti-0.8.8a.tar.gz -C /var/www/html/
mv /var/www/html/cacti-0.8.8a /var/www/html/cacti
創建cacti數據庫
mysqladmin -uroot -p create cacti
如果是中文版則,需要如下命令創建
mysql> create database cacti default character set utf8;
導入sql語句
mysql -uroot -p cacti < /var/www/html/cacti/cacti.sql
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'centos';
mysql> flush privileges;
vim /var/www/html/cacti/include/config.php <<
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "centos";
useradd cacti
cd /var/www/html/cacti
chown -R cacti rra/ log/
echo "*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null" > /var/spool/cron/cacti
注意:首次執行poller.php時應使用cacti用戶,否則生成的rrd文件cacti將沒有寫入權限!
三、配置snmp使可以監控本機
vim /etc/snmp/snmpd.conf <<
com2sec notConfigUser default public ==> 改爲
com2sec notConfigUser 127.0.0.1 public
四、配置使用spine來執行獲取數據
依賴關係:
mysql-devel
net-snmp-devel
編譯安裝
tar -xf cacti-spine-0.8.8a.tar.gz -C /usr/src/
cd /usr/src/cacti-spine-0.8.8a/
./configure
make && make install
提供配置文件
cd /usr/local/spine/etc/
cp spine.conf.dist spine.conf
vi spine.conf >> 修改一下內容
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass centos
DB_Port 3306
DB_PreG 0
啓用spine
登錄cacti的網頁,點擊Settings,在頁面上方點擊Paths,找到Alternate Poller Path,寫入spine的路徑:/usr/local/spine/bin/spine,然後點擊Save保存。
再點擊頁面上方的Poller,找到Poller Typer項,在下拉列表中選擇spine,然後點擊Save保存。
通過瀏覽器訪問http://serverip/cacti
五、被監控端配置
yum install net-snmp
vim /etc/snmp/snmpd.conf ==>
com2sec notConfigUser 192.168.56.201(監控端IP) public
view all included .1 80
access notConfigGroup "" any noauth exact all none none
六、相關知識點
測試snmp通過如下命令:
snmpwalk -v 2c -c public localhost system
模版:
圖形模版:圖是如何繪製
數據模版:定義如何獲取數據及保存方法
主機模版:歸好類的圖形和數據模版
獲取數據-->保存數據-->繪圖
自定義順序:
1、定義腳本收集數據,執行腳本輸出結果爲:XXX:0-9 XXX:0-9
Name:輸入數據收集方法名稱
InputType:獲取數據的方法
InputString:/bin/bash <path_cacti>/scripts/xx.sh <hostname> <snmp_community>
創建完成後,添加輸入字段和輸出字段:
輸入字段爲腳本引用的各個變量
輸出字段爲腳本執行後生成的各個字段,名字要和輸出的名字一致
2、定義數據模版
根據輸出字段添加各自的數據源
3、定義數據源
4、定義圖像模版
1、創建圖像模板
Vertical Lable tcp_3 conn
2、添加圖像(Graph Template Items)
Text Format:該顏色線條的說明
Graph Item Type:圖像類型:
GPRINT:打印,類似當前值,最大值,平均值
COMMENT:顯示到圖形中的
4、圖形管理添加圖形
定義數據源所關聯的圖像
常用相關命令:
1、查看一rrd文件的最後一次或第一次的更新時間
rrdtool last localhost_load_1min_5.rrd | xargs -i date -d '1970-01-01 {} sec utc'
rrdtool first localhost_load_1min_5.rrd | xargs -i date -d '1970-01-01 {} sec utc'
2、查看rrd文件的內容
rrdtool fetch XXX.rrd AVERAGE
2、查看rrd文件結構信息
rrdtool info XXX.rrd >>
filename = "eth0.rrd"
rrd_version = "0003"
step = 300 # RRDtool 希望每5分鐘收到一個數據
last_update = 1163862985 # 這是最近一次更新的 timestamp 。可以用 date 轉換爲具體的時間
ds[eth0_in].type = "COUNTER" # 有一個名爲 eth0_in 的 DS,DST是 COUNTER
ds[eth0_in].minimal_heartbeat = 600 # hearbeat 時間是600 秒
ds[eth0_in].min = 0.0000000000e+00 # eth0_in 的最小值是 0 (bytes)
ds[eth0_in].max = 1.2500000000e+07 # eth0_in 的最大值是 1250000000 (bytes)
ds[eth0_in].last_ds = "UNKN"
ds[eth0_in].value = 0.0000000000e+00
ds[eth0_in].unknown_sec = 85
ds[eth0_out].type = "COUNTER"
ds[eth0_out].minimal_heartbeat = 600
ds[eth0_out].min = 0.0000000000e+00
ds[eth0_out].max = 1.2500000000e+07
ds[eth0_out].last_ds = "UNKN"
ds[eth0_out].value = 0.0000000000e+00
ds[eth0_out].unknown_sec = 85
rra[0].cf = "AVERAGE" # 第一個 RRA 的編號是0,不是1。
rra[0].rows = 600 # 共保存 600 個記錄
rra[0].pdp_per_row = 1 # 每個 CDP 由一個 PDP 統計得出
rra[0].xff = 5.0000000000e-01 # 只要當前interval 的 PDP 爲 unknown ,則該 CDP 的值也是unknown
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE" # 第二個 RRA 的編號是 1。同樣也是 AVERAGE 型。
rra[1].rows = 600 # 也是保存 600 個記錄
rra[1].pdp_per_row = 4 # 每個 CDP 由4個 PDP 的求平均值得出
rra[1].xff = 5.0000000000e-01 # 每個 CDP 最多允許2個 PDP 爲 unknown ,超過則該 CDP 爲unknown
安裝配置cacti-0.8.8a
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Linux---Cacti插件之Spine健步日飛
EzioAuditor
2019-02-22 22:43:08
服務器監控Cacti
孫瑞瑞
2019-02-23 00:43:25
Cacti安裝後不出圖解決方法
huanjie6
2019-02-23 00:29:24
解決cactiez的monitor主機名亂碼
super748
2019-02-23 00:23:42
cacti安裝文檔
daocaoren0311
2019-02-22 23:47:10
cacti自定義數據收集腳本,創建Data Templates和Graph Templates
_July_x
2019-02-22 23:42:52
Centos配置Cacti
itsupportdhl
2019-02-22 22:55:50
Cacti功能探索-聲音預警(monitor與thold插件的結合)
baiyang_wyp
2019-02-22 22:45:54
Cacti功能探索-修改時區配置
baiyang_wyp
2019-02-22 22:45:51
windows下cacti的快速安裝
baiyang_wyp
2019-02-22 22:45:51
cacti
only1start
2019-02-22 22:35:15
幾個優化 Cacti 監控服務性能的技巧
sunny餘
2019-02-22 22:30:46
Cacti 中的 Debugging 技巧
sunny餘
2019-02-22 22:30:44
在 Cacti 下實現對 Tomcat 的監控
sunny餘
2019-02-22 22:30:43