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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 【运维知识进阶篇】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 
目录
相关文章
|
3月前
|
监控 应用服务中间件 nginx
基于Zabbix的SLA监控体系构建与实践
本文由Zabbix社区专家褚凤彬分享,详解SLA在Zabbix中的应用。通过Trigger与Service联动,构建Web应用的多层级监控体系,并介绍SLA计算规则、维护期处理及升级注意事项,助力企业精准掌控服务可用性。
458 36
|
5月前
|
运维 监控 NoSQL
分布式不是“分布痛”吗?说说那些年我踩过的运维坑和总结的血泪经验
分布式不是“分布痛”吗?说说那些年我踩过的运维坑和总结的血泪经验
183 0
|
7月前
|
存储 负载均衡 算法
zk基础—4.zk实现分布式功能
本文详细介绍了基于 ZooKeeper(ZK)实现分布式系统中的多种核心功能,包括数据发布订阅、负载均衡、分布式命名服务、Master-Worker 协调、分布式通信、Master 选举、分布式锁及分布式队列与屏障的实现。每部分均包含原理说明和具体代码示例,展示了 ZK 在分布式环境下的协调能力与应用场景。
|
4月前
|
运维 监控 Kubernetes
分布式系统太大管不过来?运维效率提升的那些真招实料
分布式系统太大管不过来?运维效率提升的那些真招实料
138 3
|
8月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3027 57
|
11月前
|
Java 关系型数据库 MySQL
新一代 Cron-Job分布式任务调度平台 部署指南
简单易用、超低延迟,支持用户权限管理、多语言客户端和多租户接入的分布式任务调度平台。 支持任何Cron表达式的任务调度,支持常用的分片和随机策略;支持失败丢弃、失败重试的失败策略;支持动态任务参数。
392 101
|
9月前
|
SQL 数据可视化 网络安全
YashanDB分布式可视化部署
本文介绍YashanDB的分布式部署流程,涵盖服务端安装、数据库基本信息与服务器配置、节点信息设置、建库参数调整、环境变量配置及安装结果检查等步骤。通过可视化Web界面操作,详细说明了各环节配置方法和注意事项,确保用户顺利完成数据库集群的搭建与初始化设置。适用于需要分布式数据库部署的场景,提供全面的操作指导。
YashanDB分布式可视化部署
|
7月前
|
运维 监控 Linux
WGCLOUD运维平台的分布式计划任务功能介绍
WGCLOUD是一款免费开源的运维监控平台,支持主机与服务器性能监控,具备实时告警和自愈功能。本文重点介绍其计划任务功能模块,可统一管理Linux和Windows主机的定时任务。相比手动配置crontab或Windows任务计划,WGCLOUD提供直观界面,通过添加cron表达式、执行指令或脚本并选择主机,即可轻松完成任务设置,大幅提升多主机任务管理效率。
|
9月前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
482 8
|
10月前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
本文由仁励家网络科技(杭州)有限公司架构师赵云兴、葛志刚撰写,探讨了公司在优化HR SaaS解决方案时遇到的系统资源浪费和运维成本高的问题。通过引入Koupleless框架,成功将模块体积从500M缩减至5M以下,部署时间从6分钟缩短至3分钟,并大幅节省服务器资源。文章详细介绍了Koupleless的部署方案及优化措施,感谢Koupleless团队的专业支持,使人力家实现了多应用合并部署,降低了运维成本。
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!

推荐镜像

更多