zabbix监控实践解析(历史记录附近乱码、图表显示乱码)
在很早以前就了解过一些开源的监控工具,例如nagios、ganglia、cacti、zabbix,目前zabbix好像更受欢迎一点,我们所有的业务主要在阿里云上,平时主要用的阿里云的一些监控,随着业务的发展,想着将监控这一部分具体完善一下,所以就选择了zabbix,在使用的过程中也遇到了一些问题,在此记录,供以后参考。
环境:lamp (centos 6.5 + apache2+mysql5.1+php)
zabbix版本:2.4.8
问题一、语言设置中文后乱码
如图上面的历史记录部分是乱码的,这个主要是我们创建数据库以及初始化时,选择的字符集不合适,这里需要注意是当我们初次安装的时候,创建数据库字符集一定要选择为UTF8,这样整体后期就不会出现乱码。
检查数据库字符集
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)恢复数据。
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 #恢复数据 登录检查
经过检查已经解决了乱码的问题,虽然这里的乱码不会影响我们功能的使用,但是看着很难受,所以痛下杀手,直接将它给更改过来了。
问题二、图标显示很多小方块
显示方块
其实这里是有汉字的,当我们将其语言格式调整为英文的时候显示就会正常,这里我们就需要考虑更改字体。
显示正常
解决方法:
将windows(C:\Windows\Fonts)微软雅黑或者楷体这类字体替换,替换zabbix的web界面的font里面的字体,为了简单我们可以直接将原先字体文件名替换。
[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]# 界面检查
接触了一下发现zabbix其实还是比较简单的,接下来就需要攻克监控数据库以及tomcat和redis等应用程序,任重而道远,加油!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
sql优化-检索及定位
一、执行频率早知道 >show status; 使用showstatus了解各种sql的执行频率 可搭配参数global全局查看,或者session当前连接开始计数默认不加参数是指查看当前连接 showstatus; +-----------------------------------------------+----------------+ |Variable_name|Value| +-----------------------------------------------+----------------+ |Aborted_clients|65| |Aborted_connects|589| |Binlog_cache_disk_use|0| |Binlog_cache_use|0| |Binlog_stmt_cache_disk_use|0| |Binlog_stmt_cache_use|0| |Bytes_received|1649| |Bytes_sent|11767| |Com_admin_commands|0| |Com_assign_to_keyca...
- 下一篇
一键自动化部署(定制rpm包)
部署--前篇 上午将MySQL多实例部署完成,由于有公司特定一些需求,需要源码安装,现在需要批量部署,如果一台台部署,就太过麻烦,而且浪费时间,这个时候自动化部署 就体现出价值了 我们将MySQL制作定制化rpm包,然后放到我们的yum仓库中,在将yum所有客户端,都指向yum源,之后就是喝喝茶,看看片,轻松批量部署了,废话不多说,开干。 如果MySQL多实例还没配置的,或不了解软件的安装方式 的 请参考:http://qiuyt.blog.51cto.com/1229789/1920686 # 博主新的博客地址:https://www.dgstack.cn/ 进入有惊喜哦~~ 欢迎收藏 一、Yum安装介绍 yum就是{Yellow dog Updater, Modified} ×××的狗,用来针对rpm包的管理器。 它的优点:简单、高效,解决依赖问题;缺点:前期定制包复杂 二、制作rpm包 FPM的作者是jordansissel FPM的github:https://github.com/jordansissel/fpm FPM功能简单说就是将一种类型的包转换成另一种类型 r...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启