导出和导入 Munin 图数据
当 Munin 进行数据更新时,它会将来自节点的所有数据存储为一组rrd文件。这些文件随后被 munin-graph 和 munin-html 程序提取,并转换为使用 Munin 时可能熟悉的图形图像和网页。
Munin 存储这些数据文件的默认位置在目录/var/lib/munin 中。您在配置中定义的每个组都有自己的子目录,每个组中所有服务器的 rrd 数据文件都保存在该目录中。如果您保留默认的 Munin 配置文件,您可能会有一个名为localhost的目录,该目录将包含您的 Munin 服务器的所有 rrd 文件。
如果你想为 Munin 创建一个备份解决方案,那么你只需要备份这些目录,也许还有munin.conf/var/lib/munin 中的文件。如果您有任何问题,那么您可以将这些目录恢复到原来的位置,Munin 将在下次更新时自动获取数据。您不需要保留 HTML 页面,因为在运行更新时这些页面会被完全重写。
这在将数据文件恢复到同一台机器时很好,但是如果您尝试将这些数据文件从一台服务器移动到另一台服务器,您可能会发现问题。当我这样做时,Munin 在它的 munin-update.log 文件中生成了以下错误。
Munin: This RRD was created on another architecture
问题是我已将这些文件从 32 位系统移动到 64 位系统,这意味着由于架构不同,新机器无法读取该文件。Munin 使用的 rrd 文件是二进制格式,不可能使用编辑器简单地更改它们。这里的解决方法是使用一个叫rrdtool的工具在旧服务器上将rrd文件转换成XML文件,然后再导入到新服务器上。rrdtool 工具用于以某种方式与 rrd 文件交互,在这种情况下,我们使用转储标志将二进制文件转换为更易读的 XML 格式。
以下命令用于将 localdomain 文件夹中的所有 rrd 文件转换为新的 xml 格式。为了完整起见,我还包括目标目录的创建。
cd /var/lib/munin/localdomainmkdir ~/munin/localdomain
for i in ./*.rrd;do rrdtool dump $i ~/munin/localdomain/$i.xml;done
您需要对 Munin 设置中的每个组执行相同的操作。
一旦你可以转换这些文件,你就可以备份它们,甚至只是移动到目标服务器。以下命令将获取 XML 文件目录(由 rrdtool 创建)并将它们转换为二进制 rrd 文件。这次我们使用了restore rrdtool 标志。同样,为了完整起见,我包含了一些命令来删除当前的 Munin rrd 目录(否则工具会出错),然后在目录上设置正确的权限。
rm -rf /var/lib/munin/localdomainmkdir /var/lib/munin/localdomain
cd /home/kubuntu/munin/localdomain
for i in ./*.xml; do rrdtool restore "$i" "/var/lib/munin/localdomain/${i%.xml}"; done
chmod -R 766 /var/lib/munin
chown -R munin:munin /var/lib/munin
使用这两个脚本,您应该能够备份您在 Munin 安装中的任何数据,或者将您的安装迁移到任何架构。
以上是 导出和导入 Munin 图数据 的全部内容, 来源链接: utcz.com/z/343785.html