admin管理员组

文章数量:1535022

2024年6月16日发(作者:)

故障诊断与处理

Trouble Shooting

Comment

CentOS部署MRTG出现中文乱码

■ 上海 郑智杰

MRTG是一个

编者按: 笔者在利用CentOS 7部署MRTG软件时,遇到

ServerName

监控网络链路流

显示中文乱码问题,本文针对这两个问题及解决方法依

:

量负载的工具

次展示给大家,当然其中也有部分问题并未得到彻底解

80

软件,原理是用

决,也希望在这里能与读者分享探讨。

# 行 151:

SNMP协议得到设

变更

备的流量信息,并将流量信

ONBOOT=yes

AllowOverride All

息按天、月或年的时间段绘

# 新增

# 新增

制成PNG图片,最终通过浏

IPADDR=192.168.1.100

ServerTokens Prod

览器访问HTML网页的方式

NETMASK=255.255.255.0

KeepAlive On

展现给用户,以非常直观的

GATEWAY=192.168.1.1

保存退出,重启服务,并

形式显示流量信息。

DNS1=202.96.209.133

将服务设置成开机运行:

保存退出并重启网卡,更

systemctl start httpd

CentOS 7硬件环境及系统环

新系统,更新后显示CentOS

systemctl enable httpd

Linux release 7.8.2003

将HTTP服务加入防火

物理机:CPU为Silver

(Core):

墙:

4114,内存为256 GB、系统为

systemctl restart

firewall-cmd --add-

ESXI 6.5。

network

service=http --permanent

虚拟机:CPU为2核,内

yum –y update

重启防火墙配置:

存为2 GB,硬盘:50 GB、系统

firewall-cmd --reload

为CentOS 7.X。

Apache搭建

创建测试页面查看

yum -y install httpd

Apache搭建是否成功:

网络配置

安装完成后删除默认欢

vi /var/www/html/

如下所示:

迎页面:

vi /etc/sysconfig/

rm -f /etc/httpd/

# 新增

network-scripts/ifcfg-

conf.d/

ens192

修改默认配置文件:

# 行 4:变更

vi /etc/httpd/conf/

BOOTPROTO=static

100%; font-size: 40px;

# 行 15: 变更

# 行 95: 变更

font-weight: bold; text-

投稿信箱:

**********************

2020.08

145

Trouble Shooting

故障诊断与处理

责任编辑:赵志远

align: center;">

com2sec local localhost

测试SNMP是否正常。

Apache Success Test

HelloWorld

Page

com2sec mynetwork

MRTG部署

192.168.1.0/24 HelloWorld

通过指令生成MRTG配置

# 行 78,79: 取消注释

文件。

及变更

修改MRTG配置文件,保

group MyRWGroup v2c

存退出:

SNMP搭建

local

vi /etc/mrtg/

安装SNMP工具及MRTG:

group MyROGroup v2c

# 行 8: 取消注释及变

yum -y install net-

mynetwork

snmp net-snmp-utils mrtg

# 行 85: 取消注释

WorkDir: /var/www/

修改SNMP配置文件用于

view all included .1

html/mrtg

为后续MRTG提供准备:

80

# 行 16: 取消注释

vi /etc/SNMP/snmpd.

# 行 93,94: 取消注释

Options[_]: grow

conf

及变更

right, bits

取消默认的public团体

access MyROGroup ""

在/var/www/html下新

名:

v2c noauth exact all none

增MRTG文件夹:

# 行 41: 增加注释

none

mkdir /var/www/html/

#com2sec not Config

access MyRWGroup ""

mrtg

User default public

v2c noauth exact all all

通过指令来生成MRTG详

设置本地团体名和允许

all

细流量文件:

被SNMP客户端访问的网段

保存退出,重启SNMP服

for (( i=1 ; i <= 3 ;

团体名为HelloWorld:

务并设置开机启动:

i++ )); do env LANG=C mrtg

# 行 74,75: 取消注释

systemctl start snmp

/etc/mrtg/; done

及变更

systemctl enable snmp

第一次执行可能出现如

# 将需要访问的网络命

将SNMP添加到防火墙,

图1所示信息,再执行一次

名为mynetwork

重新加载防火墙配置:

就正常了。

# 更新团体名,为了安全

firewall-cmd --add-

通过MRTG工具生成

期间建议不使用public和

service=snmp --permanent

HTML到上,指令

private

firewall-cmd --reload

无报错即说明成功了:

图1 第一次生成MRTG详细流量文件可能出现的部分信息

146

2020.08

投稿信箱:

**********************

责任编辑:赵志远

故障诊断与处理

Trouble Shooting

indexmaker

--columns=1 /etc/mrtg/

> /var/www/

html/mrtg/

图2 详情页面出现乱码

打开浏览器可以查看

到MRTG主页。此时打开

mrtg/mrtg_l --confcache-

文正常文件编码。再查看

192.168.1.100/

file /var/lib/mrtg/mrtg.

该HTML中meta标签,显示

mrtg时是Forbidden状态,

ok

charset=“gb2312”也正常。

此时设置MRTG站点的访问

保存后退出,开启crond

笔者进一步想到Web容

权限。将需要访问MRTG流

服务并开机运行。

器Apache编码设置:

量监控的客户端添加到网站

vi /etc/httpd/conf/

权限中,保存后退出:

问题1:MRTG设置中文显示,

vi /etc/httpd/conf.d/

但是网页未显示。

# 行 316:变更

整体界面都是英文,用户

AddDefaultCharset OFF

# 行 6: 变更

希望得到汉化,笔者通过查

默认编码是UTF-8,此时

Alias /mrtg /var/www/

询资料,了解到需要修改配

将其改成OFF,让Apache以

html/mrtg

置文件:

网页源代码中声明的编码格

# 新增

vi /etc/mrtg/

式显示。

Require ip 192.168.

# 新增

保存并退出后,重启

1.0/24

Language:chinese

httpd服务,查看详细页面,

重启httpd服务。然后

重新生成MRTG索引页及

显示正常。如图3所示。

再次打开192.168.

详情页:

1.100/mrtg,访问正常。

indexmaker

问题2:网页显示出中文,但

此时整体页面不会自动

--columns=1 /etc/mrtg/

是通过软件SecureCRT连接

刷新,可以通过增加定时任

> /var/www/

后使用vi、vim编辑文件时

务刷新MRTG监控流量,设置

html/mrtg/

乱码。

5分钟刷新一次:

env LANG=C mrtg /etc/

网页已正常访问,通过

vi /etc/cron.d/mrtg

mrtg/

SecureCRT查看网页代码以

# 新增

但打开网页后会发现详

及将软件编码设置成UTF-8

*/5 * * * * root

情页面变成了乱码,如图2

仍是乱码,如图4所示。

LANG=C LC_ALL=C /usr/bin/

所示。

设置vi和vim配置文件

mrtg /etc/mrtg/

查看该详细页面文件编

追加编码utf-8及gbk:

--lock-file /var/lock/

码,显示ISO-8859,属于中

vi /etc/virc

投稿信箱:

**********************

2020.08

147

Trouble Shooting

故障诊断与处理

责任编辑:赵志远

vi /etc/vimrc

# 新增

set encoding=utf-8

set fileencoding=utf-

8,gbk

最后终于成功解决了在

secureCRT下使用vi和vim

网页源文件乱码问题,如图5

所示。

反思

图3 重启httpd服务并查看详细页面显示正常

通过MRTG来查看出口

核心交换机流量是十分有必

要的,它能直观地反映出当

前流量状况,为排摸流量异

常提供了有效的数据支撑。

不仅如此,MRTG还可以通过

SNMP协议获取设备OID信

图4 查看网页代码及设置成UTF-8后仍显示乱码

息,那么我们也可以加以推

广,将部分重要设备CPU、内

存及硬盘等信息加入MRTG

的监控选项中。

在搭建MRTG系统时,笔

者遇到了中文显示问题,在

解决问题过程中,了解到文

图5 成功解决乱码问题

件编码、网页代码中编码申

明及容器编码等各类网页前

此时会出现手动输入生成文

2.在SecureCRT软件显

端编码问题,也学习到编辑

件指令能正常输出,但通过

示中文正常后,通过虚拟机

器相关编码知识,但其中有

crond定时任务执行相同指

本地tty连接发现中文变成

两方面内容并未解决:

令时出现了问题,经过日志

了小方块,尝试修改locale

1.将MRTG所生成的图

查询显示无权限,之后尝试

配置文件,但是没有成功。

片及网页文件存放到其他

过将/data/mrtg文件夹权

上述两个问题将进一步查找

目录,比如/data/mrtg中,

限设置成777,但无效。

相关资料。

148

2020.08

投稿信箱:

**********************

本文标签: 问题网页编码流量查看