IDC网络质量分析工具之(二)如何解决smokeping中文乱码问题

1、中文乱码分为两种情况

  1. web中文字符乱码
  2. 展示图中文字符乱码

2、解决web中文字符乱码

#第一:在smokeping的配置文件中加入中文字符支持
    vim /opt/smokeping/etc/config

*** Presentation ***
charset = utf-8      #在Presentation下面加入如下字段

#第二:重启相关服务
systemctl restart httpd
pkill smokeping
/opt/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &

3、解决展示图中文字符乱码

#查看本地安装了那些字体
[root@ceshi ~]# fc-list 

/usr/share/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf: DejaVu Sans Mono:style=Bold Oblique
/usr/share/fonts/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/dejavu/DejaVuSansMono-Oblique.ttf: DejaVu Sans Mono:style=Oblique

#发现没有中文字体,需安装文泉驿字体
#先搜索有那些关于文泉驿字体的软件包
[root@ceshi ~]# yum search wqy
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.ustc.edu.cn
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
======================================================================================== N/S matched: wqy ========================================================================================
wqy-microhei-fonts.noarch : Compact Chinese fonts derived from Droid
wqy-unibit-fonts.noarch : WenQuanYi Unibit Bitmap Font
wqy-zenhei-fonts.noarch : WenQuanYi Zen Hei CJK Font

#安装第一个文泉驿字体
    yum install -y wqy-microhei-fonts.noarch

#再次查看可用字体,可以查看web界面,一般情况下,展示图片已经改成中文了,若还是乱码,则进行下一步操作
[root@ceshi ~]# fc-list 
/usr/share/fonts/wqy-microhei/wqy-microhei.ttc: 文泉驿等宽微米黑,文泉驛等寬微米黑,WenQuanYi Micro Hei Mono:style=Regular
/usr/share/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf: DejaVu Sans Mono:style=Bold Oblique
/usr/share/fonts/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/wqy-microhei/wqy-microhei.ttc: 文泉驿微米黑,文泉驛微米黑,WenQuanYi Micro Hei:style=Regular
/usr/share/fonts/dejavu/DejaVuSansMono-Oblique.ttf: DejaVu Sans Mono:style=Oblique

#编辑smokeping的Graph.pm文件    这一步可以不做的,前面安装完字体就可以了
    vim /opt/smokeping/lib/Smokeping/Graphs.pm

    if ($mode =~ /[anc]/){
        my $val = 0;
        for my $host (@hosts){
            my ($graphret,$xs,$ys) = RRDs::graph
            ("dummy",
            '--start', $tasks[0][1],
            '--end', $tasks[0][2],
    '--font TITLE:20:"WenQuanYi Micro Hei Mono"',
            "DEF:maxping=$cfg->{General}{datadir}${host}.rrd:median:AVERAGE",
            'PRINT:maxping:MAX:%le' );
            my $ERROR = RRDs::error();
            return "<div>RRDtool did not understand your input: $ERROR.</div>" if $ERROR;
            $val = $graphret->[0] if $val < $graphret->[0];
        }
        $val = 1e-6 if $val =~ /nan/i;
        $max = { $tasks[0][1] => $val * 1.5 };
    }
(在'--end', $tasks[0][2],之后插入一行,后面双引号里的内容是fc-list显示出来的)
    '--font TITLE:20:"WenQuanYi Micro Hei Mono"',

#最后重启smokeping,和httpd
    pkill smokeping
    /opt/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &
    systemctl restart httpd

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/348.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2022/12/11作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

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

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录