【运维知识进阶篇】zabbix5.0稳定版详解7(zabbix分布式监控:使用场景+功能详解+快速部署+基本使用)

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 【运维知识进阶篇】zabbix5.0稳定版详解7(zabbix分布式监控:使用场景+功能详解+快速部署+基本使用)

如果你有几百上千台客户端的数据需要上报给zabbix服务端,即便是你做了主动注册,监控项目主动式,那服务端压力还是会很大,所以我们可以考虑zabbix分布式监控。


zabbix proxy可以代替zabbix server收集性能和可用性数据,然后把数据汇报给zabbix server,并且在一定程序分担zabbix server的压力。此外,当所有的agents和proxies报告给一个zabbix server并且所有的数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单的方法。

zabbix使用场景

1、监控远程区域设备

2、监控本地网络不稳定区域

3、当zabbix监控上千台设备时,用它减轻server的压力

4、简化分布式监控的维护

zabbix功能详解

zabbix proxy是一个数据收集器,它不计算触发器、不处理事件,不发送报警,具体功能如下表

功能/项目 proxy支持(yes/no)
Zabbix agent checks

yes

Zabbix agent checks(active) yes
Simple checks yes
Trapper items yes
SNMP checks yes
SNMP traps yes
IPMI checks yes
JMX checks yes
日志文件监控(Log file monitoring) yes
内部检查(Internal checks) yes
SSH checks yes
Telnet checks yes
外部检查(External checks) yes
内置web监控(Built-in web monitoring) yes
网络发现(Network discovery) yes
自动发现(Low-level discovery) yes
触发器计算(Calculating triggers) no
处理事件(Processing events) no
发送报警(Sending alerts) no
远程命令(Remote commands) no
1. 以下是Zabbix代理检查的不同类型的解释:
2. 
3. 1. Zabbix代理检查(主动检查):Zabbix代理主动从Zabbix服务器获取配置,并执行指定的检查。它通过建立到服务器的连接,上传收集到的数据,并接收来自服务器的命令。
4. 
5. 2. 简单检查:这是一种基本的检查类型,用于收集主机上的指标数据。代理程序会定期对指定的参数进行检查,并将结果报告给Zabbix服务器。
6. 
7. 3. Trapper项:Trapper项允许用户将数据主动推送到Zabbix服务器。这些项不同于简单检查项,因为它们不是由代理程序主动发送的,而是由用户定义的脚本、应用程序或其他外部实体推送到代理程序,然后由代理程序发送给服务器。
8. 
9. 4. SNMP检查:SNMP(Simple Network Management Protocol)检查是通过使用SNMP协议检索设备的信息和指标。Zabbix代理可以执行SNMP检查来监控网络设备、服务器等。
10. 
11. 5. SNMP陷阱:SNMP陷阱是由网络设备主动发送的通知,用于报告设备状态的变化,例如故障、警报等。Zabbix代理可以接收和处理这些SNMP陷阱,并将其转发给Zabbix服务器进行相应的处理和记录。
12. 
13. 6. IPMI检查:IPMI(Intelligent Platform Management Interface)检查用于监控和管理服务器硬件的接口。Zabbix代理可以执行IPMI检查来收集服务器的硬件数据,例如温度、风扇速度等。
14. 
15. 7. JMX检查:JMX(Java Management Extensions)检查用于监控和管理Java应用程序。Zabbix代理可以执行JMX检查,通过连接到Java应用程序的JMX接口,收集和报告应用程序的性能和状态数据。

注意:zabbix proxy仅仅需要一条tcp链接到zabbix server,所以需要在zabbix server上添加一条规则即可。

zabbix proxy数据库必须和server分开,否则数据会被破坏。

zabbix proxy部署

将172.16.1.7 作为zabbix proxy服务端

1、安装zabbix proxy代理,导入proxy数据库

1. # 配置仓库
2. [root@Web01 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
3. [root@Web01 ~]# yum clean all
4. 
5. # 安装proxy代理 数据库
6. [root@Web01 ~]# yum -y install zabbix-proxy-mysql
7. [root@Web01 ~]# yum -y install mariadb-server
8. [root@Web01 ~]# systemctl enable --now mariadb
9. [root@Web01 ~]# mysql
10. ...
11. MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
12. Query OK, 1 row affected (0.00 sec)
13. ...
14. MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
15. ...
16. 
17. # 将Zabbix代理的MySQL数据库架构文件(schema.sql.gz)导入到名为zabbix的MySQL数据库中
18. # 创建和初始化Zabbix代理所需的数据库表和结构
19. [root@Web01 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.36/schema.sql.gz | mysql -uzabbix -pzabbix zabbix
20. 
21. # 检查数据库导入是否正常
22. [root@Web01 ~]# mysql -uroot -e "use zabbix;show tables;"
23. +----------------------------+
24. | Tables_in_zabbix           |
25. +----------------------------+
26. | acknowledges               |
27. | actions                    |
28. | alerts                     |
29. | application_discovery      |
30. | application_prototype      |
31. | application_template       |
32. | applications               |
33. ......

2、修改zabbix proxy配置文件

1. [root@Web01 ~]# egrep '^[DH]|^Server' /etc/zabbix/zabbix_proxy.conf
2. Server=10.0.0.71
3. Hostname=sz_proxy
4. DBName=zabbix
5. DBUser=zabbix
6. DBPassword=zabbix

3、启动zabbix proxy代理

1. [root@Web01 ~]# systemctl start zabbix-proxy.service
2. [root@Web01 ~]# netstat -tnulp | grep 10051
3. tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      33809/zabbix_proxy  
4. tcp6       0      0 :::10051                :::*                    LISTEN      33809/zabbix_proxy

4、配置客户端指向zabbix proxy

172.16.1.7 和 172.16.1.8 作为客户端测试

1. [root@Web01 ~]# egrep '^Server|^Hostname' /etc/zabbix/zabbix_agentd.conf
2. Server=172.16.1.7
3. ServerActive=172.16.1.7
4. Hostname=Web01
5. [root@Web01 ~]# systemctl restart zabbix-agent.service
6. 
7. [root@Web02 ~]# egrep '^Server|^Hostname' /etc/zabbix/zabbix_agentd.conf
8. Server=172.16.1.7
9. ServerActive=172.16.1.7
10. Hostname=Web02
11. [root@Web02 ~]# systemctl restart zabbix-agent.service

5、server端添加主机

清空原监控客户端,停用自动注册,自动发现动作

添加agent代理程序

基于代理添加Web01主机

Web02主机操作与Web01一致

查看主机列表,均已添加完成,ZBX可用性还是灰色

但是我们的数据可以顺利拿到,并且是主动式

上面的操作主机是我手动添加的,用自动注册,自动发现也是可以的,在配置动作的时候选择相应的触发条件即可,里面有agent代理程序的类型。


我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
9月前
|
运维 监控 NoSQL
分布式不是“分布痛”吗?说说那些年我踩过的运维坑和总结的血泪经验
分布式不是“分布痛”吗?说说那些年我踩过的运维坑和总结的血泪经验
265 0
|
11月前
|
存储 负载均衡 算法
zk基础—4.zk实现分布式功能
本文详细介绍了基于 ZooKeeper(ZK)实现分布式系统中的多种核心功能,包括数据发布订阅、负载均衡、分布式命名服务、Master-Worker 协调、分布式通信、Master 选举、分布式锁及分布式队列与屏障的实现。每部分均包含原理说明和具体代码示例,展示了 ZK 在分布式环境下的协调能力与应用场景。
|
11月前
|
存储 运维 安全
Docker化运维:容器部署的实践指南
Docker化运维:容器部署的实践指南
|
9月前
|
运维 Dubbo Cloud Native
Dubbo 云原生重构出击:更快部署、更强控制台、更智能运维
Apache Dubbo 最新升级支持云原生,提供一键部署微服务集群与全新可视化控制台,提升全生命周期管理体验,助力企业高效构建云原生应用。
1148 25
|
8月前
|
运维 监控 Kubernetes
分布式系统太大管不过来?运维效率提升的那些真招实料
分布式系统太大管不过来?运维效率提升的那些真招实料
187 3
|
7月前
|
存储 运维 监控
57_大模型监控与运维:构建稳定可靠的服务体系
随着大语言模型(LLM)技术的快速发展和广泛应用,如何确保模型在生产环境中的稳定运行、高效服务和安全合规已成为企业和开发者面临的关键挑战。2025年,大模型服务已从实验室走向各行各业的核心业务流程,其运维复杂度也随之呈指数级增长。与传统软件系统不同,大模型服务具有参数规模庞大、计算密集、行为不确定性高等特点,这使得传统的运维监控体系难以满足需求。
1368 0
|
9月前
|
运维 Prometheus 监控
可观测性不是监控的马甲:运维团队到底该怎么升级?
可观测性不是监控的马甲:运维团队到底该怎么升级?
244 7
|
12月前
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备

热门文章

最新文章