用pnp4nagios重新处理所有的nagios数据

我已经转移到新的nagios安装(新的服务器)。 我已经从原始服务器( /var/log/nagios2/archives )将数据传输到我的新服务器( /var/log/nagios3/archives )(我认为它们具有兼容的格式)。 现在我想用这个历史数据重新生成pnp4nagios图。

这是我必须即时处理数据的命令:

 /usr/lib/pnp4nagios/libexec/process_perfdata.pl --bulk=/var/lib/pnp4nagios/perfdata/host-perfdata 

但是这只是处理/var/lib/pnp4nagios/perfdata/host-perfdata新数据。

我有几个问题:

  • pnp4nagios在哪里存储处理的数据(图)?
  • 我怎样才能强制pnp4nagios重新生成所有图?

  • pnp4nagios在哪里存储处理的数据(图)?

process_perfdata.pl将数据写入XML文件并将其存储在RRD文件中。 path由configuration文件( config.php )中的$conf['rrdbase']定义:

 grep -B2 rrdbase /usr/local/pnp4nagios/etc/config.php # Directory where the RRD Files will be stored # $conf['rrdbase'] = "/usr/local/pnp4nagios/var/perfdata/"; 

在你的情况下,也许是这样的:

 /usr/lib/pnp4nagios/var/perfdata/ 
  • 我怎样才能强制pnp4nagios重新生成所有图?

如果两台服务器具有相同的架构(我的意思是32位或64位),将RRD文件复制到相应的文件夹应该工作。 如果没有,你可能会得到下面的错误:

错误:此RRD是在另一个架构上创build的

在这种情况下,您需要使用rrdtool dump以纯ASCII方式写入RRD的内容,然后将其复制到新的服务器并使用rrdtool restore

更多细节: http : //www.linuz.in/?p=254