分类: LINUX
2010-11-18 09:12:27
---------------------------------------------------------------------------------------------------------------
| @安装:
|
| Yum 安装也可以 |
| #rpm -ivh rrdtool-1.3.4-2.fc9.i386.rpm #但我没试过呢 |
--------------------------------------------------------------------------------
因为很多cacti 支持中文,但rrdtool绘图生成的图表里边的设备名不支持中文
如:
这种情况。
此时其他的页面都是中文的,你在怎么修改页面、系统支持中文这里也不会改变,只有让rrdtool支持中文才可以。
首先查看系统支持的字符集有哪些
locale –a
xh_ZA.utf8
yi_US
yi_US.cp1255
yi_US.utf8
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8
zu_ZA
zu_ZA.iso88591
zu_ZA.utf8
红色部分说明支持中文,这个很重要,否则rrdtool 不能生成中文字符
安装yum install ruby
//安装ruby的语言支持环境,编译rrdtool时需要;不安装,编译也可以通过,最好是安装进去
安装字符集
下载地址:
rpm –ivh ttfonts-zh_CN-2.14-6.noarch.rpm
安装完成后会在/usr/share/fonts/ 下面生成一个zh_CN的目录
里边的文件有:
fonts.dir
fonts.scale
gbsn00lp.ttf
gkai00mp.ttf
zysong.ttf
红色部分是支持中文的字符集,自己可以找喜欢的设置
修改i18n支持中文字符
sed -i -e's/^LANG=.*/LANG="zh_CN.GB18030"/'
/etc/sysconfig/i18n
下面修改rrdtool 源码文件,让它编译的时候支持中文字符
vi/opt/cacti/rrdtool-1.2.13/src/rrd_graph.c (此为源码包的路径)
删除rrd_graph.c文件中以下两行:
setlocale(LC_TIME,"");
setlocale(LC_CTYPE,"");
在原来setlocale(LC_CTYPE,"")的位置增加以下内容
setlocale(LC_ALL,"zh_CN.gb2312");
补充:1.有些人喜欢注释掉,其实这又是会出错,编译不能进行,最好删掉
2.有很多人将setlocale(LC_ALL,"zh_CN.gb2312"); 换成zh_CN.UTF-8,也是可以的,这就需要你系统支持那些字符了,第一种不行可以使用第二种。
编译安装rrdtool
./configure –prefix=/usr/local/rrdtool
Make && make install
安装完成(需要cacti 安装完后才能添加路径)
修改Cacti的rrdtool设置,使其支持中文设备名和图片中输出中文
1 登陆Cacti,在主页的左边点击setting,选择paths页(console>>setting>>paths)
将RRDTool Binary Path修改为:/usr/local/rrdtool/bin/rrdtool
还需要修改rrdtool的字体设置。
2 登陆Cacti,在主页的左边点击setting,选择paths页(console>>setting>>paths)
将RRDTool Default Font Path修改为:/usr/share/fonts/zh_CN/TrueType/gkai00mp.ttf
点击save。
到此已经完成了,刷新页面吧!
转载请保持原链接谢谢!以上只是个人方法,可能很多不是很完美,期待更好的解决方案!!
chinaunix网友2010-11-18 17:37:32
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com