首页 Linux网维 Zabbix监控(十一):解决中文字体显示乱码问题

Zabbix监控(十一):解决中文字体显示乱码问题

问题: 在WEB端上中文会显示为问号,当创建一个GRAPH,名字中带中文时会报错: (latin1_swedish_ci,IMPLICIT)  and…

问题: 在WEB端上中文会显示为问号,当创建一个GRAPH,名字中带中文时会报错: (latin1_swedish_ci,IMPLICIT)  and (utf8_general_ci,COERCIBLE) for operation =

意思是使用了两种不同的字符集(latin1和utf8)1、方法一:网上找到最多也就是添加字体文件方法将windows系统中的字体文件(控制面板->字体->楷体simkai.ttf)拷贝到/var/www/html/zabbix/fonts/

修改服务端字体配置 [root@zabbix ~]# vi /var/www/html/zabbix/include/defines.inc.php   :%s/DejaVuSans/simkai/g   :wq

可能是网上的攻略都是低版本原因,我的2.2.5版本就是不行……失败,但是可以解决MAP图中的中文显示问题,因此这一步还是要操作的2、方法二:修改数据库默认字符集 [root@zabbix ~]# mysql -uroot -p123456。

mysql>show create database zabbix; 关于默认字符集,可参考链接了解:http://www.cnblogs.com/discuss/articles/1862248.html

查看数据库默认字符集: mysql>show variables like collation%;

Zabbix监控(十一):解决中文字体显示乱码问题插图

查看字符集值:

Zabbix监控(十一):解决中文字体显示乱码问题插图1

mysql>show variables like character%;

Zabbix监控(十一):解决中文字体显示乱码问题插图2

修改以下项:mysql>set character_set_client =utf8;mysql>set character_set_connection=utf8;mysql>set character_set_database =utf8;

mysql>set character_set_results =utf8;mysql>set character_set_server =utf8;mysql>set character_set_system =utf8;

mysql>SET collation_server = utf8_general_ci;mysql>SET collation_database = utf8_general_ci;

Zabbix监控(十一):解决中文字体显示乱码问题插图3

再次检查字符集值:修改数据库默认字符集:mysql>ALTER DATABASE `zabbix` DEFAULT CHARACTER SET utf8;mysql>show create database zabbix;

Zabbix监控(十一):解决中文字体显示乱码问题插图4

显示utf8了,但还是不行,已存在的数据表依然使用之前的字符集,干脆用方法三重建数据库参考:http://hi.baidu.com/11haiou/item/212707dad7395f5ffb5768d3。

虽然还是失败了,但找到问题根源了网上说另一种方法是修改mysql配置文件/etc/my.cnf中的默认字符集:[mysqld]default-character-set=utf8但是mysqld重启容易出错,启动不了,要删除sock甚至kill ID再启动。

3、方法三:重建zabbix数据库既然问题根源在于默认字符集,因此最好在创建数据库和导入数据库时就设置好删除数据库:[root@zabbix ~]# mysql -uroot -p123456mysql>dorp database zabbix;。

创建数据库:mysql>create database zabbix  character set utf8;mysql>grant all on zabbix.* to zabbix@localhost identified by zabbix;

mysql>flush privileges;mysql>quit导入数据:[root@zabbix ~]# cd[root@zabbix ~]# vi database/mysql/schema.sql

:%s/ENGINE=InnoDB/ENGINE=InnoDB CHARACTER SET utf8/g[root@zabbix ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql

[root@zabbix ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/images.sql[root@zabbix ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/data.sql

说明:这里主要做的两个动作就是给数据库和表都指定了默认字符集使用utf8,这两个设置已经在我的《Zabbix安装》博文中加上了,按我的文档安装省去了重新配置监控的痛苦4、查看结果刷新WEB后可以看到以前添加的监控都没了,只剩下默认的Zabbix server监控对象了,随便创建一个GRAPH,名字中输入中文,保存,成功显示中文;另外自动监控网卡也能正常显示中文了。

Zabbix监控(十一):解决中文字体显示乱码问题插图5

zabbix自带的自动监控网卡模板是zabbix agentd程序执行的,可以显示中文;但是自动监控服务的脚本扫描的还是不能显示中文,因为windows系统的dos不支持utf8。

Zabbix监控(十一):解决中文字体显示乱码问题插图6

说明:使用自动监控服务的脚本,可以把显示中文的ITEMS禁用掉,手动添加ITEMS,如:service_state[主动防御]5、触发器不支持中文问题又来了,创建触发器时出错,Function不支持中文字符,无法创建触发器:。

Zabbix监控(十一):解决中文字体显示乱码问题插图7

解决方法:Windows的服务有两个名称,我们在“服务”中看到的是显示名称,即别名,服务的真实名称如下:

Zabbix监控(十一):解决中文字体显示乱码问题插图8

给监控主机添加Items,Key使用服务的真实名称(全英文):

Zabbix监控(十一):解决中文字体显示乱码问题插图9

创建触发器,由于真实服务名称不带中文,触发器成功创建:

Zabbix监控(十一):解决中文字体显示乱码问题插图10

还可以创建动作,当服务没有启动时执行远程命令启动服务:

Zabbix监控(十一):解决中文字体显示乱码问题插图11

设置动作条件

Zabbix监控(十一):解决中文字体显示乱码问题插图12

设置动作执行的远程命令:

Zabbix监控(十一):解决中文字体显示乱码问题插图13

6、终级解决方法:修改注册表客户端查看带中文的服务:

Zabbix监控(十一):解决中文字体显示乱码问题插图14

运行regedit打开注册表,找到注册表保存系统服务的注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services按服务的“服务名称”找到服务目录:

Zabbix监控(十一):解决中文字体显示乱码问题插图15

说明:有些系统服务的DisplayName值是上图中的参数形式,意思是取值自vmms.exe文件中的第10行内容。不用管它,直接修改数值,输入一个易懂的英文服务名称,注意不要和别的服务重名了:

Zabbix监控(十一):解决中文字体显示乱码问题插图16

确定、关闭注册表编辑器、重启机器后生效,这样用自动监控服务脚本就完全没问题了,再配置Action动作来实现自动恢复关键服务,实现自动化运维。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

CentOS系统升级内核版本教程,centos内核版本升级

CentOS系统升级内核版本教程,centos内核版本升级

CentOS 系统升级系统内核版本  1、显示CentOS 系统内核版本:             [root@demo...
Linux下对 Nginx SSL 的性能进行调整

Linux下对 Nginx SSL 的性能进行调整

初始化服务器   这个web服务器运行在一个EC2 t1.micro 环境.我选择 Nginx + PHP5-FPM 来...
Linux Shell经典实例解析:Oracle启动脚本

Linux Shell经典实例解析:Oracle启动脚本

Oracle的启动脚本从功能上讲主要分为两个部分,第一部分是初始化各种环境变量,以确认当前Oracle服务器的版本,从而...
centOS6.4 64位下安装nfs文件共享系统

centOS6.4 64位下安装nfs文件共享系统

不知道谁装的服务器,默认自带,以下内容摘自互联网,配置部分按教程执行成功 一、环境介绍:   服务器:centos 19...
Linux下的Samba安装配置

Linux下的Samba安装配置

1 Samba 简介 Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Sam...

发表回复

返回顶部