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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

   在很早以前就了解过一些开源的监控工具,例如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,如需转载请自行联系原作者

相关文章
|
6天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
39 23
|
7天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
39 22
|
10天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
51 25
|
20天前
|
运维 监控 DataWorks
DataWorks 稳定性保障全解析:深入监控与资源调配
DataWorks 的稳定性保障体系涵盖精细监控与资源调配,确保企业数据业务高效、稳定运行。监控模块包括资源、任务和质量监控,及时预警并处理异常;资源调配策略则针对集成、调度、数据服务及计算资源进行科学配置,保障数据同步、任务优先级和高并发需求。通过全方位的监控和合理的资源配置,DataWorks 为企业筑牢数据根基,助力数字化转型。
64 10
|
1月前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
222 30
|
24天前
|
存储 监控 算法
企业内网监控系统中基于哈希表的 C# 算法解析
在企业内网监控系统中,哈希表作为一种高效的数据结构,能够快速处理大量网络连接和用户操作记录,确保网络安全与效率。通过C#代码示例展示了如何使用哈希表存储和管理用户的登录时间、访问IP及操作行为等信息,实现快速的查找、插入和删除操作。哈希表的应用显著提升了系统的实时性和准确性,尽管存在哈希冲突等问题,但通过合理设计哈希函数和冲突解决策略,可以确保系统稳定运行,为企业提供有力的安全保障。
|
1月前
|
存储 网络协议 编译器
【C语言】深入解析C语言结构体:定义、声明与高级应用实践
通过根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。在实际开发中,建议遵循以下原则: - **模块化设计**:尽可能封装实现细节,减少模块间的耦合。 - **内存管理**:明确动态分配与释放的责任,防止资源泄漏。 - **优化顺序**:合理排列结构体成员以减少内存占用。
166 14
|
1月前
|
存储 缓存 Python
Python中的装饰器深度解析与实践
在Python的世界里,装饰器如同一位神秘的魔法师,它拥有改变函数行为的能力。本文将揭开装饰器的神秘面纱,通过直观的代码示例,引导你理解其工作原理,并掌握如何在实际项目中灵活运用这一强大的工具。从基础到进阶,我们将一起探索装饰器的魅力所在。
|
1月前
|
监控 数据可视化 Java
zabbix全面的监控能力
zabbix全面的监控能力
98 7
|
1月前
|
机器学习/深度学习 搜索推荐 API
淘宝/天猫按图搜索(拍立淘)API的深度解析与应用实践
在数字化时代,电商行业迅速发展,个性化、便捷性和高效性成为消费者新需求。淘宝/天猫推出的拍立淘API,利用图像识别技术,提供精准的购物搜索体验。本文深入探讨其原理、优势、应用场景及实现方法,助力电商技术和用户体验提升。

热门文章

最新文章

推荐镜像

更多