《Zabbix Proxy分布式监控实战:从安装到配置全解析》

注意:实验所需的zabbix服务器的搭建可参考博客

zabbix 的docker安装_docker安装zabbix-CSDN博客

1.1 实验介绍

1.1.1 实验目的

本实验旨在搭建一个基于Zabbix的监控系统,通过安装和配置Zabbix Proxy、MySQL数据库以及Zabbix Agent,实现分布式监控环境的部署。实验的主要目标是:

  1. 安装并配置Zabbix Proxy与MySQL数据库的集成。

  2. 配置Zabbix Server与Proxy的通信。

  3. 部署Zabbix Agent并验证其与Zabbix Proxy的连接。

  4. 通过Zabbix Web界面管理监控主机和代理。

1.1.2 实验环境
  • 操作系统:CentOS 7(或其他RHEL 7兼容系统)

  • 软件组件

    • Zabbix Proxy 5.2.6(MySQL版)

    • MySQL 8.0

    • Zabbix Agent 5.2.6

  • 工具:Navicat(用于远程管理MySQL)、Docker(可选,用于Zabbix Server端)

1.1.2 实验步骤概述
  1. Zabbix Proxy安装

    • 解决MySQL密钥问题,安装Zabbix Proxy的MySQL版本。

    • 更新数据源并验证安装。

  2. MySQL安装与配置

    • 卸载旧版本MySQL/MariaDB,安装MySQL 8.0。

    • 配置远程访问、修改密码认证方式(mysql_native_password)。

    • 创建Zabbix Proxy所需的数据库并导入表结构。

  3. Zabbix Proxy配置

    • 修改配置文件(zabbix_proxy.conf),指定Zabbix Server IP、数据库连接等参数。

    • 启动服务并验证运行状态。

  4. Zabbix Server端配置

    • 调整Zabbix Server配置文件(zabbix_server.conf),启用代理轮询。

    • 在Web界面添加代理程序。

  5. Zabbix Agent部署

    • 在客户端安装Agent,修改配置文件指向Zabbix Proxy或Server。

    • 通过Web界面添加主机并测试监控数据采集。

1.2 环境安装

1.2.1 zabbix-proxy安装

先解决mysql秘钥问题

sudo curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023 https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
# 导入到 RPM 数据库sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023

安装(可能会有一点报错但是只要安装成功就没太大问题)

yum install -y https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.2/rhel/7/x86_64/zabbix-proxy-mysql-5.2.6-1.el7.x86_64.rpm

更新数据源

sudo yum clean all
sudo yum makecache

1.2.2 mysql安装

卸载旧版本

# 查看已安装的 MariaDB/MySQL 包
sudo rpm -qa | grep mariadb
sudo rpm -qa | grep mysql# 卸载相关包(根据实际查询结果替换包名)
sudo yum remove mariadb-libs-* mysql-*

显示以下结果为卸载干净

添加 MySQL 8.0 Yum 仓库

sudo yum install -y wget
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm

安装仓库 RPM 包

sudo rpm -ivh mysql80-community-release-el7-6.noarch.rpm

验证仓库是否添加成功

yum repolist enabled | grep "mysql.*-community.*"

安装 MySQL 服务

出现异常

禁用秘钥

sudo yum install mysql-community-server --nogpgcheck

用后再次安装

sudo yum install -y mysql-community-server

验证版本

mysqld --version

启动 MySQL 服务

获取临时 root 密码

sudo grep 'temporary password' /var/log/mysqld.log:?AH6vdA>et:

运行安全配置向导

sudo mysql_secure_installation新密码:Passw@rd123

配置远程访问(可选)

mysql -u root -p
Passw@rd123
use mysql;
select host,user from user;创建远程登陆用户
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Passw@rd123';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Passw@rd123';

Navicat进行远程登陆

修改mysql密码认证

避免后续出现:connection to database 'zabbix_proxy' failed: [2059] Authentication plugin 'caching_sha2_password' 的错误

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Passw@rd123';ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Passw@rd123';FLUSH PRIVILEGES;

重启

sudo systemctl restart mysqld

1.2.3 配置文件

创建数据库(可以命令创建也可以在navicat里面直接添加数据库)

create database zabbix_proxy character set utf8 collate utf8_bin;

查看数据库是否创建成功

show databases;

导入sql文件

zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uroot -pPassw@rd123 zabbix_proxy

查看已导入的zabbix_proxy里的表 ,一共170张

远程查看导入的表,也是一共170张 

如果导入时报错

可能是因为刚开始的安装时落下了某个依赖,可以重新执行安装命令

yum install -y https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.2/rhel/7/x86_64/zabbix-proxy-mysql-5.2.6-1.el7.x86_64.rpm

配置代理服务文件/etc/zabbix/zabbix_proxy.conf

vim /etc/zabbix/zabbix_proxy.confServer=10.1.1.92    #zabbix服务器的ip
Hostname=nanji_server 
LogFile=/var/log/zabbix/zabbix_proxy.log 
LogFileSize=0 
PidFile=/var/run/zabbix/zabbix_proxy.pid 
SocketDir=/var/run/zabbix 
DBHost=localhost 
DBName=zabbix_proxy 
DBUser=root
DBPassword=Passw@rd123
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log 
Timeout=4 
ExternalScripts=/usr/lib/zabbix/externalscripts 
LogSlowQueries=3000 
StatsAllowedIP=127.0.0.1

重启并查看

systemctl start zabbix-proxy.service 
systemctl enable zabbix-proxy.service
ps -ef | grep zabbix

如果如下启动失败,可查看日志

日志默认一般的存放位置

配置服务器端10.1.1.92       

vi /etc/zabbix/zabbix_server.conf

LogType=console
DBHost=zabbix-mysql
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
User=zabbix
JavaGateway=zabbix-java-gateway
JavaGatewayPort=10052
StartJavaPollers=20
StartProxyPollers=5

1.2.4 配置web

创建代理程序

配置客户端

停止客户端的容器,并删除全部停止的容器,最后清空/opt目录

安装agent服务

# 下载 RPM 包
wget https://mirrors.aliyun.com/zabbix/zabbix/5.2/rhel/7/x86_64/zabbix-agent-5.2.6-1.el7.x86_64.rpm# 安装(自动解决依赖)
yum localinstall zabbix-agent-5.2.6-1.el7.x86_64.rpm

修改conf文件

cd /etc/zabbix/
ls
vi zabbix_agentd.conf

主机名:Zabbix server

重启并查看

systemctl start zabbix-agent
systemctl enable zabbix-agent
ps -ef |grep zabbix

1.2.5 web端测试

创建主机,勾选代理

如果想要快一点刷新状态,可去服务端重启mysql

docker compose restart zabbix-server-mysql

查看代理

1.3 实验结论

1.3.1 成果总结
  1. Zabbix Proxy与MySQL成功集成

    • 通过解决MySQL密钥问题和依赖冲突,完成了Zabbix Proxy的安装。

    • 数据库zabbix_proxy的170张表结构成功导入,验证了Proxy与MySQL的兼容性。

  2. 分布式监控架构实现

    • Zabbix Proxy作为中间层,减轻了Server的负载,并通过配置文件正确连接到Server(IP: 10.1.1.92)。

    • 代理程序在Web界面中显示为“已启用”,表明通信正常。

  3. 客户端监控部署

    • Zabbix Agent安装后,通过配置文件和Web界面绑定到代理,实现了主机的快速注册和监控。

    • 通过重启服务端MySQL容器加速状态刷新,验证了监控数据的实时性。

1.3.2 问题与解决
  • MySQL安装异常:因GPG密钥检查失败,通过--nogpgcheck参数绕过并完成安装。

  • 数据库认证错误:将默认的caching_sha2_password改为mysql_native_password,解决了Zabbix Proxy连接MySQL的兼容性问题。

  • 表导入失败:重新安装zabbix-proxy-mysql依赖后成功导入SQL文件。

1.3.3 实验意义

本实验验证了Zabbix分布式监控方案的可行性,通过Proxy分担Server压力,适合大规模网络环境。同时,熟悉了MySQL 8.0与Zabbix组件的配置要点,为后续复杂监控场景(如多机房、云环境)奠定了基础。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

泛型设计模式实践

学海无涯,志当存远。燃心砺志,奋进不辍。 愿诸君得此鸡汤,如沐春风,事业有成。 若觉此言甚善,烦请赐赞一枚,共励学途,同铸辉煌! 为解决在设计框架或库时遇到的类型安全问题&#xff…

【kafla扫盲】FROM GPT

Kafka 扫盲指南:分布式流处理利器 Apache Kafka 是一个分布式流处理平台,最早由 LinkedIn 开发,后来开源并捐赠给 Apache 基金会。Kafka 专为高吞吐量、低延迟的实时数据流处理而设计,广泛用于日志收集、实时分析、消息队列、流处…

每天五分钟深度学习框架pytorch:视觉工具包torchvison

本文重点 在pytorch深度学习框架中,torchvision是一个非常优秀的视觉工具包,我们可以使用它加载一些著名的数据集,然后我们可以使用它来加载网络模型,比如vgg,resnet等等,还可以使用它来预处理一些图片数据,本节课程我们将学习一下它的使用方式。 torchvision的四部分…

操作系统 第2章节 进程,线程和作业

一:多道程序设计 1-多道程设计的目的 for:提高吞吐量(作业道数/处理时间),我们可以从提高资源的利用率出发 2-单道程序设计缺点: 设备的利用率低,内存的利用率低,处理机的利用率低 比如CPU去访问内存,CPU空转.内存等待CPU访问也是没有任何操作的.要是有多个东西要去访问不冲…

位移监测仪,精准测量,专业守护

地质灾害如滑坡、泥石流、地面沉降等具有突发性强、破坏性大的特点,传统人工巡查方式存在效率低、时效性差等缺陷。对人类生命财产构成严重威胁,因此需要实时、精准的位移监测手段。地质灾害监测预警系统集成了多种传感器,对地表及地下形变进…

dropout层

从你提供的图片来看,里面讨论了 Dropout 层,让我为你解释一下它的工作原理和作用。 Dropout 层是什么? Dropout 是一种常用的正则化技术,用于避免神经网络的 过拟合(overfitting)。过拟合是指模型在训练数…

C++八股 —— vector底层

vector底层为动态数组 类构成 class vector : protected _Vector_base_Vector_base: _M_start:容器元素开始的位置_M_finish:容器元素结束的位置_M_end_of_storage:动态内存最后一个元素的下一个位置 构造函数 无参构造 根据性能优先规则&a…

LLM量化方法:ZeroQuant、LLM.int8()、SmoothQuant、GPTQ、AWQ

文章目录 TLDR;量化分类量化时机量化粒度ZeroQuant: Efficient and Affordable Post-Training Quantization for Large-Scale Transformers细粒度硬件感知量化低成本逐层知识蒸馏(Layer-by-layer Knowledge Distillation, LKD) LLM.int8(): 8-bit Matrix…

SIGIR 2025端到端生成式推荐ETEGRec

文章目录 1. 背景2. 方法2.1 框架图2.2 问题定义2.3 Item Tokenizer2.4 Generative Recommender2.5 ⭐️Sequence-Item Alignment2.6 ⭐️Preference-Semantic Alignment2.7 交替优化 3. 总结 现阶段 GRM 大多是两阶段的模型,第一阶段进行内容理解-行为语义对齐&…

STM32CubeMX安装及使用分享

说是教程,属实是不敢当,只是把自己觉得较为正式的方式分享给各位,如有问题请提出大家一起讨论。 文章目录 软件下载软件安装软件使用开发板工程单片机工程单片机工程创建单片机工程配置界面单片机工程具体配置引脚功能配置系统时钟配置工程配…

MySQL报错解决过程

我在调试datagrip的时候,显示拒绝连接,开始的时候,我以为只是服务没有开启,结果到后来在网上搜索各种解决办法无果后,就选择卸载,卸载之后安装新的MySQL 以下就是我的解决过程。 如果只是在使用外置软件&…

动态规划-62.不同路径-力扣(LeetCode)

一、题目解析 机器人只能向下或向左,要从Start位置到Finish位置。 二、算法原理 1.状态表示 我们要求到Finish位置一共有多少种方法,记Finish为[i,j],此时dp[i,j]表示:到[i,j]位置时,一共有多少种方法,满…

Qt开发:项目视图(Item Views)的介绍和使用

文章目录 一、清单视图(List View)1.1 基本概念1.2 使用示例(文字列表)1.3 图标文字(图标模式)1.4 常用设置1.5 完整示例 二、树视图(Tree View)2.1 基本概念2.2 常用类简介2.3 快速…

GoWeb开发(基础)

Go(Golang)是一种高效、简洁的编程语言,特别适合Web开发。以下是详细的Go Web开发指南,涵盖从基础到进阶的内容。 --- 一、Go Web开发基础 1. 标准库 net/http Go 内置 net/http 包,支持快速构建 Web 服务。 - 基本示…

GSENSE2020BSI sCMOS科学级相机主要参数及应用场景

GSENSE2020BSI sCMOS科学级相机是一款面向宽光谱成像需求的高性能科学成像设备,结合了背照式(Back-Side Illuminated, BSI)CMOS技术与先进信号处理算法,适用于天文观测、生物医学成像、工业检测等领域。以下是其核心特点及技术细节…

【日撸 Java 三百行】Day 9(While语句)

目录 Day 9:While 语句的基本使用方法 一、基础知识及案例分析 二、代码及测试 拓展:流程控制语句专题补充 小结 Day 9:While 语句的基本使用方法 Task: while 语句本质上比 for 更基础, 因此可以替代后者. 但 for 在很多时候…

React 第三十七节 Router 中 useOutlet Hook的使用介绍以及注意事项

React Router 中的 useOutlet 是 v6 版本新增的 Hook&#xff0c;用于在父路由组件中访问当前嵌套的子路由元素。它提供了比 <Outlet> 组件更灵活的控制方式&#xff0c;适合需要根据子路由状态进行动态处理的场景。 一、useOutlet的基本用法 import { useOutlet } fro…

TDengine 在智慧油田领域的应用

简介 智慧油田&#xff0c;亦称为数字油田或智能油田&#xff0c;是一种采用尖端信息技术与先进装备的现代油田开发模式。该模式通过实时更新油气田层析图及动态生产数据&#xff0c;显著提高了油气田的开发效率与经济价值。 信息技术在此领域发挥着至关重要的作用&#xff0…

关于AI 大数据模型的基础知识 杂记

一、LM Studio LM Studio下载地址&#xff1a;LM Studio - Discover, download, and run local LLMshttps://lmstudio.ai/LM Studio是使用electron架构&#xff0c;引用的llama.cpp库。 下载后的模型存储于 /User/Admin/.lmstudio/models中。 二、llama.cpp库下载地址 llam…

2025数维杯数学建模竞赛B题完整参考论文(共38页)(含模型、代码、数据)

2025数维杯数学建模竞赛B题完整参考论文 目录 摘要 一、问题重述 二、问题分析 三、模型假设 四、定义与符号说明 五、 模型建立与求解 5.1问题1 5.1.1问题1思路分析 5.1.2问题1模型建立 5.1.3问题1求解结果 5.2问题2 5.2.1问题2思路分析 5.2.2问题2…