0

Перенос данных сacti на другую архитектуру

Возникла проблема при переносе базы RRD, используемой cacti, с одного железа на другое. При этом одно железо x32, а другое x64. Ошибка:This RRD was created on another architecture

После того, как я перенес файлы rrd и запустил web морду cacti в логах увидел следующее:

ERROR: This RRD was created on another architecture

Прочитав как я могу оперировать rrd базами на официальном сайте RRD  понял, что не все так печально.

Моя последовательность действий:

  • rrdtool dump [source.rrd] [dest.xml]
  • перенос .xml на целевую архитектуру
  • rrdtool restore [source.xml] [dest.rrd]

На этом задача решена.

Файлы удобно забирать по sftp. И сразу выполнять все действия скриптом.

P.S код скритпа:

#!/bin/sh
# get xml files, restore to rrd and put in cacti
# get files
sftp -i ./.ssh/id_rsa -b batch [server]
# restore files
outputxmldir=/usr/local/share/cacti/rra
inputdir=/home/extor/xml/
for i in `ls $inputdir`; do
    echo $i 
    out=`echo $i | awk -F. '{print $1"."$2}'`
    echo $out
    `sudo rrdtool restore $inputdir/$i $outputxmldir/$out`
done
#set rights
`sudo chown -R cacti:www $outputxmldir`

Файл batch содержит последовательность действий для sftp. Скрипт использует утилиту sudo.

P.P.S.
Для того что бы cacti корректно отображал подписанные на кириллице графики, надо поставить шрифт, поддерживающий кирилицу в систему. В freebsd это можно сделать так:
# cd /usr/ports/x11-fonts/dejavu
# make install clean

В cacti: Console — Settings — Visual прописываю путь к шрифтам — «/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono.ttf»

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.