当前位置: 首页 > news >正文

Zabbix分布式监控

目录

分布式监控架构

实现分布式监控的步骤

优点和应用场景

安装Zabbix_Proxy

Server端Web页面配置

测试 


 

Zabbix 的分布式监控架构允许在大规模和地理上分散的环境中进行高效的监控。通过分布式监控,Zabbix 可以扩展其监控能力,支持大量主机和设备,并提供高可用性和容错能力。

分布式监控架构

Zabbix 的分布式监控主要由以下几个组件组成:

  1. Zabbix Server

    • 核心组件,负责处理和存储监控数据、配置和报警。
    • 管理和协调所有代理和代理程序(proxies)。
  2. Zabbix Proxy

    • 中间组件,位于 Zabbix 服务器和被监控主机之间。
    • 收集被监控主机的数据并将其转发到 Zabbix 服务器。
    • 支持断线缓存,保证在网络连接恢复后数据不会丢失。
  3. Zabbix Agent

    • 部署在被监控主机上的轻量级代理程序。
    • 收集本地主机的监控数据并发送到 Zabbix 服务器或代理程序。
  4. Zabbix Web 界面

    • 提供给用户的管理界面,用户可以通过该界面进行配置、监控、报警管理等操作。

实现分布式监控的步骤

  1. 安装和配置 Zabbix Server

    • 安装 Zabbix Server,并进行基本的配置。
  2. 安装和配置 Zabbix Proxy

    • 安装 Zabbix Proxy,并进行基本配置。
    • 配置 Zabbix Proxy 与 Zabbix Server 之间的通信。
    • 在 Zabbix Server 的 Web 界面中添加并配置代理。
  3. 安装和配置 Zabbix Agent

    • 在被监控的主机上安装 Zabbix Agent。
    • 配置 Zabbix Agent,使其将监控数据发送到 Zabbix Proxy 或 Zabbix Server。
  4. 配置自动发现和模板

    • 使用自动发现规则自动发现网络中的新设备和服务。
    • 应用模板来标准化监控项、触发器和图形的配置。
  5. 设置报警和通知

    • 配置报警规则和动作,定义何时发送通知以及如何响应监控事件。

优点和应用场景

  • 扩展性:可以通过增加代理来扩展监控能力,适应大规模监控需求。
  • 容错性:代理可以在网络断开时缓存数据,并在网络恢复后发送到服务器,确保数据不丢失。
  • 地理分布:适用于需要跨多个地理位置进行监控的场景,通过代理分布在各地收集数据。
  • 安全性:通过代理减少直接连接到 Zabbix 服务器的主机数量,提高安全性。

安装Zabbix_Proxy

 新增一台虚拟机关闭防火墙和selinux,进行时间同步。

主机名IPC/S系统版本软件版本
localhost192.168.226.20Proxy端Rocky_linux9.4zabbix-Proxy6.4

1. 检查有无epel源

[root@localhost ~]# ll /etc/yum.repos.d/
total 32
-rw-r--r--. 1 root root 1142 Aug 28  2023 epel-cisco-openh264.repo
-rw-r--r--. 1 root root 1552 Aug 28  2023 epel-testing.repo
-rw-r--r--. 1 root root 1453 Aug 28  2023 epel.repo
-rw-r--r--. 1 root root 6610 May  1 08:29 rocky-addons.repo
-rw-r--r--. 1 root root 1165 May  1 08:29 rocky-devel.repo
-rw-r--r--. 1 root root 2387 May  1 08:29 rocky-extras.repo
-rw-r--r--. 1 root root 3417 May  1 08:29 rocky.repo

我这里有,因此要在epel标识符里加上excludepkgs=zabbix*  如何没有epel源的话跳过这步

[root@localhost ~]# vim /etc/yum.repos.d/epel.repo
[epel]
...
excludepkgs=zabbix*

  2. 安装Zabbix_Proxy6.4的仓库配置包

[root@localhost ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-2.el9.noarch.rpm
[root@localhost ~]# dnf clean all

 3. 安装

[root@localhost ~]# dnf install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy

4. 获取数据库安装包

注:本版本要使用msyql8.3以下的版本

MySQL :: Download MySQL Yum Repository

 5. 安装 

[root@localhost ~]# rpm -Uvh https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm

6. 关闭最新版的源,开启8.0的源

[root@localhost ~]# vim /etc/yum.repos.d/mysql-community.repo

7. 下载mysql

[root@localhost ~]#  yum install -y mysql-community-server mysql

 8. 修改mysql配置文件

[root@localhost ~]# vim /etc/my.cnf +5
skip_name_resolve = ON          # 跳过主机名解析,提高连接速度,特别是在DNS解析慢或不可靠的环境中
innodb_file_per_table = ON      # 为每个表使用单独的表空间文件,优化表空间管理和备份
innodb_buffer_pool_size = 256M  # 设置InnoDB缓冲池大小为256MB,用于缓存数据和索引,减少磁盘I/O,提高性能
max_connections = 2000          # 设置MySQL服务器允许的最大并发连接数为2000
log-bin = master-log            # 开启二进制日志记录,用于复制和恢复操作,日志文件名以master-log开头

 8. 启动mysql

[root@localhost ~]# systemctl enable --now mysqld

 9. 获取初始化密码,如果获取不到,可直接使用msyql命令登录尝试

[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log

10. 使用初始化密码更改新密码

[root@localhost ~]# mysqladmin -uroot -p'初始密码' password "Qaz123456+"
若无初始化密码则使用下述语句修改
[root@localhost ~]# mysqladmin -uroot password "Qaz123456+"

11. 登陆数据库操作

[root@localhost ~]# mysql -u root -p"Qaz123456+"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.38 MySQL Community Server - GPLCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.00 sec)mysql> create user zabbix@'%' identified by 'Qaz123456+';
Query OK, 0 rows affected (0.01 sec)mysql>  grant all privileges on zabbix_proxy.* to zabbix@'%';
Query OK, 0 rows affected (0.01 sec)mysql> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> quit;
Bye

12. 导入初始架构和数据,系统将提示输入新创建的密码。

[root@localhost ~]# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy

输入命令会提示你输入新密码,输入后等待导入即可。

13. 登录msyql查看zabbix库并进行设置

[root@localhost ~]# mysql -u root -p"Qaz123456+"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.38 MySQL Community Server - GPLCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> set global log_bin_trust_function_creators = 0;
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| zabbix_proxy       |
+--------------------+
5 rows in set (0.01 sec)mysql> quit
Bye

14. 为Zabbix proxy配置数据库

[root@localhost ~]# vim  /etc/zabbix/zabbix_proxy.conf
Server=192.168.226.28
Hostname=localhost
ProxyMode=1
DBHost=192.168.226.20
DBPassword=Qaz123456+
DBPort=3306
EnableRemoteCommands=1
LogRemoteCommands=1
ProxyConfigFrequency=30  #多长时间,去服务端拖一次有自己监控的操作配置;为了实验更快的生效,这里设置30秒,默认3600s
DataSenderFrequency=1  #每一秒向server 端发一次数据,发送频度

15. 启动Zabbix代理进程

[root@localhost ~]#  systemctl restart zabbix-proxy
[root@localhost ~]# systemctl enable zabbix-proxy

Server端Web页面配置

修改Agent端配置

来到客户端192.168.226.29

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.226.28,192.168.226.20    #给server对应的IP为服务端IP和代理端IP
ServerActive=192.168.226.28,192.168.226.20

重启Agent端 

[root@web1 ~]# systemctl restart zabbix-agent

测试 

回到server端的Web页面进行测试

在客户端有一个80端口的监控项,现在进行代理测试

更改主机

设置由代理检测 

现在看80端口的监控状态,并停止nginx再次观察,启动后再次观察图形,稍微有些延迟,等待观察

相关文章:

Zabbix分布式监控

目录 分布式监控架构 实现分布式监控的步骤 优点和应用场景 安装Zabbix_Proxy Server端Web页面配置 测试 Zabbix 的分布式监控架构允许在大规模和地理上分散的环境中进行高效的监控。通过分布式监控,Zabbix 可以扩展其监控能力,支持大量主机和设备…...

前端面试39(关于git)

针对前端开发者的Git面试题可以覆盖Git的基础概念、常用命令、工作流程、团队协作、以及解决冲突等方面。以下是一些具体的Git面试 Git基础知识 什么是Git? Git是一个分布式版本控制系统,用于跟踪计算机文件的更改,并协调多个人共同在一个项…...

13--memcache与redis

前言:数据库读取速度较慢一直是无法解决的问题,大型网站应对的方式主要是使用缓存服务器来缓解这种情况,减少数据库访问次数,以提高动态Web等应用的速度、提高可扩展性。 1、简介 Memcached/redis是高性能的分布式内存缓存服务器…...

QT学习日记一

创建QT文件步骤 这是创建之后widget.cpp和widget.h文件的具体代码解释,也是主要操作的文件,其中main.cpp不用操作,ui则是图形化操作界面,综合使用时,添加一个元件要注意重编名和编译一下,才能在widget这类…...

redhat7.x 升级openssh至openssh-9.8p1

1.环境准备: OS系统:redhat 7.4 2.备份配置文件: cp -rf /etc/ssh /etc/ssh.bak cp -rf /usr/bin/openssl /usr/bin/openssl.bak cp -rf /etc/pam.d /etc/pam.d.bak cp -rf /usr/lib/systemd/system /usr/lib/systemd/system.bak 3.安装…...

Spring Cloud Eureka

引入:远程调用时,url是写死的 String url "http://127.0.0.1:9090/product/" orderInfo.getProductId(); 解决思路: 比如(医院,学校等)机构的电话号码发生变化,就需要通知各个使⽤…...

threejs

1.场景清空,释放内容 // 假设你已经有一个Three.js的场景对象scene// 函数:清空场景中的所有对象 function clearScene(scene) {while(scene.children.length > 0){const object scene.children[0];if(object.isMesh) {// 如果有几何体和材质&#…...

将pytorch 模型封装为c++ api 例子

在 PyTorch 中,通常使用 Python 来定义和训练模型,但是可以将训练好的模型导出为 TorchScript,然后在 C 中加载和使用。以下是一个详细的过程,展示了如何将 PyTorch 模型封装成 C API: 步骤 1: 定义和训练模型&#x…...

珠宝迷你秤方案

珠宝迷你秤作为一种便携式电子称重设备,因其小巧、便携、精度高等特点,广泛应用于各种需要精确称重的场景。可能这个目前在国内使用的人比较少,但在西方国家珠宝迷你秤却是可以用来送礼的物品。因为珠宝迷你秤的外观跟手机外观大多相似&#…...

边缘概率密度、条件概率密度、边缘分布函数、联合分布函数关系

目录 二维随机变量及其分布离散型随机变量连续型随机变量边缘分布边缘概率密度举例边缘概率密度 条件概率密度边缘概率密度与条件概率密度的区别边缘概率密度条件概率密度举个具体例子 参考资料 二维随机变量及其分布 离散型随机变量 把所有的概率,都理解成不同质量…...

软件架构之系统分析与设计方法(2)

软件架构之系统分析与设计方法(2) 8.4 面向对象的分析与设计8.4.1 面向对象的基本概念8.4.2 面向对象分析8.4.3 统一建模语言 8.5 用户界面设计8.5.1 用户界面设计的原则8.5.2 用户界面设计过程 8.6 工作流设计8.6.1 工作流设计概述8.6.2 工作流管理系统 8.7 简单分…...

AD确定板子形状

方法1 修改栅格步进值,手动绘制 https://cnblogs.com/fqhy/p/13768031.html 方法2 器件摆放确定板子形状 https://blog.csdn.net/Mark_md/article/details/116445961...

CSS【详解】边框 border,边框-圆角 border-radius,边框-填充 border-image,轮廓 outline

边框 border border 是以下三种边框样式的简写: border-width 边框宽度 —— 数值 px(像素),thin(细),medium(中等),thick(粗)border-style 边框线型 —— none【默认值…...

Error: EBUSY: resource busy or locked, rmdir...npm install执行报错

Error: EBUSY: resource busy or locked, rmdir...npm install执行报错 你一个文件夹目录开了两个cmd命令行(或者powershell),关掉一个就好了。...

Hot100-排序

1.快排 215. 数组中的第K个最大元素 - 力扣(LeetCode) (1)第k大的元素在排序数组中的位置是nums.length - k。 假设我们有一个数组nums [3, 2, 1, 5, 6, 4],并且我们想找到第2大的元素。 步骤 1:排序数…...

树链剖分相关

树链剖分这玩意儿还挺重要的,是解决静态树问题的一个很好的工具~ 这里主要介绍一下做题时经常遇到的两个操作: 1.在线求LCA int LCA(int x,int y){while(top[x]!top[y])if(dep[top[x]]>dep[top[y]]) xfa[top[x]];else yfa[top[y]];return dep[x]&l…...

如何将Grammarly内嵌到word中(超简单!)

1、下载 安装包下载链接见文章结尾 官网的grammarly好像只能作为单独软件使用,无法内嵌到word中🧐🧐🧐 2、双击安装包(安装之前把Office文件都关掉) 3、安装完成,在桌面新建个word文件并打开 注…...

OTG -- 用于FPGA的ULPI接口芯片USB3320讲解(续)

目录 1 背景 2 USB3320在FPGA上的应用 1 背景 最近使用FPGA驱动USB PHY实现高速USB功能,为了方便,购买了一块微雪的USB3300子板,发现怎么都枚举不了,使用逻辑分析仪抓取波形,和STM32F407USB3300波形进行对比&#xf…...

了解劳动准备差距:人力资源专业人员的战略

劳动准备差距是一个紧迫的问题,在全球人事部门回应,谈论未开发的潜力和错过的机会。想象一下,人才和需求之间的悬崖之间有一座桥,这促使雇主思考:我们是否为员工提供了足够的设备来应对未来的考验? 这种不…...

SAP PS学习笔记02 - 网络,活动,PS文本,PS文书(凭证),里程碑

上一章讲了PS 的概要,以及创建Project,创建WBS。 SAP PS学习笔记01 - PS概述,创建Project和WBS-CSDN博客 本章继续讲PS的后续内容。包括下面的概念和基本操作,以及一些Customize: - 网络(Network&#xf…...

Github 2024-07-07php开源项目日报 Top9

根据Github Trendings的统计,今日(2024-07-07统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目9Blade项目2JavaScript项目1Laravel:表达力和优雅的 Web 应用程序框架 创建周期:4631 天开发语言:PHP, BladeStar数量:75969 个Fork数…...

算法训练(leetcode)第二十六天 | 452. 用最少数量的箭引爆气球、435. 无重叠区间、763. 划分字母区间

刷题记录 452. 用最少数量的箭引爆气球思路一思路二 435. 无重叠区间763. 划分字母区间 452. 用最少数量的箭引爆气球 leetcode题目地址 思路一 先按起始坐标从小到大排序。排序后找交集并将交集存入一个数组中,遍历气球数组从交集数组中找交集,找到与…...

Ubuntu 下 Docker安装 2024

Ubuntu 下 Docker安装 2024 安装1.卸载老版本2.更新apt包索引3.安装必要工具包4.添加Docker GPG秘钥5.配置仓库源6.安装Docker Engine7.启动docker 国内镜像源下架的解决办法1.修改文件 /etc/docker/daemon.json2.换源3.查看是否换源成功4.重启 安装 1.卸载老版本 sudo apt-ge…...

发送者的可靠性

这篇文章是了解MQ消息的可靠性,即:消息应该至少被消费者处理1次 那么问题来了: 我们该如何确保MQ消息的可靠性?如果真的发送失败,有没有其它的兜底方案? 首先,我们一起分析一下消息丢失的可能…...

Profibus_DP转ModbusTCP网关模块连马保与上位机通讯

Profibus转ModbusTCP网关模块(XD-ETHPB20)广泛应用于工业自动化领域。例如,可以将Profibus网络中的传感器数据转换为ModbusTCP协议,实现数据的实时监控和远程控制。本文介绍了如何利用Profibus转ModbusTCP网关(XD-ETHP…...

移动应用:商城购物类,是最常见的,想出彩或许就差灵犀一指

在移动应用中,商城购物类的非常常见,模式也非常成熟,想要设计的出彩也是有难度的,这次分享一些不同的。...

linux 查看历史命令列表来访问之前的内容的命令是:history

在Linux中,要查看历史命令列表以访问之前的内容,你可以使用history命令。这个命令会显示你当前shell会话(或者,如果你指定了参数,可能是所有会话)中执行过的命令列表。 基本用法 简单地输入history并按下…...

NAS免费用,鲁大师 AiNAS正式发布,「专业版」年卡仅需264元

7月10日,鲁大师召开新品发布会,正式发布旗下以“提供本地Ai部署和使用能力以及在线NAS功能”并行的复合软件产品:鲁大师 AiNAS。 全新的鲁大师 AiNAS将持续满足现如今大众对于数字化生活的全新需求,将“云存储”的便捷与NAS的大容…...

spring监听事件

1、spring-监听事件基本原理 Spring的事件监听机制和发布订阅机制是很相似的:发布了一个事件后,监听该类型事件的所有监听器会触发相应的处理逻辑 2、Spring 监听事件相关规范 在Spring中,事件监听机制主要涉及到了一下几个关键的规范&#x…...

微软发布E2 TTS: 一种简单但效果优秀的文本转语音技术

本文介绍了一种名为“Embarrassingly Easy Text-to-Speech(E2 TTS)”的文本转语音系统。 该系统通过将输入文本转换为填充标记字符序列,并基于音频填充值任务训练流匹配基mel频谱生成器,实现了人类水平的自然度和最先进的说话人相…...

漯河网站优化/成功营销案例分享

一、分析什么是顺序表?顺序表是指用一组地址连续的存储单元依次存储各个元素,使得在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中的线性表。一个标准的顺序表需要实现以下基本操作:1、初始化顺序表2、销毁顺序表3、清空顺序表4、检测…...

集团公司网站建设方案/百度搜索榜排名

原文摘要描述17. Business Drives by Dave Muirhead【业务决定技术】为了建设一个系统,架构师必须把技术部门和业务部门团结在一起。但要明白二者的立场是不同的,避免技术人员作出业务决策。建造系统通常都是讲求投资回报的,从开工到投产…...

刘素云网站脱孝怎样做/企业推广网

点击菜单栏“粉丝福利”拿小度,兑手机!在Java中,想必所有人都不会对main方法感到陌生,main方法是Java应用程序的入口方法。程序运行时,要执行的第一个方法就是main方法。在使用Java写下第一个hello world的时候&#x…...

周到的宁波网站建设/怎么制作网页教程

调用实例: 该方法将本地的E盘文件test.doc上传到接口服务器上的 uploadFile方法中,uploadFile会对上传的文件做进一步处理。 若你想自己对上传的文件做操作,将接口uploadFile改为自己写好的方法就行了。 CURL方法如下: public fun…...

wordpress 微语/seo推广排名重要吗

A<-na.omit(A)A可以是vector(list),data frame或matrix。如果A是data frame或matrix&#xff0c;则同一行如果有一个NA&#xff0c;这一行都会被删除。转载于:https://blog.51cto.com/tao975/1391217...

投资理财产品的网站建设/2021年网络营销考试题及答案

引言 在日常开发工作中&#xff0c;多线程开发可以说是必备技能&#xff0c;好的程序员是一定要对线程这块有深入了解的&#xff0c;我是Java程序员&#xff0c;并且Java语言本身对于线程开发的支持是非常成熟的&#xff0c;所以今天我们就来入个门&#xff0c;学一下Java怎么创…...