如何让cacti显示中文
注意:此文只适合于0.8.6版本的cacti,0.8.7版本请看这里.
我们使用cacti后会发现,如果将一个device以中文命名,会在devices页面出现乱码,而且图像也会出现乱码。
为了解决这些问题,实现使用中文的目的,我们需要修改cacti和rrdtool的代码,以让其支持中文。
注意:我这里所说的“支持中文”只是让cacti能显示中文,而不是将cacti全部汉化。
软件版本:
cacti-0.8.6g
rrdtool-1.2.8
支持中文环境的linux
首先我们要解决“Devices”的页面的中文乱码的问题。
编辑hosts.php文件,查找"eregi_replace”(大概在766行左右),将下面的代码:
">\\1", $host["descripti
on"]);?>
改为:
注意:我并没有仔细研究作者究竟要用"eregi_replace“过滤什么东西,而只是简单的将其删除以达到显示中文的目的。如果有朋友可以通过修改该代码实现中文显示而又能继续进行过滤的话,麻烦告诉我。
然后就是让rrdtool显示中文,需要的版本是1.2.8(为什么?问abel去)。修改的方法请看:
http://bbs.chinaunix.net/viewthread.php?tid=552224
最后在cacti的“setting”-》“Paths”-》“RRDTool Default Font Path”中填上中文的fonts,比如:“/usr/share/fonts/zh_CN/TrueType/gbsn00lp.ttf”。
在支持中文环境的linux上能成功实现中文显示。
虽然在BSD下也成功编译,但由于系统环境没有设置好,所有没有成功,麻烦有BSD经验的朋友告知方法。
November 5th, 2007 at 3:04 pm Quote
测试留言
December 13th, 2007 at 9:44 am Quote
兄台,我的cacti是0.8.7版本(mysql是5.0的)evices可以支持显示中文,但是graph图片中的的中文为何是乱码呢?cacti0.8.6都可以支持显示中文,mysql是4.0的。你的情况又如何?
December 13th, 2007 at 6:24 pm Quote
图片上面的文字是由rrdtool生成的,估计是你的rrdtool没有支持显示中文。
December 21st, 2007 at 3:32 pm Quote
偶的RRDTool Version为1.2.23,这个版本应该支持中文的呀?
December 21st, 2007 at 5:47 pm Quote
是吗?那我就不太清楚了,因为我没试过这个版本的rrdtool。
现在我使用的是修改rrdtool源代码的方法显示中文。
January 22nd, 2011 at 5:15 pm Quote
要注意httpd 的locale
/etc/sysconfig/httpd