Cacti的數據備份與遷移

在架構研究室(http://www.hiadmin.com/)看到一篇關於Cacti數據遷移的文章,值得學習,轉載一下。
 
一、工作流
安裝mysql;php;apache;rrdtool後;
將cacti目錄tarball後,複製到雙線機房新監控服務器上解壓;
cactid目錄tarball後,複製到雙線機房新監控服務器上解壓;
mysql數據庫dump或者tarball後,複製到雙線機房新監控服務器上解壓;
#mysqldump -p cacti >cacti.sql
重新賦予cactiuser對於數據庫cacti所有權限;
grant all . cacti.* to cactiuser@localhost identified by 'cactipassword';
 
二、故障發生
打開cacti可以正常登錄和控制,檢查graph management,打開所有的圖無顯示;於是打開debug模式:
*Turn . Graph Debug Mode.
RRDTool Says:
    ERROR: This RRD was created . other architecture
 
三、解決方案
google、baidu了一下,發生這個問題的原因是因爲所有rrd庫需要全部重新dump和restore一次;
好了上腳本:
從老的cacti服務器上dump所有的rrd文件爲xml file,共計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目錄到新監控服務器上解壓: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監控顯示正常;遷移成功;
用這個方法其實是用來備份rra的,這次正好順便備份一下。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章