目录
4.1、Zabbix server高可用防止硬件故障或计划维护期的停机
4.2、Zabbix 6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个维度采集指标
3、部署数据库,要求 MySQL 5.7 或 Mariadb 10.5 及以上版本
4.4、修改 zabbix server 配置文件,修改数据库的密码
6、安装 zabbix 客户端,实现 zabbix 服务端自我监控
7、解决 zabbix-server Web页面中文乱码问题
4、设置 zabbix 的下载源,安装 zabbix-agent
一、Zabbix 监控系统概述
官方网站:https://www.zabbix.com/
1、Zabbix 概念
-
zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
-
zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
-
zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
-
zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。
-
zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。
2、Zabbix构成
Zabbix是一个开源的网络监控解决方案,用于实时监控服务器、网络设备、应用程序等的性能和可用性。Zabbix主要由以下五个核心组件构成:
①、Server
-
功能:Zabbix Server是Zabbix的核心组件,负责处理所有配置信息、统计信息和操作信息。它接收来自Agent和Proxy的数据,并进行处理和存储。
-
作用:Server内部存储了所有的监控数据和配置信息,是整个监控系统的核心。
②、Web页面
-
功能:Zabbix Web页面提供了用户界面,用于配置和管理Zabbix系统,以及查看监控数据和生成报告。
-
作用:Web页面通常与Zabbix Server部署在同一台物理设备上,但也可以分开配置。它提供了直观的监控信息,方便运维人员进行监控和管理。
③、数据库
-
功能:Zabbix数据库用于存储所有的配置信息、统计信息和其他相关数据。常用的数据库包括MySQL、PostgreSQL等。
-
作用:数据库是Zabbix系统的数据存储中心,所有监控数据和配置信息都存储在这里。
④、Proxy
-
功能:Zabbix Proxy是一个可选组件,用于分担Zabbix Server的负载。它可以代替Server采集数据,并将数据发送给Server。
-
作用:Proxy通常用于大规模监控环境,如跨机房、跨网段等场景,可以有效减轻Server的负载。
⑤、Agent
-
功能:Zabbix Agent通常部署在被监控的目标设备上,用于主动监控本地资源和应用程序,并将监控数据发送给Zabbix Server或Proxy。
-
作用:Agent是数据采集的前端,负责收集被监控设备的性能数据,并将其发送给Server或Proxy进行处理。
3、Zabbix 监控对象
zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。 zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。
- 硬件监控:如 CPU 使用率、内存利用率、磁盘空间、温度传感器等
- 系统监控:可以监控操作系统的各项参数,包括进程状态、负载情况、文件系统状态等
- 网络监控:监控网络设备的状态、流量、带宽利用率等,并对网络连通性进行检测
- java 监控:对于基于 Java 的应用程序,Zabbix 可以监控 JVM 的运行状态、内存使用情况、垃圾回收等
- 应用服务器监控:监控各种应用服务器,如 Tomcat、Nginx、Apache等
- 数据库监控:监控数据库服务器的各种指标,如查询响应时间、连接数、缓冲池利用率等
- url 监控:监控 Web 页面的可用性和响应时间
- vmware 监控:监控 VMware 虚拟化环境中的虚拟机和宿主机的各种性能指标,包括 CPU 利用率、内存使用情况、虚拟磁盘性能等
4、Zabbix 6.0 新特性
4.1、Zabbix server高可用防止硬件故障或计划维护期的停机
-
原生选择加入HA群集配置
-
定义一个或多个备用节点
-
实时监控Zabbix server群集节点的状态
-
不需要外部工具即可将Zabbix server配置为HA群集模
4.2、Zabbix 6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个维度采集指标
-
Kubernetes节点和pods的自动发现和监控
-
无代理方式采集Kubernetes pods和节点的信息
-
获取Kubernetes节点主机高水平信息
5、Zabbix工作原理
工作流程:
zabbix在进行监控时,zabbix客户端要安装在被监控设备上,负责定期收集数据,并将其发送给zabbix服务端;zabbix服务端要安装在监控设备上,其将zabbix客户端发送的数据存储的数据库中,zabbix web根据数据在前端进行展示和绘图。
zabbix的数据收集分为两种模式:
- 主动模式
zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据提交给zabbix server。
- 被动模式
zabbix server向agent请求获取监控项的数据,zabbix agent返回数据。
可以看出,zabbix的主动和被动模式是以zabbix客户端为基准的。
6、Zabbix进程详解
在默认情况下,zabbix有6个工作进程,分别是zabbix_agentd,zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server和zabbix_gateway。其中,zabbix_java_gateway是可选进程。这6个进程作用如下:
- zabbix_agentd
zabbix_agentd为zabbix客户端守护进程,主要负责收集客户端监控项数据。
- zabbix_server
zabbix_server为zabbix服务端守护进程,主要负责收集zabbix客户端数据。
- zabbix_proxy
zabbix_proxy是zabbix代理进程,其功能类似于server,作用上类似与一个中转站,最终会把收集到的数据再次提交给zabbix_server。
- zabbix_get
zabbix_get为一个zabbix工具,通常运行在zabbix server或者是zabbix proxy上,用于远程获取客户端信息,通常用于排错。
- zabbix_sender
zabbix_sender也是一个zabbix工具,通常运行在zabbix客户端,通常用于耗时比较长的检查,其作用是主动发送数据。
用户发送数据给 server 或 proxy 端
- zabbix_java_gateway
zabbix_java_gateway是zabbix2.0之后引入的新功能,可以用户JAVA方面的设备,但是其只能主动获取数据,而不能被动获取数据。
7、Zabbix三个监控架构
在实际生产环境中,根据网络环境和监控规模的不同,zabbix一共有三种监控架构,分别是server-client架构、master-node-client架构和server-proxy-client架构。
7.1、server-client(基本架构)
zabbix最简单的架构,监控设备和被监控设备之间直接相连,zabbix server和zabbix client之间直接进行数据交互。
7.2、server-proxy-client(中型架构)
proxy是连接server和client之间的桥梁,其本身并不存放数据,只是将zabbix agent端发送来的数据暂存,然后再提交给server。这种架构一般用于跨机房、跨网络的中型网络架构。在server-proxy-client架构架构中,server设备的宕机会导致整个系统无法正常工作。
7.3、master-node-client(大型架构)
master-node-client架构是zabbix最复杂的架构,一般用于跨机房、跨网络、监控设备较多的大型网络架构。与server-proxy-client相比,master-node-client架构的主要区别在于node与proxy上。在master-node-client架构中,每个node可以理解为一个小的server端,有自己的配置文件和数据库,node下游可以直接连接client,也可以再次经过proxy代理后连接client。在master-node-client架构中,master设备宕机不会影响node结点的正常工作。
二、安装部署 Zabbix服务端
1、环境部署
节点 | IP地址 | 安装软件 | 操作系统 |
---|---|---|---|
zabbix 服务端 | 172.16.88.44 | zabbix-server-mysql, zabbix-agent | centos 7.4 |
zabbix 客户端 | 172.16.88.55 | zabbix-agent2 | centos 7.4 |