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 - GPL

Copyright (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 - GPL

Copyright (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再次观察,启动后再次观察图形,稍微有些延迟,等待观察

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/784770.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android - 云游戏本地悬浮输入框实现

一、简述 云游戏输入法分两种情况,以云化原神为例,分为 云端输入法 和 本地输入法,运行效果如下: 云端输入法本地输入法云端输入法 就是运行在云端设备上的输入法,对于不同客户端来说(Android、iPhone),运行效果一致。 本地输入法 则是运行在用户侧设备上的输入法,对…

WordPress开发进群V2主题源码,多种引流方法,引私域二次变现

WordPress开发进群V2主题源码,多种引流方法,引私域二次变现 全新前端UI界面,多种前端交互特效让页面不再单调,进群页面群成员数,群成员头像名称,每次刷新页面随机更新不重复,最下面评论和点赞也…

C语言编程3:运算符,运算符的基本用法

C语言3🔥:运算符,运算符的基本用法 一、运算符🌿 🎇1.1 定义 运算符是指进行运算的动作,比如加法运算符"“,减法运算符”-" 算子是指参与运算的值,这个值可能是常数&a…

4.动态SQL(if,choose,where,set,trim,foreach遍历)的使用+$和#的区别

文章目录 动态sql一、动态sql1.if条件判断2、choose、when、otherwise3、where标签4、set标签5、trim标签1)替代where标签效果2) 生成set标签效果 6、foreach迭代遍历1)属性 7.SQL标签-提取重用的SQL代码片段8、bind标签9.MyBatis中${}和#{}的区别: 动态sql 一、动态sql 常见…

React -- useState状态更新异步特性——导致获取值为旧值的问题

useState状态异步更新 问题导致的原因解决办法进一步分析后续遇到的新问题 问题 const [isSelecting, setIsSelecting] useState(false);useEffect(() > {const handleKeyDown (event) > {if (event.key Escape) {if(isSelectingRef){//.......setIsSelecting(!isSele…

js使用proxy代理监听控制事件

本文为proxy代理的实例应用,有关代理的内容可以参考: js语法---理解反射Reflect对象和代理Proxy对象 监听事件 要监听dom元素的事件,我们会采用回调触发的方式来执行操作, 而触发事件的过程很明显是一个异步操作,异…

Oracle中EXIT Statement用于终止循环语句的关键字

Oracle的EXIT Statement是PL/SQL编程语言中用于终止循环语句的关键字。它有两种主要形式:无条件EXIT和条件EXIT WHEN。以下是对Oracle EXIT Statement的详细解释: 1. 无条件EXIT 语法:EXIT; 作用:无条件地终止当前循环。当程序执…

【咨询】企业数字档案馆(室)建设方案-模版范例

导读:本模版来源某国有大型医药行业集团企业数字档案馆(室)建设方案(一期300W、二期250W),本人作为方案的主要参与者,总结其中要点给大家参考。 目录 1、一级提纲总览 2、项目概述 3、总体规…

办公必备——ONLYOFFICE8.1版本桌面编辑器

一、介绍ONLYOFFICE ONLYOFFICE是一款免费的开源办公软件,它可以让你创建、编辑和分享文档、表格和演示文稿。就像微软的Office一样,但它是完全免费的,而且可以在多种设备上使用,包括电脑和手机。它还支持多人同时在线编辑文档&am…

SpringCloud 负载均衡

目录 一、负载均衡 1、问题 2、什么是负载均衡 服务端负载均衡 客户端负载均衡 二、Spring Cloud LoadBalance 1、使用 Spring Cloud LoadBalance 2、负载均衡策略 3、LoadBalancer 原理 一、负载均衡 1、问题 我们来看一下前面写的代码&#xff1a; List<Serv…

抖音矩阵云剪系统saas源码 短视频矩阵获客管理系统

2024抖音矩阵云混剪系统是一款专业的短视频营销管理工具。该系统支持多平台多账号的集中式管理&#xff0c;并实现一键式作品发布功能。它配备了智能标题生成和关键词优化工具&#xff0c;以及排名查询机制&#xff0c;帮助用户提升内容在平台上更好的矩阵管理. 智能剪辑 托管发…

java中 使用数组实现需求小案例

Date: 2024.04.08 18:32:57 author: lijianzhan 需求实现&#xff1a; 设计一个java类&#xff0c;java方法&#xff0c;根据用户手动输入的绩点&#xff0c;从而获取到绩点最高的成绩。 实现业务逻辑的代码块 import java.util.Scanner;public class PointDemo {/*** 需求&…

Python 如何实现数据驱动的接口自动化测试

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 大家在接口测试的过程中&#xff0c;很多时候会用到对CSV的读取操作&#xff0c;本文主要说明Pyt…

【Java]认识泛型

包装类 在Java中&#xff0c;由于基本类型不是继承自Object&#xff0c;为了在泛型代码中可以支持基本类型&#xff0c;Java给每个基本类型都对应了一个包装类型。 除了 Integer 和 Character&#xff0c; 其余基本类型的包装类都是首字母大写。 泛型 泛型是在JDK1.5引入的…

spring boot 3.x版本中集成spring security 6.x版本进行实现动态权限控制解决方案

一、背景 最近在进行项目从jdk8和spring boot 2.7.x版本技术架构向jdk17和spring boot 3.3.x版本的代码迁移&#xff0c;在迁移过程中&#xff0c;发现spring boot 3.3.x版本依赖的spring security版本已经升级6.x版本了&#xff0c;语法上和spring security 5.x版本有很多地方…

AntV X6 图编辑引擎速通

前言&#xff1a;参考 [AntV X6 官网](https://x6.antv.antgroup.com/) 一、简介 X6 可以快速搭建 DAG 图、ER 图、流程图、血缘图等应用。 二、快速上手 1. 安装 npm install antv/x6 --save# oryarn add antv/x6# orpnpm add antv/x6 2. 使用 2.1 初始画布 在页面中创…

【Linux进阶】文件系统3——目录树,挂载

前言 在Windows 系统重新安装之前&#xff0c;你可能会事先考虑&#xff0c;到底系统盘C盘要有多大容量&#xff1f;而数据盘D盘又要给多大容量等&#xff0c;然后实际安装的时候&#xff0c;你会发现其实C盘之前会有个100MB的分区被独立出来&#xff0c;所以实际上你就会有三个…

Java进阶----继承

继承 一.继承概述 继承是可以通过定义新的类&#xff0c;在已有类的基础上扩展属性和功能的一种技术. 案例&#xff1a;优化 猫、狗JavaBean类的设计 狗类&#xff1a;Dog 属性&#xff1a;名字 name&#xff0c;年龄 age 方法&#xff1a;看家 watchHome()&#xff0c;Gett…

QT5.12.9 通过MinGW64 / MinGW32 cmake编译Opencv4.5.1

一、安装前准备&#xff1a; 1.安装QT,QT5.12.9官方下载链接&#xff1a;https://download.qt.io/archive/qt/5.12/5.12.9/ QT安装教程&#xff1a;https://blog.csdn.net/Mark_md/article/details/108614209 如果电脑是64位就编译器选择MinGW64&#xff0c;32位就选择MinGW…

C#描述-计算机视觉OpenCV(5):直方图算法

C#描述-计算机视觉OpenCV&#xff08;5&#xff09;&#xff1a;直方图算法 前文链接图像直方图灰度直方图的计算灰度直方图的绘制BGR三通道的直方图直方图的均衡化算法相似图像检测 前文链接 文中没提到的东西&#xff0c;很可能都在前文描述过 C#描述-计算机视觉OpenCV&…