Zabbix4.0架构理解-zabbix的工作方式

news2025/7/28 22:18:00

目录

1.1、zabbix4.0架构图

 1.2、zabbix的进程

1、  zabbix server

 2、zabbix agent

    3、  zabbix proxy

 4、 java gateway

5、zabbix get

1.3、zabbix的几种工作方式

1、通过zabbix agent

2、通过zabbix proxy

3、通过 zabbix java gateway

4、其他

 1.3、zabbix 数据走向

1.1、zabbix4.0架构图

########################################################################################## 

 1.2、zabbix的进程

1、  zabbix server

        Zabbix server 是整个 Zabbix 软件的核心程序。
        Zabbix server 进程以守护进程(Deamon)运行

        Zabbix Server 负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。它是 Zabbix Agent 和 Proxy 报告系统可用性和完整性数据的核心组件。Server 自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务器)。

        Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将被发出通知给管理员。

        基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。

        Zabbix 的所有配置信息都存储在 Server 和web前段进行交互的数据库中  ,例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix 前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

   可以通过执行以下命令来启动zabbix server

shell> service zabbix-server start

        上述命令在大多数的 GNU/Linux 系统下都可以正常完成。如果是其他系统,你可能要尝试以下命令来运行:

 shell> /etc/init.d/zabbix-server start

        类似的,停止、重启、查看状态,则需要执行以下命令:

            shell> service zabbix-server stop
            shell> service zabbix-server restart
            shell> service zabbix-server status

        手动启动

            如果以上操作均无效,您可能需要手动启动,找到 Zabbix Server 二进制文件的路径并且执行:

        zabbix server 的命令行参数

            -c --config <file>              配置文件路径(默认的是 /usr/local/etc/zabbix_server.conf)
            -R --runtime-control <option>   执行管理功能
            -h --help                       帮助
            -V --version                    显示版本号

########################################################################################## 

 2、zabbix agent


        zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序 (硬盘,内存,处理器统计信息等)。
        Zabbix agent 进程以守护进程(Deamon)运行。

        zabbix agent 收集本地的操作信息并将数据报告给zabbix server 用于进一步处理,一旦出现异常(例如硬盘空间已满或者有崩溃的服务进程)
        zabbix server会主动警告管理员指定机器上的异常

        zabbix agents的极高效率缘于它可以利用本地系统调用来完成统计数据的采集

        zabbix agent可以运行被动检查和主动检查
        在被动检查模式中 agent应答数据请求,zabbix server(或proxy) 询求数据,例如cpu load,然后zabbix agent返还结果
        主动检查处理过程将相对复杂,agent必须首先从zabbix server索取监控项列表以进行独立处理,然后会定期发送采集到的新值给zabbix server

        是否执行被动或主动检查是通过选择相应的监控项类型来配置的。zabbix agent 处理 zabbix agent 或 zabbix agent(active) 类型的监控项

        zabbix agent 的启动可以通过执行以下命令来完成

 shell> service zabbix-agent start

        上述命令在大多数的 GNU/Linux 系统下都可以正常完成。如果是其他系统,你可能要尝试以下命令来运行:

            shell> /etc/init.d/zabbix-agent start

        类似的,停止、重启、查看状态,则需要执行以下命令:

            shell> service zabbix-agent stop
            shell> service zabbix-agent restart
            shell> service zabbix-agent status

        手动启动
        如果以上操作均无效,您可能需要手动启动,找到 Zabbix agent 二进制文件的路径并且执行:

        shell> zabbix_agentd

 ##########################################################################################

    3、  zabbix proxy


        zabbix proxy 是一个可以从一个或多个受监控设备采集监控数据并将信息发送到zabbix server的进程
        Zabbix proxy 进程以守护进程(Deamon)运行。

        主要是代表zabbix server 工作,所有收集的数据都在本地缓存,然后传输到proxy所属的 zabbix server

        部署zabbix proxy是可选的,但可能非常有利于分担单个zabbix server 的负载,如果只有代理采集数据,则zabbix server会减少cpu和磁盘io的开销

        zabbix proxy是无需本地管理员即可集中监控远程位置,分支机构和网络的理想解决方案
        zabbix proxy 需要使用独立的数据库

        Zabbix proxy 的启动可以通过执行以下命令来完成:

            shell> service zabbix-proxy start

        上述命令在大多数的 GNU/Linux 系统下都可以正常完成。如果是其他系统,你可能要尝试以下命令来运行:

            shell> /etc/init.d/zabbix-proxy start

        类似的,Zabbix proxy 的停止、重启、查看状态,则需要执行以下命令:

            shell> service zabbix-proxy stop
            shell> service zabbix-proxy restart
            shell> service zabbix-proxy status

        手动启动
        如果以上操作均无效,您可能需要手动启动,找到 Zabbix proxy 二进制文件的路径并且执行:

            shell> zabbix_proxy

 ##########################################################################################

 4、 java gateway

从 Zabbix 2.0 开始,以 Zabbix 守护进程方式原生支持监控 JMX 应用程序就存在了,称之为“Zabbix Java gateway”。Zabbix Java gateway 的守护进程是用 Java 编写。为了在特定主机上找到 JMX 计数器的值,Zabbix server 向 Zabbix Java gateway 发送请求,

当必须通过 Java gateway 更新监控项时,Zabbix server 或 proxy 将连接到 Java gateway 并请求该值,Java gateway 将检索该值并将其传递回 Zabbix server 或 Zabbix proxy。 因此,Java gateway 不会缓存任何值。

 ########################################################################################## 

5、zabbix get

Zabbix get 是一个命令行应用,它可以用于与 Zabbix agent 进行通信,并从 Zabbix agent 那里获取所需的信息。 

 该应用通常被用于 Zabbix agent 故障排错。

运行 Zabbix get

一个在 UNIX 下运行 Zabbix get 以从 Zabbix agent 获取 processor load 的值的例子。

shell> cd bin
shell> ./zabbix_get -s 127.0.0.1 -p 10050 -k system.cpu.load[all,avg1]

请注意,此处的监控项键值包含空格,因此引号用于将监控项键值标记为 shell。 引号不是监控项键值的一部分;它们将被 shell 修剪,不会被传递给Zabbix agent。Zabbix get 接受以下命令行参数:

 

  -s --host <host name or IP>      指定目标主机名或IP地址
         -p --port <port number>          指定主机上运行 Zabbix agent 的端口号。默认端口10050
         -I --source-address <IP address> 指定源 IP 地址
         -k --key <item key>              指定要从监控项键值检索的值
         -h --help                        获得帮助
         -V --version                     显示版本号

##########################################################################################

1.3、zabbix的几种工作方式

1、通过zabbix agent

通过zabbix agent,获取机器的硬件利用率,应用,数据库,设备等情况,然后通过主动或者被动的模式,将数据发送给zabbix server,zabbix server收集到数据后,存储到 DB(数据库)里面,最后Zabbix Web,前端页面将数据库里的数据进行展示。

2、通过zabbix proxy

zabbix proxy就相当于一个代理,代替zabbix server 向zabbix agent获取数据,zabbix agent 直接与zabbix proxy交互,zabbix proxy分担zabbix server的压力,收集好数据以后就直接发送给zabbix server,这也是zabbix 分布式的一种实现。

3、通过 zabbix java gateway

zabbix java gateway就相当于一个“体育老师”的角色,专门收集java应用的数据,java gateway收集了所有java应用的数据以后,再发送给zabbix server。

4、其他

zabbix server 自身还能实现一些简单的检查,例如snmp端,server可以直接从snmp协议收集数据,可以直接去监控web,也可以直接监控tcp/udp端口是否开启,这些功能不需要再部署zabbix agent了,zabbix server自身就可以实现。

 1.3、zabbix 数据走向

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

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

相关文章

虹科案例 | Redis企业版数据库:金融行业客户案例解读

传统银行无法提供无缝的全渠道客户体验、无法实时检测欺诈、无法获得业务洞察力、用户体验感较差、品牌声誉受损和业务损失&#xff1f;Redis企业版数据库具有低延迟、高吞吐和可用性性能&#xff0c;实施Redis企业版数据库&#xff0c;可以使金融机构实现即时的客户体验、实现…

python+django篮球NBA周边商城vue

目 录 第一章 绪 论 1 1.1背景及意义 1 1.2国内外研究概况 1 1.3 研究的内容 1 第二章 关键技术的研究 3 2.1 vue技术介绍 3 myproject/ <-- 高级别的文件夹 |-- myproject/ <-- Django项目文件夹 | |-- myproje…

分阶段构建golang运行环境Dockerfile镜像

在开始这项工作之前大家可以先去看一下docker官方给出关于空镜像scratch的说明&#xff0c;采用官方简单的一句话就是&#xff1a;scratch是一个明确的空图像&#xff0c;特别是对于“从头开始”构建图像。分阶段构建镜像就会用到scratch这个空镜像&#xff0c;这样的好处是可以…

pnpm / yarn / npm管理依赖包

pnpm pnpm官网&#xff1a;https://pnpm.io/zh/ pnpm安装方式有很多&#xff0c;详见官网。 用最简单的npm来安装pnpm&#xff1a;npm install -g pnpm pnpm安装依赖包 pnpm install # 安装所有项目中的依赖包 pnpm install vue # 安装依赖到dependencies pnpm in…

硬件系统工程师宝典(11)-----去耦电容布局“有讲究”

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。 上篇我们说到在电源完整性分析的目标就是要做到电源的干净、稳定和快速响应&#xff0c;以及针对不同噪声处理的实现方法。今天我们来看看去耦电容…

JS词法环境和执行上下文

前言 JavaScript是一门解释性动态语言&#xff0c;但同时它也是一门充满神秘感的语言。如果要成为一名优秀的JS开发者&#xff0c;那么对JavaScript程序的内部执行原理要有所了解。 本文以最新的ECMA规范中的第八章节为基础&#xff0c;理清JavaScript的词法环境和执行上下文…

嵌入式常问问题和知识

12、并发和并行的区别&#xff1f; 最本质的区别就是&#xff1a;并发是轮流处理多个任务&#xff0c;并行是同时处理多个任务。 你吃饭吃到一半&#xff0c;电话来了&#xff0c;你一直到吃完了以后才去接&#xff0c;这就说明你不支持并发也不支持并行。 你吃饭吃到一半&…

【ROS学习笔记2】使用vscode开发ROS全流程

【ROS学习笔记2】使用vscode开发ROS全流程 写在前面&#xff0c;本系列笔记参考的是AutoLabor的教程&#xff0c;具体项目地址在 这里 文章目录【ROS学习笔记2】使用vscode开发ROS全流程一、安装终端工具Terminator二、安装VsCode及插件三、使用VsCode开发全流程1、创建工作空…

亚马逊短期疲软,但长期前景乐观

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 由于投资者对亚马逊(AMZN)前景的担忧&#xff0c;导致该公司的股价在过去一年中下跌了39%。然而猛兽财经认为亚马逊近期面临的不利因素只是暂时的&#xff0c;该公司还是有充分的条件可以在医疗保健和物流领域获得重大增长机…

ACM 记忆化搜索

一.记忆化搜索概述 1.概念 搜索是一种简单有效但是效率又很低下的算法结构&#xff0c;其低效的原因主要在于存在很多重叠子问题。而记忆化搜索则是在搜索的基础上&#xff0c;利用数组来记录已经计算出来的重叠子问题状态&#xff0c;进行合理化的剪枝&#xff0c;从而降低时…

高防CDN的知识了解

高防CDN是一种基于CDN&#xff08;内容分发网络&#xff09;技术的网络安全服务&#xff0c;旨在提供高级的防御措施来保护网站或应用程序免受DDoS&#xff08;分布式拒绝服务&#xff09;攻击和其他网络安全威胁。CDN是一种通过将内容分发到全球多个节点来加速网站或应用程序的…

DBC 文件

概述Vector的DBC文件描述了CAN网络的通信规范&#xff0c;通过定义signal可以表示CAN帧中的各个物理信号的含义。通过CANdb Editor软件可以创建和修改DBC文件&#xff0c;一般监控或控制CAN网络内的节点&#xff0c;不需要解析DBC文件里的全部信息&#xff0c;因为有些信息是给…

前端借助Canvas实现压缩base64图片两种方法

一、具体代码 1、利用canvas压缩图片方法一 // 第一种压缩图片方法&#xff08;图片base64,图片类型,压缩比例,回调函数&#xff09;// 图片类型是指 image/png、image/jpeg、image/webp(仅Chrome支持)// 该方法对以上三种图片类型都适用 压缩结果的图片base64与原类型相同// …

02--微信小程序开发流程

开发小程序一般流程&#xff1a;申请小程序帐号安装小程序开发者工具开发小程序提交审核和发布1、注册小程序帐号在微信公众平台官网首页&#xff08;mp.weixin.qq.com&#xff09;点击右上角的“立即注册”按钮。2、填写帐号信息 主体为企业时需要一些信息包括&#xff1a;企业…

狂神说:面向对象(一) —— OOP与方法回顾

OOP详解以类的方式组织代码&#xff0c;以对象的方式组织&#xff08;封装&#xff09;数据什么是面向对象封装 【口袋装数据&#xff0c;留个口&#xff0c;可以用】继承 【儿子和父亲】多态 【同一个事物表现出多种形态】对象和类实际&#xff1a;先有对象后有类代码&#xf…

商城进货记录交易-课后程序(JAVA基础案例教程-黑马程序员编著-第七章-课后作业)

【实验7-2】商城进货记录交易 【任务介绍】 1.任务描述 每个商城都需要进货&#xff0c;而这些进货记录整理起来很不方便&#xff0c;本案例要求编写一个商城进货记录交易的程序&#xff0c;使用字节流将商场的进货信息记录在本地的csv文件中。程序具体要求如下&#xff1a; …

网络编程NIO

Java NIO&#xff08;New IO 或 Non Blocking IO&#xff09;是从Java 1.4 版本开始引入的一个新的IO API&#xff0c;可以替代标准的 Java IO API。NIO 支持面向缓冲区的、基于通道的 IO 操作。NIO 将以更加高效的方式进行文件的读写操作。 非阻塞 IO(NIO) 通过Selector去实…

ASP.NET Core MVC 项目 IOC容器

目录 一&#xff1a;什么是IOC容器 二&#xff1a;简单理解内置Ioc容器 三&#xff1a;依赖注入内置Ioc容器 四&#xff1a;生命周期 五&#xff1a;多种注册方式 一&#xff1a;什么是IOC容器 IOC容器是Inversion Of Control的缩写&#xff0c;翻译的意思就是控制反转。 …

【Azure 架构师学习笔记】-Azure Data Factory (3)-触发器详解-翻转窗口

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Data Factory】系列。 接上文【Azure 架构师学习笔记】-Azure Data Factory (2)-触发器 前言 上文中提到触发器的类型有以下4种&#xff0c;其中第一种【计划】是常用的&#xff0c; 与其他工具/服务类似的方式&#…