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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【运维知识进阶篇】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年运维经验,持续分享运维干货,感谢大家的阅读和关注!

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
弹性计算 Ubuntu Linux
阿里云系统运维管理OOS一键安装宝塔面板,这个功能太牛了!
宝塔面板是实用的服务器管理工具,支持多种操作系统(如Ubuntu、CentOS等)。通过阿里云OOS可一键安装。安装前提包括ECS实例运行中且有公网,安全组需开放8888端口。安装步骤简单,进入ECS控制台选择预装应用并确认下单,完成后在控制台查看详情和登录信息。最后验证安装结果,确保能成功访问宝塔面板URL。
166 82
|
6月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
185 1
|
4月前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
277 56
|
2月前
|
监控 数据可视化 安全
Zabbix 主要功能特点
Zabbix 主要功能特点
86 8
|
3月前
|
开发工具 git 开发者
Git 作为最流行的分布式版本控制系统之一,为开发者提供了强大的功能和灵活的操作方式
本文深入介绍了 Git 中的 `git rebase` 操作,涵盖其基本概念、原理、与 `git merge` 的区别、具体操作步骤及应用场景,如保持提交历史整洁、解决合并冲突等,并讨论了其优缺点。强调在公共分支上谨慎使用 rebase,以避免潜在的风险。
47 6
|
5月前
|
存储
cephFS高可用分布式文件系统部署指南
关于如何部署高可用的cephFS分布式文件系统,包括集群的搭建、验证高可用性以及实现两主一从架构的详细指南。
214 9
|
6月前
|
监控 Cloud Native 容灾
核心系统转型问题之API网关在云原生分布式核心系统中的功能如何解决
核心系统转型问题之API网关在云原生分布式核心系统中的功能如何解决
|
5月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
92 0
|
6月前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
469 0
|
6月前
|
存储 运维 安全
多云网络部署存在挑战,F5分布式云应用简化方案解读
多云网络部署存在挑战,F5分布式云应用简化方案解读
77 0

推荐镜像

更多