cacti升级到0.8.7a
本文可自由转载,但请遵循“署名-非商业用途-保持一致”的创作共用协议。 永久链接:JoeCen's 小猫窝-----------------------------
cacti最新版本是0.8.7a,我原来用的是0.8.6j。因为自己修改了很多页面,进行批量添加主机之类的操作,所以一直没有去升级。
现在既然cacti已经有cli命令,那么就放弃我原来的东西,直接用官方的好了。
碰到了两个乱码的问题:
1、升级以后,发现中文全部显示不了,包括图像的中文。搞了半天,发现原来是数据库用的是GB2312,之前的cacti版本我修改过页面,不过现在忘记了。那么,在lib/database.php文件中的“db_connect_real”函数里面加入"set names gb2312"即可。
修改完以后的“db_connect_real”函数:
- function db_connect_real($host,$user,$pass,$db_name,$db_type, $port = "3306", $retries = 20) {
- global $cnn_id;
- $i = 0;
- $cnn_id = NewADOConnection($db_type);
- $hostport = $host . ":" . $port;
- while ($i <= $retries) {
- if ($cnn_id->PConnect($hostport,$user,$pass,$db_name)) {
- $sql = "set names gb2312";
- $query = $cnn_id->Execute($sql);
- return(1);
- }
- $i++;
- usleep(40000);
- }
- die("FATAL: Cannot connect to MySQL server on '$host'. Please make sure you have specified a valid MySQL database name in 'include/config.php'\n");
- return(0);
- }
2、完了以后发现"data source"的页面的中文还是乱码,直接编辑页面"data_source.php",删除了"htmlentities"函数之后(大概在1150行左右)恢复正常,如下:
修改前:
form_selectable_cell("<a class='linkEditMain' href='data_sources.php?action=ds_edit&id=" . $data_source["local_data_id"] . "'>" . (($_REQUEST["filter"] != "") ? eregi_replace("(" . preg_quote($_REQUEST["filter"]) . ")", "<span style='background-color: #F8D93D;'>\\1</span>", title_trim(htmlentities($data_source["name_cache"]), read_config_option("max_title_data_source"))) : title_trim(htmlentities($data_source["name_cache"]), read_config_option("max_title_data_source"))) . "</a>", $data_source["local_data_id"]);
修改后
form_selectable_cell("<a class='linkEditMain' href='data_sources.php?action=ds_edit&id=" . $data _source["local_data_id"] . "'>" . (($_REQUEST["filter"] != "") ? eregi_replace("(" . preg_quote($_REQUEST["filter"]) . " )", "<span style='background-color: #F8D93D;'>\\1</span>", title_trim($data_source["name_cache"], read_config_option("ma x_title_data_source"))) : title_trim($data_source["name_cache"], read_config_option("max_title_data_source"))) . "</a>", $data_source["local_data_id"]);
update:图像的乱码只修改php代码是不可以解决的,需要编译支持中文的rrdtool来解决。请看"编译安装支持中文的rrdtool".
February 1st, 2008 at 3:05 pm Quote
不好意思,我照你的修改,还是一样.显示????之类.都是乱码
February 1st, 2008 at 3:27 pm Quote
我不知道你的数据库是什么编码,如果是默认的lantin1的话,是不需要增加那个"set names gb2312"的。
February 3rd, 2008 at 1:02 am Quote
但我的出成的图中的内容还是乱码啊
February 3rd, 2008 at 3:11 pm Quote
请看:
http://www.joecen.com/2008/01/25/build-rrdtool-support-chinese/
February 20th, 2008 at 2:40 pm Quote
用的是什么编辑器 这么好看 ?
February 21st, 2008 at 12:17 am Quote
不是编辑器,是用"coolcode"显示的。
May 14th, 2008 at 10:08 am Quote
您好:
有個問題想請教您,那就是我升級cacti從0.8.6e到0.8.7。
把RRA和LOG兩份檔案都給複製過去,權限方面檢查也都無誤。
後來觀看各主機的流量圖都無誤。但是發現有個很嚴重問題,
那是我在新增devices時,在Associated Data Queries部分想新增一些
Data Query的樣板,比如說增加了SNMP-Get Mounted Partitions
新增後,staus地方都顯示success 且有資料,但是在create graphs for this host時
卻無法看任何Data query的資料,檢查DEBUG去看,也無問題。
請問是升級上去後的BUG嗎?
May 19th, 2008 at 11:49 pm Quote
To mutanwo:
不好意思,因为最近两年都没有用snmp,所以也没有去管data query 相关的功能。你的问题我不能确定是否升级以后的导致 ,建议你上cacti的forum上面问一下。