评论

收藏

[Linux] Cacti(RRDTOOL)中文乱码以及统计图乱码问题解决方法

服务系统 服务系统 发布于:2021-10-03 21:20 | 阅读数:206 | 评论:0

对于刚刚安装好的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″)  。

代码如下:
make
mv ./src/rrdtool /usr/local/rrdtool/bin/rrdtool
然后将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默认字体路径:
DSC0000.jpg
然后就可以看到下面所示的没有乱码的统计图:
DSC0001.jpg

关注下面的标签,发现更多相似文章