开发者社区> 技术小阿哥> 正文

zabbix监控实践解析(历史记录附近乱码、图表显示乱码)

简介:
+关注继续查看

   在很早以前就了解过一些开源的监控工具,例如nagios、ganglia、cacti、zabbix,目前zabbix好像更受欢迎一点,我们所有的业务主要在阿里云上,平时主要用的阿里云的一些监控,随着业务的发展,想着将监控这一部分具体完善一下,所以就选择了zabbix,在使用的过程中也遇到了一些问题,在此记录,供以后参考。

环境:lamp (centos 6.5 + apache2+mysql5.1+php)

zabbix版本:2.4.8

问题一、语言设置中文后乱码

wKiom1kDDM-ScXn2AAE3NjleV6o412.png-wh_50

 如图上面的历史记录部分是乱码的,这个主要是我们创建数据库以及初始化时,选择的字符集不合适,这里需要注意是当我们初次安装的时候,创建数据库字符集一定要选择为UTF8,这样整体后期就不会出现乱码。

检查数据库字符集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1.查看当前的默认字符集
mysql> show create database zabbix;
+----------+-------------------------------------------------------------------+
Database Create Database                                                   |
+----------+-------------------------------------------------------------------+
| zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+-------------------------------------------------------------------+
1 row in set (0.00 sec)
#安装时在导入三个sql文件时,zabbix数据库中创建的表的字符集也是latin1
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

这一块就是由于数据库字符集的原因导致的,因为只一块主要是历史记录,所以我们现在可以直接更改,更改方法如下:

1、将zabbix数据库使用mysqldump逻辑备份,然后将文件里的字符集latin1更改为utf8。

2、更改数据库的默认字符集并重启数据库

3、删除之前的数据库,并创建新的zabbix库(默认字符集utf8)恢复数据。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 mysqldump  -u  root    zabbix>/tmp/zabbix20170428.sql #备份数据
  
 root@localhost alertscripts]# grep  "latin1" /tmp/zabbix20170428.sql  #检查哪些表字符集为latin1
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
替换字符集
sed -i 's/latin1/utf8/g'   /tmp/zabbix20170428.sql 
替换完再检查
grep  "latin1" /tmp/zabbix20170428.sql 
结果为空
 
更改数据库默认字符集,并重启数据库
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
log-bin=/var/lib/mysql/log_bin
default-character-set = utf8
 
 
删除原先的数据库,并重新创建数据库
mysql> drop  database  zabbix
    -> ;
Query OK, 104 rows affected (5.14 sec)
 
create  database  zabbix  default  character set  utf8;#创建zabbix数据库
 
mysql  -u  root zabbix < /tmp/zabbix20170428.sql #恢复数据
登录检查

wKiom1kDEiLQGLNsAAHUVj4hALw424.png-wh_50

经过检查已经解决了乱码的问题,虽然这里的乱码不会影响我们功能的使用,但是看着很难受,所以痛下杀手,直接将它给更改过来了。

问题二、图标显示很多小方块

wKiom1kDE2qBs_80AADCtJKjNqA376.png-wh_50

                                         显示方块

其实这里是有汉字的,当我们将其语言格式调整为英文的时候显示就会正常,这里我们就需要考虑更改字体。

wKioL1kDFAyAVBEmAACnuOyVjSs323.png-wh_50

                                        显示正常

解决方法:

将windows(C:\Windows\Fonts)微软雅黑或者楷体这类字体替换,替换zabbix的web界面的font里面的字体,为了简单我们可以直接将原先字体文件名替换。

wKiom1kDFNPhoLQUAACYfqnEKV4529.png-wh_50

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost fonts]# ll
total 11512
lrwxrwxrwx 1 root root       33 Apr 26 11:12 graphfont.ttf -/etc/alternatives/zabbix-web-font #默认
-rw-r--r-- 1  777 root 11785184 Jun 11  2009 msyh.tt  #刚上传的微软雅黑
更改文件名:
[root@localhost fonts]# cp  graphfont.ttf  graphfont20170428.ttf  #备份数据
[root@localhost fonts]# ls 
graphfont20170428.ttf  graphfont.ttf  msyh.ttf 
[root@localhost fonts]# mv  msyh.ttf   graphfont.ttf   #覆盖文件
mv: overwrite `graphfont.ttf'? y
[root@localhost fonts]# ll
total 12216
-rw-r--r-- 1 root root   720012 Apr 28 18:13 graphfont20170428.ttf
-rw-r--r-- 1  777 root 11785184 Jun 11  2009 graphfont.ttf
[root@localhost fonts]
界面检查

wKioL1kDFpDAZnA1AACb8vdSic0804.png-wh_50

接触了一下发现zabbix其实还是比较简单的,接下来就需要攻克监控数据库以及tomcat和redis等应用程序,任重而道远,加油!



本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1920598,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
禁止输入框显示用户历史输入历史记录
input 中加上 autocomplete="off"
641 0
数据管理-实时监控- 操作列表显示查看线程栈功能(linux系统)
数据管理-实时监控- 操作列表显示查看线程栈功能(linux系统)
2475 0
SAP MM 非计划交货成本在采购订单历史中的显示
非计划交货成本原本就不是体现在PO里,所以发票校验的时候即使输入了这个成本,也不会以单独一个’Tr.Ev.’Item出现在PO的【采购订单历史】里。
1137 0
SVN时光机-显示资源历史记录
SVN时光机-显示资源历史记录
14 0
History in Threads: 火狐插件实现浏览历史按主题显示(树)
用JavaScript实现的火狐插件, 代码中使用中文命名. 实现浏览历史按主题以树的形式显示. Firefox addon implemented in JavaScript, with Chinese naming, to show browsing history in threads.
600 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29129 0
13689
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载