zabbix进阶与分布式-主被动模式/自动发现
#/bin/bash主被动模式介绍Zabbix支持多种模式zabbix支持普通的zabbix server到zabbix agent端模式也支持zabbix-sever到zabbix-proxy模式zabbix-server同时关联多个zabbix-agent将zabbix-agent的历史数据存储到zabbix-server管理的数据库中然后经过zabbix的web也就是nginx展示出来zabbix支持proxy代理模式只需要授权proxy监听在特定的端口上10052而对应的proxy会独立的管理他下面的zabbix-agent并将zabbix-agent的数据存储到proxy管理的数据库中zabbix-server没有存储zabbix-proxy数据的功能是将proxy的数据放到zabbix web展示区进行展示Zabbix是基于php开发的默认使用fastcgi而Java不支持fastcgi模式为了采集展示进行可视化java对应的指标数据要让Java支持fastcgi需要安装一个JMX的java类zabbix关联java gatewayjava中的应用体系支持gateway进行绑定起来基于JMX就可以收集到Java gateway的数据并将其在zabbix web上进行图表展示。1、web监控配置web监控需求以zabbix-UI页面的登录监控模拟登录输入账号密码实现首页的健康监控。1. 模拟登录输入zabbix账号密码登录后台如果登录失败就报警2. 基于响应状态码判断 非200即报警2.zabbix主动模式2.1 修改zabbix-agent为主动模式web-7[rootweb-7 ~]#cat /etc/zabbix/zabbix_agentd.conf PidFile/var/run/zabbix/zabbix_agentd.pid LogFile/var/log/zabbix/zabbix_agentd.log LogFileSize0 Server10.0.0.71 ServerActive10.0.0.71 Hostnameweb-7 Include/etc/zabbix/zabbix_agentd.d/*.conf [rootweb-7 ~]# 重启agent服务 systemctl restart zabbix-agent2.2 修改监控项的采集模式1. 修改了配置文件支持主动上传数据的模式 2. 修改该机器的监控项为主动模式批量修改 3. 基于应用集选择某一系列的监控项进行改为主动模式也可以全选所有监控项改为主动模式os linuxphpnginx2.2 确保基于agnet主动式采集了web7的nginxphp的数据3.zabbix自动发现对于网络发现最需要理解的就是工作流程不然觉得这个发现功能很奇怪理解之后就觉得这个设计很合理了。而且使用起来也很正常而大部分文章只是讲解了如何使用官方文件简单的提到了工作流程不小心很容易忽略。参考文档:1 Network discovery自动发现主要是希望通过发现网络中的主机并自动把主机添加到监控中并关联特定的模板实现自动监控。例如在办公网络中希望通过Zabbix Agent监控所有工作电脑只需要把新安装的电脑开放防火墙10050端口那么电脑就可以自动通过发现新机器并开始监控。如果网络中可能存在Windows和Linux系统就需要通过Zabbix Agent判断自动添加的主机是Windows还是Linux。以上这个过程需要分为两个步骤通过网络扫描制定的服务本例为Zabbix Agent是否可以访问system.uname指标发现主机之后需要执行添加的动作这个过程由动作Action完成给自动发现设置动作准备好一些机器cicd-99 jenkins-100 web-8 统一安装zabbix客户端 zabbix-agent rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.11-1.el7.x86_64.rpm ntpdate -u ntp.aliyun.com PidFile/var/run/zabbix/zabbix_agentd.pid LogFile/var/log/zabbix/zabbix_agentd.log LogFileSize0 Server10.0.0.71 ServerActive10.0.0.71 Hostnamecicd-99 Include/etc/zabbix/zabbix_agentd.d/*.conf systemctl restart zabbix-agent netstat -tunlp|grep zabbix [rootzabbix-server-71 ~]#for i in 99 100 8;do zabbix_get -s 10.0.0.$i -k system.uname ;done 自动发现的条件貌似都好了4.zabbix自动注册为什么要学自动注册一样的自动发现是zabbix-server去扫描网段然后添加机器机器多了一样要累死他就是配置好一个网络环境后zabbix-server主动去网络环境中扫描然后发现目标机器然后监控此时的agent是被动等待的。那如果需要扫描多种网段且机器数量很大的话你的zabbix-server服务器可就很难受了。。。因此自动注册就是由zabbix-agent主动发起注册请求你来监控我把极大的降低了zabbix-server的服务器压力。需求web7web8cicd99jenkins100全部自动注册到zabbix-server,且关联模板且发送钉钉给运维管理员告知是哪些机器都被注册上了。4.1 修改需要自动注册的agent配置文件web7 web8 cicd99 jenkins100 [rootzabbix-server-71 ~]#cat zabbix_agentd.conf PidFile/var/run/zabbix/zabbix_agentd.pid LogFile/var/log/zabbix/zabbix_agentd.log LogFileSize0 Server10.0.0.71 ServerActive10.0.0.71 HostMetadataLinux Include/etc/zabbix/zabbix_agentd.d/*.conf [rootzabbix-server-71 ~]#for i in 7 8 99 100;do scp zabbix_agentd.conf root10.0.0.$i:/etc/zabbix/;done zabbix_agentd.conf 100% 201 320.3KB/s 00:00 zabbix_agentd.conf 100% 201 417.4KB/s 00:00 zabbix_agentd.conf 100% 201 328.3KB/s 00:00 zabbix_agentd.conf 100% 201 431.5KB/s 00:00 [rootzabbix-server-71 ~]# [rootzabbix-server-71 ~]#for i in 7 8 99 100;do ssh root10.0.0.$i systemctl restart zabbix-agent;done [rootzabbix-server-71 ~]# [rootzabbix-server-71 ~]# [rootzabbix-server-71 ~]## 循环再 7 8,99,100四台机器远程的ssh去重启zabbix-agent [rootzabbix-server-71 ~]#5.zabbix-proxy配置zabbix分布式proxy配置1. 部署一个zabbix-proxy机器 2. 设置zabbix元修改为清华的 rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm sed -i s#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#g /etc/yum.repos.d/zabbix.repo yum install zabbix-proxy-mysql mariadb-server -y 3. zabbix-proxy 和 zabbix-server配置几乎一样模拟了一个server角色去存储agent的数据 systemctl start mariadb.service mysqladmin password linux0224 mysql -uroot -plinux0224 4.数据库创建zabbix库以及mysql账号 # 非交互式的执行mysql的 SQL语句 mysql -uroot -plinux0224 -e create database zabbix_proxy character set utf8 collate utf8_bin; mysql -uroot -plinux0224 -e grant all privileges on zabbix_proxy.* to zabbix_proxylocalhost identified by linux0224; mysql -uroot -plinux0224 -e flush privileges; 5. 导入zabbix——poroxy的数据库数据 zcat /usr/share/doc/zabbix-proxy-mysql-4.0.42/schema.sql.gz| mysql -uzabbix_proxy -plinux0224 zabbix_proxy 6.创建proxy配置文件 cat /etc/zabbix/zabbix_proxy.conf EOF ProxyMode0 # 代理模式0 主动 1 被动 Server10.0.0.71 # 填入zabbix-server地址 ServerPort10051 # 填入zabbix-server端口 Hostnamezabbix-proxy-72 # 填入主机名 LogFile/var/log/zabbix/zabbix_proxy.log LogFileSize0 PidFile/var/run/zabbix/zabbix_proxy.pid SocketDir/var/run/zabbix DBHostlocalhost DBNamezabbix_proxy DBUserzabbix_proxy DBPasswordlinux0224 ConfigFrequency60 # proxy多久和server同步配置信息 DataSenderFrequency5 # proxy多久发送一次自己的数据给server EOF 7.启动检查 systemctl restart zabbix-proxy.service [rootzabbix-proxy-72 ~]#netstat -tunlp|grep zabbix tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1954/zabbix_proxy tcp6 0 0 :::10051 :::* LISTEN 1954/zabbix_proxy5.1 设置agent指向zabbix_proxy前置动作关闭自动注册自动发现等删除现有的主机查看基于zabbix-proxy模式的agent机器添加数据采集待会来看基于zabbix-proxy模式的主机添加图解# agent是什么 添加模式 # 自动注册模式 # ServerActive10.0.0.72 # HostMetadataLinux 自己for循环批量给 web7 web8 cicd99 jenkins100 [rootzabbix-server-71 ~]#cat zabbix_agentd.conf PidFile/var/run/zabbix/zabbix_agentd.pid LogFile/var/log/zabbix/zabbix_agentd.log LogFileSize0 Server10.0.0.72 ServerActive10.0.0.72 HostMetadataLinux Include/etc/zabbix/zabbix_agentd.d/*.conf [rootzabbix-server-71 ~]#for server in 7 8 99 100;do scp zabbix_agentd.conf root10.0.0.${server}:/etc/zabbix/ ; done zabbix_agentd.conf 100% 200 494.5KB/s 00:00 zabbix_agentd.conf 100% 200 444.5KB/s 00:00 zabbix_agentd.conf 100% 200 371.4KB/s 00:00 zabbix_agentd.conf 100% 200 353.2KB/s 00:00 批量重启 for server in 7 8 99 100;do ssh root10.0.0.${server} systemctl restart zabbix-agent ; done5.2 去zabbix-UI中添加proxy的配置5.3 打开自动注册功能让agent机器注册到proxy后再注册到server中自动注册匹配条件就是主机元数据里有 Linux要求结果是1. zabbix-UI中可以看到 基于proxy添加的主机2. 钉钉发个消息看最新数据#/bin/bash

相关新闻

5 分钟手把手教你打造 AI 知识库!附 OpenClaw「龙虾」养成指南(建议收藏)

5 分钟手把手教你打造 AI 知识库!附 OpenClaw「龙虾」养成指南(建议收藏)

我做了一个 OpenClaw「龙虾」养成指南。用的是字节飞书的「AI 知识库」。安全报告、部署教程、漏洞分析、配置模板,全在里面。现在你问它「OpenClaw公网裸奔的原因及安全风险有哪些」,AI 直接从我的资料里找答案,标出哪篇文档的哪个段落。甚至…

2026/5/17 11:11:07 阅读更多 →
基于Java+SSM+Django小工程预算系统(源码+LW+调试文档+讲解等)/小型工程预算软件/小型工程项目预算工具/简易工程预算系统/工程预算软件小型版/小型工程成本估算系统

基于Java+SSM+Django小工程预算系统(源码+LW+调试文档+讲解等)/小型工程预算软件/小型工程项目预算工具/简易工程预算系统/工程预算软件小型版/小型工程成本估算系统

博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题…

2026/7/3 19:27:53 阅读更多 →
深度解析 Android 开发(影像类 APP 方向)职位:技术全景、面试指南与职业进阶

深度解析 Android 开发(影像类 APP 方向)职位:技术全景、面试指南与职业进阶

一、 岗位全景:影像类 APP 开发者的核心价值与挑战 该职位聚焦于影像类 Android APP 的开发,这是一个技术深度与创意结合的热门领域。随着智能手机影像能力的飞速发展,用户对拍照、录像、后期编辑、特效应用的需求日益增长,对开发者的技术栈提出了更高要求。深圳金鸿峰、杭…

2026/5/17 11:11:06 阅读更多 →

最新新闻

LeetCode:买卖股票的最佳时机(1-3) - Python

LeetCode:买卖股票的最佳时机(1-3) - Python

121. Best Time to Buy and Sell Stock(买卖股票的最佳时机) 问题描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计…

2026/7/4 18:55:26 阅读更多 →
Git-Crypt与GitPod结合:云端IDE安全开发工作流实践

Git-Crypt与GitPod结合:云端IDE安全开发工作流实践

1. 项目概述:当云端IDE遇上加密仓库作为一名常年和代码、密钥、配置文件打交道的开发者,我深知一个痛点:如何在享受云端开发环境(如Gitpod)带来的极致便利时,又能确保敏感信息(如API密钥、数据库…

2026/7/4 18:53:26 阅读更多 →
高效率AI写专著:实用工具合集,轻松产出20万字优质专著!

高效率AI写专著:实用工具合集,轻松产出20万字优质专著!

学术专著写作难题与AI工具解决方案 对于那些第一次尝试撰写学术专著的研究者而言,写作过程就像一场在未知领域探险的旅程,充满了各式各样的挑战。选题的困扰让人感到无从下手,如何在“有意义”和“可行性”之间找到一个合适的平衡点成了难题…

2026/7/4 18:53:26 阅读更多 →
STM32F405RG与25CSM04 EEPROM的高效数据检索方案

STM32F405RG与25CSM04 EEPROM的高效数据检索方案

1. 项目背景与核心需求在嵌入式系统开发中,快速精确的数据检索是一个永恒的话题。当我们需要在资源受限的环境中实现高效数据存取时,选择合适的存储器件和控制器至关重要。25CSM04作为一款4Mbit的SPI接口EEPROM,与STM32F405RG这款高性能ARM C…

2026/7/4 18:49:25 阅读更多 →
Java面试通关⑨:SpringBoot核心全集

Java面试通关⑨:SpringBoot核心全集

📖 前言导读 SpringBoot是目前Java后端项目主流开发框架、面试高频核心考点,几乎所有企业新项目均基于SpringBoot搭建,是后端开发必备核心技能。多数开发者仅会简单引入依赖、编写业务代码,对SpringBoot自动配置原理、Starter机制…

2026/7/4 18:49:25 阅读更多 →
音乐情绪识别实战:从声学特征到VA坐标系的端到端落地

音乐情绪识别实战:从声学特征到VA坐标系的端到端落地

1. 这不是科幻,是正在发生的音乐情绪解码实践“Can AI Recognize Our Emotions Through the Music We Are Listening To?”——这个标题乍看像一篇哲学思辨或心理学论文的提问,但在我过去三年深度参与多个音频智能分析项目后,它早已不是假设…

2026/7/4 18:47:24 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻