如何備份Cacti的數(shù)據(jù)
Cacti的數(shù)據(jù)備份與遷移:
一、工作流
安裝mysql;php;apache;rrdtool后;
將cacti目錄tarball后,復(fù)制到雙線機(jī)房新監(jiān)控服務(wù)器上解壓;
cactid目錄tarball后,復(fù)制到雙線機(jī)房新監(jiān)控服務(wù)器上解壓;
mysql數(shù)據(jù)庫dump或者tarball后,復(fù)制到雙線機(jī)房新監(jiān)控服務(wù)器上解壓;
- #mysqldump -p cacti >cacti.sql
重新賦予cactiuser對于數(shù)據(jù)庫cacti所有權(quán)限;
- grant all . cacti.* to cactiuser@localhost identified by 'cactipassword';
二、故障發(fā)生
打開cacti可以正常登錄和控制,檢查graph management,打開所有的圖無顯示;于是打開debug模式:
- *Turn . Graph Debug Mode.
- RRDTool Says:
- ERROR: This RRD was created . other architecture
三、解決方案
google、baidu了一下,發(fā)生這個(gè)問題的原因是因?yàn)樗衦rd庫需要全部重新dump和restore一次;
好了上腳本:
從老的cacti服務(wù)器上dump所有的rrd文件為xml file,共計(jì)9K多張:
- #!/bin/sh
- rrddump="/usr/bin/rrdtool dump"
- xmldir=/tmp/rraxml
- for file in `find /var/www/html/cacti/rra/ -mtime -2 |awk -F\/ '{print $NF}'`
- #遍歷rra目錄,查找近2天修改過的rrd文件;
- do
- ${rrddump} ${file} > ${xmldir}/${file}.xml
- done
tar走rraxml目錄到新監(jiān)控服務(wù)器上解壓:restore腳本如下:
- #!/bin/sh
- rrdrestore="/usr/bin/rrdtool restore"
- xmldir=/tmp/rraxml/
- for file in `find ${xmldir} |awk -F\/ '{print $NF}' |sed s/.xml//g`
- #遍歷xml目錄,并去掉xml后綴,直接還原到rra目錄下
- do
- ${rrdrestore} ${xmldir}${file}.xml /cacti/rra/${file}
- done
- chown cactiuser:cactiuser /cacti/rra -R
完成后,再次打開cacti監(jiān)控顯示正常;遷移成功;
用這個(gè)方法其實(shí)是用來備份rra的,這次正好順便備份一下。
【編輯推薦】
使用Cacti監(jiān)控你的網(wǎng)絡(luò)-Cacti的監(jiān)測點(diǎn)的創(chuàng)建(圖)