对于刚刚安装好的Cacti,为了检测监控的数据是否准确,以及搭配rrdtool 生成出来的统计图是否入官方所示的那么美观,就迫不及待的点击选项卡中的图像一栏。结果出现了下面的情况,就是Cacti生成带中文的图片有乱码。我安装的rrdtool是1.4.5的版本。

为了解决这个问题,网上查了一通。

rrdtool 1.4.5 出图支持中文方法:

最后还是给解决了,其实就是RRDTOOL工具不能识别中文。因为查看rrdtool编译的源码来看,默认的编码确实为空(“C”)。可以打开rrdtool文件夹中的src/rrd_graph.c文件。在3496行:

 

setlocale(LC_ALL, "C");

默认为空,可以手动的直接修改为:

setlocale(LC_ALL, "zh_CN.gb2312");

或者在rrdtool的安装目录下使用:

sed -i 's/setlocale(LC_NUMERIC, "C")/setlocale(LC_ALL, "zh_CN.gb2312")/g' src/rrd_graph.c

这两种修改方法都行。就是将setlocale(LC_NUMERIC, “C”),改成setlocale(LC_ALL, “zh_CN.gb2312”)  。

<span style="line-height: 18px;">make  </span>
<span style="line-height: 18px;">  </span>
<span style="line-height: 18px;">mv ./src/rrdtool /usr/local/rrdtool/bin/rrdtool   </span>
  
然后将windows中C:\WINDOWS\Fonts\simsun.ttc复制到/usr/share/fonts/chinese/TrueType/目录中,rrdtool即可支持中文。
  
cp C:\WINDOWS\Fonts\simsun.ttc C:\  
然后用你自己的方法,传到/usr/share/fonts/chinese/TrueType/中去吧 。
接着修改Cacti配置文件,设置=》路径=》RRDTool默认字体路径:

设置生成字体(解决乱码Cacti生成图片乱码)

然后就可以看到下面所示的没有乱码的统计图:

Cacti(RRDTOOL)解决乱码后

 

有问题欢迎交流。

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

请选择吧!