Cacti + RRDtool 錯誤訊息

2016120213:27

安裝 Cacti 0.8.8h + RRDtool 1.5.6 (目前最新版本  1.6.0 )


在 Cacti 管理畫面
  ==> System Utilities /  Technical Support 畫面中,出現的警告訊息:

ERROR: Installed RRDTool version does not match configured version.
Please visit the
Configuration Settings and select the correct RRDTool Utility Version.



原因

Cacti 裡頭部份程式沒正確更新

包括兩個程式:
 utilities.php
 include/global_arrays.php



解決
 

原 Cacti 中的  utilities.php  只支援 RRDtool 1.x ~ 1.4
但 include/global_arrays.php 中卻有出現 1.5 的選項

所以修改 utilities.php 程式:

if (preg_match("/^RRDtool 1\.4/", $out_array[0])) {
    $rrdtool_version = "rrd-1.4.x";
}else if (preg_match("/^RRDtool 1\.3\./", $out_array[0])) {
    $rrdtool_version = "rrd-1.3.x";
}else if (preg_match("/^RRDtool 1\.2\./", $out_array[0])) {
    $rrdtool_version = "rrd-1.2.x";
}else if (preg_match("/^RRDtool 1\.0\./", $out_array[0])) {
    $rrdtool_version = "rrd-1.0.x";
}

改為

if (preg_match("/^RRDtool 1\.6/", $out_array[0])) {
    $rrdtool_version = "rrd-1.6.x";
} elseif (preg_match("/^RRDtool 1\.5/", $out_array[0])) {
    $rrdtool_version = "rrd-1.5.x";

} elseif (preg_match("/^RRDtool 1\.4/", $out_array[0])) {
    $rrdtool_version = "rrd-1.4.x";
}else if (preg_match("/^RRDtool 1\.3\./", $out_array[0])) {
    $rrdtool_version = "rrd-1.3.x";
}else if (preg_match("/^RRDtool 1\.2\./", $out_array[0])) {
    $rrdtool_version = "rrd-1.2.x";
}else if (preg_match("/^RRDtool 1\.0\./", $out_array[0])) {
    $rrdtool_version = "rrd-1.0.x";
}


include/global_arrays.php

$rrdtool_versions = array(
        "rrd-1.0.x" => "RRDTool 1.0.x",
        "rrd-1.2.x" => "RRDTool 1.2.x",
        "rrd-1.3.x" => "RRDTool 1.3.x",
        "rrd-1.4.x" => "RRDTool 1.4.x",
        "rrd-1.5.x" => "RRDTool 1.5.x"   );


$rrdtool_versions = array(
        "rrd-1.0.x" => "RRDTool 1.0.x",
        "rrd-1.2.x" => "RRDTool 1.2.x",
        "rrd-1.3.x" => "RRDTool 1.3.x",
        "rrd-1.4.x" => "RRDTool 1.4.x",
        "rrd-1.5.x" => "RRDTool 1.5.x",
        "rrd-1.6.x" => "RRDTool 1.6.x"
        );


完成