MySQL ·

MySQL5.6 安装与主从配置项目实战

1.概述

在开始之前,一些概念和定义需要我们提前了解一下(以下内容摘自官方网站)。

架构

Zabbix 由几个主要的功能组件组成,其职责如下所示。

Server

Zabbix server 是Zabbix agent 向其报告可用性、系统完整性信息和统计信息的核心组件。是存储所有配置信息、统计信息和操作信息的核心存储库。

Zabbix Server 负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。它是 Zabbix Agent 和 Proxy 报告系统可用性和完整性数据的核心组件。Server 自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务器)。

Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是 Zabbix 监控系统的告警中心。在监控的系统中出现任何异常,将被发出通知给管理员。

基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。

Zabbix 的所有配置信息都存储在 Server 和 Web 前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix 前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

数据库

所有配置信息以及 Zabbix 收集到的数据都被存储在数据库中。

Web 界面

为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。

Proxy

Zabbix proxy 可以替 Zabbix server 收集性能和可用性数据。Zabbix proxy 是 Zabbix 环境部署的可选部分;然而,它对于单个 Zabbix server 负载的分担是非常有益的。

Zabbix proxy 是一个可以从一个或多个受监控设备采集监控数据并将信息发送到 Zabbix server 的进程,主要是代表 Zabbix server 工作。 所有收集的数据都在本地缓存,然后传输到 proxy 所属的 Zabbix server。

部署Zabbix proxy 是可选的,但可能非常有利于分担单个 Zabbix server 的负载。 如果只有代理采集数据,则 Zabbix server 上会减少 CPU 和磁盘 I/O 的开销。Zabbix proxy 是无需本地管理员即可集中监控远程位置、分支机构和网络的理想解决方案。Zabbix proxy 需要使用独立的数据库。

Agent

Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序(硬盘、内存、处理器统计信息等)。

Zabbix agent 收集本地的操作信息并将数据报告给 Zabbix server 用于进一步处理。一旦出现异常 (例如硬盘空间已满或者有崩溃的服务进程),Zabbix server 会主动警告管理员指定机器上的异常。

Zabbix agents 的极高效率缘于它可以利用本地系统调用来完成统计数据的采集。

Zabbix agent 可以运行被动检查和主动检查。

在被动检查 模式中 agent 应答数据请求。Zabbix server(或 proxy)询求数据,例如 CPU load,然后 Zabbix agent 返还结果。

主动检查 处理过程将相对复杂。Agent 必须首先从 Zabbix sever 索取监控项列表以进行独立处理,然后会定期发送采集到的新值给 Zabbix server。

是否执行被动或主动检查是通过选择相应的监控项类型来配置的。 Zabbix agent 处理“Zabbix agent”或“Zabbix agent(active)”类型的监控项。

数据流

首先,为了创建一个采集数据的监控项,您就必须先创建主机。其次,必须有一个监控项来创建触发器。最后,您必须有一个触发器来创建一个动作,这几个点构成了一个完整的数据流。因此,如果您想要收到 CPU load it too high on Server X 的告警,您必须首先为 Server X 创建一个主机条目,其次创建一个用于监视其 CPU 的监控项,最后创建一个触发器,用来触发 CPU is too high 这个动作,并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐,但是使用模板的话,其实并不复杂。也正是由于这种设计,使得 Zabbix 的配置变得更加灵活易用。

2.关闭 selinux

2.1 将 SELINUX=enforcing 改为 SELINUX=disabled

2.2 设置后需要重启才能生效

zabbix202001121021492

3. 配置防火墙

3.1 查看默认防火墙状态

关闭后显示 not running,开启后显示 running

3.2 安装防火墙

3.3 配置防火墙

3.5 Centos 7 防火墙设置

3.6 设置防火墙开机启动

大家根据自己实际情况安装,数据库路径修改自己的安装路径,如果没有安装mysql 可以查看我另一篇文章 Linux 下源码编译安装 MySQL 数据库

11. 拷贝 zabbix 网页文件

12. 解决监控图形部分文字乱码问题

Zabbix 4.4 安装完成之后,监控图形页面出现字符集乱码,如下所示:

zabbix202001121021492

12.1. 解决方法:

C:\Windows\Fonts\微软雅黑 常规 字体上传到 zabbix 服务器 font 目录下

zabbix202001121021492

老版本字体位置 /data/wwwroot/zabbix/fonts/

12.2. 修改 zabbix/include/defines.inc.php 文件,把 DejaVuSans 改为 msyh

13. PHP 版本问题处理

14. 配置 Zabbix Web 连接数据库 zabbix.conf.php 文件

15. 设置 Zabbix 安装目录、日志目录 权限

注意: 这里权限设置错误的话,Zabbix服务器端运行中的是 否

16. 设置 Zabbix 开机启动

16.1. 复制启动文件到 /etc/init.d/ 目录下

16.2.添加启动执行权限

16.3.修改启动文件 Zabbix 所在的安装路径

16.4.添加开机启动

  • Centos 添加方法

  • Ubuntu 添加方法

17. 配置 zabbix_server.conf

修改完成后可通过以下命令进行查看

18. 配置 zabbix_agentd.conf

修改完成后可通过以下命令进行查看

19. 配置 php.ini 一些必要参数

20. 配置 Zabbix 数据

20.1. 创建 zabbix 数据库 MySQL 用户

20.2. 创建 zabbix 数据库实例

20.3. 授权 zabbix 用户 访问数据库实例 zabbix

20.3.修改 database/mysql/data.sql 文件

21. 导入初始模式和数据

sqlList="schema images data"

schema.sql、images.sql 和 data.sql 文件位于 zabbix 源代码的数据库子目录中,对于proxy端只需要schema.sql(导入顺序不可以变动)。
导入zabbix的表结构及基础数据(正式生产环境中使用如下命令时,请去掉命令行中的密码,以交互方式完成登录) 如果 有 proxy 后面两个命令无需输入

22. 启动 zabbix-server 和 zabbix_agentd 服务

23. 配置 Zabbix_Nginx.conf

24. 配置 Zabbix_Apache.conf

25. 配置 zabbix 环境变量

26. 检查 services 系统服务文件中是否有以下配置

zabbix202001121021492

27. 重启 zabbix nginx 服务

28. 查看服务是否开启

zabbix202001121021492

29. 监控 zabbix 本机的 CPU idle

30. zabbix 网页登录

在浏览器输入http://zabbix服务器ip/zabbix/index.php,输入管理员用户名 admin(区分大小写),默认密码 zabbix,点击登入即可 如果你刚才修改过md5值,那么请输入个改过的密码

zabbix202001121021492

zabbix202001121021492

另外你修改过 database/mysql/data.sql 文件, 默认 Local network 改为 本地网络 如图:
zabbix202001121021492

30. 总结

总体来说,Zabbix是非常容易安装、使用的,但是在安装过程中还是需要注意一些细节。

Zabbix 的官方文档很详细,还提供中文版,但是也还有一些坑需要我们去思考、总结。

如果使用二进制安装,那么进程管理账户那是非常有必要考虑的。在官方文档中有提到,zabbix server 和 zabbix agent 在同一台主机上安装时,需要使用不通的进程管理账户。

这篇文章主要介绍的Zabbix的安装,截图较少,需要一些使用经验。进一步的使用会在后面的文章中具体展开介绍,不足之处万望海涵。愿大家与我一起成长!

参与评论

验证码 *