当前位置: 首页 > news >正文

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数据库挺多的&#xff0c;发现了一些非常有用的小玩意&#xff0c;今天拿出来分享到大家&#xff0c;希望对你会有所帮助。1.group_concat在我们平常的工作中&#xff0c;使用group by进行分组的场景&#xff0c;是非常多的。比如想统计出用户表中&#x…...

RT-Thread移植到STM32F407

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

VR全景到底有多全能?为何屡受关注?

告别两年的“冰封”时期&#xff0c;现在疫情放开已经有一段时间了&#xff0c;各个行业的市场和经济已经逐步回暖&#xff0c;但是疫情对广大群众造成的心理阴影还是迟迟未有退散。就拿去电影院看电影来说&#xff0c;以前看电影是看心情&#xff0c;现在看电影则是看环境&…...

剑指 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个定时器 三种&#xff08;4&#xff09;STM32定时器区别 二、通用定时器特点 2.1 功能特点描述 STM3 F4的通…...

cmake 入门三 常用变量和指令

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

Linux基础命令-find搜索文件位置

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

获取浏览器硬件资源的媒体数据(拍照、录音、录频、屏幕共享)

目录一、window.navigator 对象包含有关访问者浏览器的信息取二、MediaDevices1.使用麦克风2.使用摄像头&#xff08;和音频一样&#xff09;3.拍照4.录屏三、MediaRecorder(录制,可录制音频视屏)一、window.navigator 对象包含有关访问者浏览器的信息取 <!DOCTYPE html>…...

Java入门教程||Java 日期时间||Java 正则表达式

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

详解八大排序算法

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

python库streamlit学习笔记

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

C/C++开发,无可避免的内存管理(篇一)-约束好跳脱的内存

一、养成内存管理好习惯 1.1 养成动态对象创建、调用及释放好习惯 开发者手动接管内存分配时&#xff0c;必须处理这两个任务。分配原始内存时&#xff0c;必须在该内存中构造对象&#xff1b;在释放该内存之前&#xff0c;必须保证适当地撤销这些对象。如果你的项目是c项目&am…...

在React项目中引入字体文件并使用

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

STM32 CubeMX按键点灯

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

2023链动2+1模式到底是什么?带你了解核心规则

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

【Java面试八股文宝典之基础篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day14

大家好&#xff0c;我是陶然同学&#xff0c;软件工程大三今年实习。认识我的朋友们知道&#xff0c;我是科班出身&#xff0c;学的还行&#xff0c;但是对面试掌握不够&#xff0c;所以我将用这100多天更新Java面试题&#x1f643;&#x1f643;。 不敢苟同&#xff0c;相信大…...

K8S篇-搭建kubenetes集群

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

文本生成图像简述4——扩散模型、自回归模型、生成对抗网络的对比调研

基于近年来图像处理和语言理解方面的技术突破&#xff0c;融合图像和文本处理的多模态任务获得了广泛的关注并取得了显著成功。 文本生成图像&#xff08;text-to-image&#xff09;是图像和文本处理的多模态任务的一项子任务&#xff0c;其根据给定文本生成符合描述的真实图像…...

财务共享建设,为什么需要电子影像系统?

某集团作为投资性集团公司&#xff0c;业务遍布全国20多个省市&#xff0c;控股公司200余家&#xff0c;业务范围涉及火电、供热、风电、天然气天然气、水务、铁路、港口、酒店、地产等20多个细分行业。 伴随着集团企业的快速发展&#xff0c;某集团在管理中面临“点多、面广、…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...