Zabbix4.0架构理解-zabbix的工作方式
目录
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 stopshell> service zabbix-server restartshell> 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 stopshell> service zabbix-agent restartshell> 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 stopshell> service zabbix-proxy restartshell> 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 数据走向
相关文章:

Zabbix4.0架构理解-zabbix的工作方式
目录 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 数据走…...

MySQL中的一些非常实用的函数、语法
前言我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助。1.group_concat在我们平常的工作中,使用group by进行分组的场景,是非常多的。比如想统计出用户表中&#x…...

RT-Thread移植到STM32F407
文章目录第一步:获取RT-Thread源码第二步:项目结构介绍第三步:拷贝示例代码到裸机工程第四步:删除无用文件第五步:修改工程目录结构第六步:添加工程文件路径第七步:编译第八步:修改配…...

VR全景到底有多全能?为何屡受关注?
告别两年的“冰封”时期,现在疫情放开已经有一段时间了,各个行业的市场和经济已经逐步回暖,但是疫情对广大群众造成的心理阴影还是迟迟未有退散。就拿去电影院看电影来说,以前看电影是看心情,现在看电影则是看环境&…...

剑指 Offer 30. 包含min函数的栈
摘要 剑指 Offer 30. 包含min函数的栈 一、栈解析 package Stock;import java.util.Stack;/*** Classname JZ30min函数栈* Description TODO* Date 2023/2/24 18:59* Created by xjl*/ public class JZ30min函数栈 {/*** description 最小栈的含义是每次从栈中获取的数据都是…...

stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
文章目录一、三种定时器的区别二、通用定时器特点2.1 功能特点描述2.2 计数器模式三、通用定时器工作过程四、附一、三种定时器的区别 STM32F40x系列总共最多有14个定时器 三种(4)STM32定时器区别 二、通用定时器特点 2.1 功能特点描述 STM3 F4的通…...

cmake 入门三 常用变量和指令
cmake常用变量 一、cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用。在IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定义变量的方式: 主要有隐式定义和显式定义两种,一…...

Linux基础命令-find搜索文件位置
文章目录 find 命令介绍 语法格式 命令基本参数 参考实例 1)在root/data目录下搜索*.txt的文件名 2)搜索一天以内最后修改时间的文件;并将文件删除 3)搜索777权限的文件 4)搜索一天之前变动的文件复制到test…...

获取浏览器硬件资源的媒体数据(拍照、录音、录频、屏幕共享)
目录一、window.navigator 对象包含有关访问者浏览器的信息取二、MediaDevices1.使用麦克风2.使用摄像头(和音频一样)3.拍照4.录屏三、MediaRecorder(录制,可录制音频视屏)一、window.navigator 对象包含有关访问者浏览器的信息取 <!DOCTYPE html>…...

Java入门教程||Java 日期时间||Java 正则表达式
Java 日期时间java.util包提供了Date类来封装当前的日期和时间。Date类提供两个构造函数来实例化Date对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。Date(long millisec)Date对象创建…...

详解八大排序算法
文章目录前言排序算法插入排序直接插入排序:希尔排序(缩小增量排序)选择排序直接选择排序堆排序交换排序冒泡排序快速排序hoare版本挖坑法前后指针版本快速排序的非递归快速排序总结归并排序归并排序的非递归实现:计数排序排序算法复杂度及稳定性分析总结前言 本篇…...

python库streamlit学习笔记
什么是streamlit? Streamlit是一个免费的开源框架,用于快速构建和共享漂亮的机器学习和数据科学Web应用程序。它是一个基于Python的库,专为机器学习工程师设计。数据科学家或机器学习工程师不是网络开发人员,他们对花几周时间学习…...

C/C++开发,无可避免的内存管理(篇一)-约束好跳脱的内存
一、养成内存管理好习惯 1.1 养成动态对象创建、调用及释放好习惯 开发者手动接管内存分配时,必须处理这两个任务。分配原始内存时,必须在该内存中构造对象;在释放该内存之前,必须保证适当地撤销这些对象。如果你的项目是c项目&am…...

在React项目中引入字体文件并使用
一、背景 设计稿里某些文字所用的字体,系统默认不支持。 比如设计需要的这个字体:EmerlandRegular,即使在css里将文字字体设置为他们,实际效果也显示不出来。 二、现象及原因 1、样式 2、期待效果 3、实际效果 实际上是因为这个…...

STM32 CubeMX按键点灯
本文代码使用 HAL 库。 文章目录前言一、按键原理图二、CubeMX 创建工程三、代码讲解:1. GPIO的输入HAL库函数:2. 消抖:3. 详细代码四,实验现象:总结前言 我们继续讲解 stm32 f103,这篇文章将详细 为大家讲…...

2023链动2+1模式到底是什么?带你了解核心规则
2023链动21模式到底是什么?带你了解核心规则 2023-02-24 梦龙 大家好,我是你们熟悉而又陌生的好朋友梦龙,一个创业期的年轻人 传统的直销模式产品低价高卖,消费者难以接受。虽然直销省去了传统流通渠道的中间环节,但…...

【Java面试八股文宝典之基础篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day14
大家好,我是陶然同学,软件工程大三今年实习。认识我的朋友们知道,我是科班出身,学的还行,但是对面试掌握不够,所以我将用这100多天更新Java面试题🙃🙃。 不敢苟同,相信大…...

K8S篇-搭建kubenetes集群
安装环境 这里使用pve虚拟机搭建三台centos机器,搭建过程参考: Centos篇-Centos Minimal安装 此次安装硬件配置 CPU:2C 内存:2G 存储:64G 环境说明 操作系统:Centos 7.9 内核版本:6.2.0-1.el7.elrepo…...

文本生成图像简述4——扩散模型、自回归模型、生成对抗网络的对比调研
基于近年来图像处理和语言理解方面的技术突破,融合图像和文本处理的多模态任务获得了广泛的关注并取得了显著成功。 文本生成图像(text-to-image)是图像和文本处理的多模态任务的一项子任务,其根据给定文本生成符合描述的真实图像…...

财务共享建设,为什么需要电子影像系统?
某集团作为投资性集团公司,业务遍布全国20多个省市,控股公司200余家,业务范围涉及火电、供热、风电、天然气天然气、水务、铁路、港口、酒店、地产等20多个细分行业。 伴随着集团企业的快速发展,某集团在管理中面临“点多、面广、…...

「RISC-V Arch」SBI 规范解读(下)
第六章 定时器扩展(EID #0x54494D45"TIME") 这个定时器扩展取代了遗留定时器扩展(EID #0x00),并遵循 v0.2 中定义的调用规约。 6.1 函数:设置定时器(FID #0) struct sbi…...

Android framework socketpair
简述 在Linux中,socketpair函数可以用于创建一对相互连接的、通信域为AF_UNIX的套接字,其中一个套接字可用于读取,另一个套接字可用于写入。可以使用这对套接字在同一进程内进行进程间通信(IPC)。 以下是使用socketp…...

腾讯在海外游戏和短视频广告领域的新增长机会
来源:猛兽财经 作者:猛兽财经 腾讯(00700)的收入在过去几个季度一直在下降,部分原因是由于新冠疫情导致的经济放缓以及中国监管机构对大型科技公司的监管收紧导致游戏行业萎缩造成的。 然而,猛兽财经认为,这些不利因素…...

查找该学号学生的成绩。
从键盘输入某班学生某门课的成绩(每班人数最多不超过40人),当输入为负值时,表示输入结束,试编程从键盘任意输入一个学号,查找该学号学生的成绩。**输入格式要求:"%ld"(学号) "%l…...

为Webpack5项目引入Buffer Polyfill
前言 最近在公司的一个项目中使用到了Webpack5, 然而在使用某个npm包的时候,出现了Buffer is not defined 这个问题,原因很明显了,因为浏览器运行时没有Buffer这个API,所以需要为浏览器引入Buffer Polyfill. Webpack5…...

【人工智能 AI 】您可以使用机器人流程自动化 (RPA) 实现自动化的 10 个业务流程:Robotic Process Automation (RPA)
摘:人类劳动正在被机器(例如在工业中)或计算机程序(适用于所有行业)所取代。 目录 10 processes you can robotise in your company您可以在公司中实现自动化的 10 个流程 Human employees or robotic workers?人类员工还是机器人工人? Robots take over headhunting…...

VMware ESXi 8.0b - 领先的裸机 Hypervisor (Dell HPE Custom Image update)
本站发布 Dell 和 HPE 定制版 ESXi 8.0b 镜像 请访问原文链接:https://sysin.org/blog/vmware-esxi-8/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org 产品简介 VMware ESXi:专门构建的裸机 Hyper…...

Java:SpringBoot 整合Spring-Retry实现错误重试
SpringBoot 整合Spring-Retry可以实现错误重试 目录引入依赖开启spring-retry使用重试注解Retryable 注解Backoff 注解测试参考引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactI…...

MyBatis学习笔记(二) —— 搭建MyBatis项目
2、搭建MyBatis 2.1、开发环境 IDE:idea 2019.2 构建工具:maven 3.5.4 MySQL版本:MySQL 8 MyBatis版本:MyBatis 3.5.7 MySQL不同版本的注意事项 1、驱动类 driver-class-name MySQL 5版本使用jdbc5驱动,驱动类使用…...

linux服务器上Docker中安装jenkins
前言 Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。 本文主要提供通过docker安装jenkins镜像,并配置nginx反向代理页面配置和使用。通过jenkins完成项目的自动部署。 我在安装之前…...