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

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
19天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
99 3
|
17天前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
55 7
|
16天前
|
数据采集 存储 监控
公司监控软件:基于 PHP 的分布式监控系统设计
本文介绍了基于 PHP 的分布式监控系统的设计与实现。该系统包括监控节点、数据采集模块、数据传输模块和监控中心,能够高效地收集、传输和分析各节点的数据,确保系统的稳定运行和安全防护。通过示例代码展示了数据采集、传输及存储的具体实现方法,并强调了安全与可靠性的重要性。
36 3
|
20天前
|
消息中间件 数据采集 运维
一份运维监控的终极秘籍!监控不到位,宕机两行泪
【10月更文挑战第25天】监控指标的采集分为基础监控和业务监控。基础监控涉及CPU、内存、磁盘等硬件和网络信息,而业务监控则关注服务运行状态。常见的监控数据采集方法包括日志、JMX、REST、OpenMetrics等。Google SRE提出的四个黄金指标——错误、延迟、流量和饱和度,为监控提供了重要指导。错误监控关注系统和业务错误;延迟监控关注服务响应时间;流量监控关注系统和服务的访问量;饱和度监控关注服务利用率。这些指标有助于及时发现和定位故障。
60 1
|
1月前
|
运维 Prometheus 监控
运维之眼:监控的艺术与实践
在信息技术飞速发展的今天,运维监控已成为保障系统稳定运行的关键。本文将探讨运维监控的重要性,介绍常用的监控工具和方法,并通过实际案例分析,展示如何有效地实施监控策略,以确保系统的高可用性和性能。
|
1月前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
51 1
|
1月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
1月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
53 2
|
18天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
85 0
|
6月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!

推荐镜像

更多