Zabbix基础概念及原理

2023-10-30

 

Zabbix

Zabbix基础概念及原理

什么是zabbix

Zabbix能够监控各种网络参数,保证副武器系统的安全运营,并提供灵活的通知机制让系统管理员快速定位,解决存在的各种问题,是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案

功能组件

Server

Zabbix server 是zabbix软件的核心组件,agent向其报告可用性,系统完整性信息和统计信息,server也是存储所有配置信息,统计信息和操作信息的核心是存储库

数据库

所有配置信息以及Zabbix采集到的数据都存储到数据库中

Web界面

该界面是Zabbix Server 的一部分,通常(不一定)和zabbix server运行在同一台物理机器上

Proxy

Zabbix proxy可以代替zabbix server采集性能和可用性数据,Zabbix proxy 在zabbix的部署是可选部分;但是proxy的部署可以很好的分担单个Zabbix server的负载。

agent

Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将手机数据发送给zabbix server

监控功能

  1. 主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细的报表图标绘制。
  2. 监控主机zabbix有专用的agent,可以监控linux,windows,FreeBSD等.
  3. 监控网络设备zabbix通过SNMP,SSH等
  4. 可监控对象
  • 设备: 服务器,路由器,交换机等
  • 软件: OS,网络,应用程序等
  • 主机性能指标监控
  • 故障监控:宕机,服务器不可用,主机不可达

zabbix工作原理

一个监控系统运行的大概流程是这样的:

zabbix agent需要安装到被监控的主机上,他负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展示盒绘图,这里agent收集数据分为主动和被动两种模式:

  • 主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据交给server/proxy
  • 被动: server向agent请求获取监控项的数据,agent返回数据

zabbix工作进程

默认情况下zabbix包含6个进程,zabbx_agentidzabbix_getzabbix_proxyzabbix_senderzabbix_server, 另一个zabbix_java_gateway是可选的,这个需要单独安装

zabbix_agentd

客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。

zabbix_get

zabbix 工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令。通常用于排错。例如在 server 端获取不到客户端的内存数据,可以使用 zabbix_get 获取客户端的内容的方式来做故障排查。

zabbix_sender

zabbix 工具,用于发送数据给 server 或者 proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致 zabbix 超时。于是在脚本执行完毕之后,使用 sender 主动提价数据。

zabbix_server

zabbix 服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server(说明:当然不是数据都是主动提交给zabbix_server,也有的是 server 主动去取数据)

zabbix_proxy

zabbix 代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到 server 里。

zabbix_java_gateway

zabbix2.0之后引入的一个功能。顾名思义:Java网络,类似agentd,但是只用于 Java 方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到 server 或者proxy

zabbix常用术语解释

  1. 主机(host): 要监控的网络设备,可由IP或DNS名称指定
  2. 主机组(host group): 主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接,主机通常在给用户或用户组指派监控权限时使用
  3. 监控项(item): 一个特性监控指标的相关的数据,这些数据来自于被监控对象,item是zabbix进行数据收集的核心,相对于某个监控对象,每个item都有key标识
  4. 触发器(trigger): 一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值,接收的数据量大于阈值时,触发器状态将从OK转变为problem, 当数据再次恢复到合理范围,又转变为OK
  5. 事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;
  6. 动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;
  7. 报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;
  8. 媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;
  9. 通知(notification):通过选定的媒介向用户发送的有关某事件的信息;
  10. 远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行;
  11. 模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机;
  12. 应用(application):一组item的集合;
  13. web场景(web scennario):用于检测web站点可用性的一个活多个HTTP请求;
  14. 前端(frontend):Zabbix的web接口;

zabbix监控架构

在实际监控架构中,zabbix根据网络环境,监控规模等分了三种架构,server-clientmaster-node-clientserver-proxy-client

  1. server-client架构 zabbix的最简单的架构,监控服务器和被监控机之间不经过任何代理,直接由zabbix server 和zabbix agentd 之间进行数据交互,适用于网络比较简单,设备比较少的监控环境
  2. server-proxy-client架构 其中proxy是server,client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后在提交给server,盖家沟经常和master-node-client架构作比较的架构,一般适用于跨机房,跨网络的的中型网络架构的监控。
  3. master-node-client架构 盖家沟是zabbix最复杂的监控架构,适合于跨网络,跨机房,设备较多的大环境,每个node同时也是一个server端,node下面可以接proxy,也可以直接接client, node有自己的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,master的故障或损坏不影响node的架构完整性

image

Zabbix安装

安装方式

  • 源码编译安装

https://www.zabbix.com/documentation/4.0/zh/manual/installation/install

  • 二进制包安装-- 一些包不适合Centos6.x系列

https://www.zabbix.com/documentation/4.0/manual/installation/install_from_packages/rhel_centos

  • Docker安装--内核低于3.10不能安装doekr

https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers

docker 安装

安装docker:

yum install docker-latest

docker 服务启动

systemctl start docker-latest

测试

docker run -d -p 80:80 httpd

安装zabbix

docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix"  -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="zabbix123" -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_bin

zabbix-java-gateway

docker run --name zabbix-java-gateway -t -d zabbix/zabbix-java-gateway:latest

zabbix-server-mysql

docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="zabbix123" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link mysql-server:mysql --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

zabbix-web-nginx-mysql

docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="zabbix123" --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 80:80 -d zabbix/zabbix-web-nginx-mysql:latest 

zabbix-agent

docker run --name zabbix-agent -e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="zabbix-server-mysql" --link zabbix-server-mysql:zabbix-server  -d zabbix/zabbix-agent:latest

登录

Admin
zabbix

参考链接

官网

Zabbix4.0 源码安装

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zabbix基础概念及原理 的相关文章

  • 【Zabbix实战之运维篇】Zabbix监控Docker容器配置方法

    Zabbix实战之运维篇 Zabbix监控Docker容器配置方法 一 检查Zabbix监控平台状态 1 检查Zabbix各组件容器状态 2 奸诈Zabbix server状态 二 下载监控模板 1 进入Zabbix官网下载页面 2 查看下
  • Zabbix监控Windows客户端设置

    Zabbix监控Windows客户端设置 一 Windows被控端安装 1 Windows代理下载 2 安装代理 二 检查被控端状态 1 查看端口 2 检查代理服务 3 服务端查看获取被控信息 三 Web端添加被控主机 1 添加主机信息 2
  • (centos7-x86)编译安装zabbix6.0LTS+Mariadb10.5+Apache+php7.4【安装完整版】

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数 保证服务器系统的安全运营 并提供灵活的通知机制以让系统管理员快速定位 解决存在的各种问题 zabbix由2部分构成
  • Zabbix整合钉钉实战

    1 基本告警思路 钉钉类似于微信 但是偏向于办公方向 可以通过钉钉的群机器人功能 实现将告警信息通过机器人发送到钉钉群 群机器人是钉钉群的高级扩展功能 群机器人可以将第三方服务的信息聚合到群聊中 实现自动化的信息同步 2 添加钉钉机器人 首
  • 初试Zabbix5.0下使用官方OID监控eNSP数通设备接口状态

    笔者学习Zabbix的初衷是监控园区网络 其中一项是监控在配置MSTP下BPDU Guard Filter及DHCP Snooping后接入交换机或非法DHCP服务器后端口的状态 本篇初试一下整个流程 实验拓扑搭建 拓扑如图 其中AR1 A
  • Zabbix监控httpd服务

    Zabbix监控httpd服务 一 工作要求及目的 二 WEB配置步骤 1 进入监控主机列表 2 链接模板 3 查看自定义HTTP端口监控项 4 查看自定义的触发器 三 客户端测试http服务停止报警 1 停止服务 2 查看web端报警 3
  • 分布式应用:Zabbix代理服务器与SNMP监控

    目录 一 理论 1 分布式监控 2 Zabbix代理服务器部署 3 配置 agent 使用 proxy 4 设置 Zabbix SNMP 监控 二 实验 1 Zabbix代理服务器部署 2 配置 agent 使用 proxy 3 设置 Za
  • zabbix性能调优

    zabbix性能调优 服务器环境 centos7 zabbix3 2 mariadb 1 从监控项调整 1 关掉没必要的监控项 zabbix自带模板里面涉及各种监控项 实际情况并不需要用到所有的 可以根据自带模板内容自己创建模板 也可以将模
  • zabbix api无法获取已解决问题解决思路和总结

    zabbix api无法获取已解决问题解决思路和总结 事件背景 最近在对zabbix api进行二次开发 在设计获取problem的接口的时候发现了调用zabbix api无法获取已解决的problem的问题 在解决这个问题的过程之中对于z
  • 在Linux系统中部署zabbix监控服务

    今天学习安装zabbix 以下参考网上各种安装方法及自己做实验 一 zabbix简介 zabbix z biks 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数 保证服务器系统
  • 【Zabbix实战之部署篇】Zabbix客户端的安装部署方法

    Zabbix实战之部署篇 Zabbix客户端的安装部署方法 一 Zabbix agent2介绍 1 Zabbix agent2简介 2 Zabbix agent2优点 3 主动模式和被动模式 二 环境规划 1 Zabbix服务器部署链接 2
  • ZABBIX实践(三) window下的Agent端部署以及服务端汉化

    Zabbix 可以监控的对象非常多 支持的操作系统也很多 主流的linux和windows是平时接触最多的系统 本节说明一下zabbix 在windows下如何安装和配置 1 目标 1 在windows上安装zabbix agent 并且进
  • linux————zabbix搭建

    目录 一 zabbix的概述 二 构成 一 server 二 web页面 三 数据库 四 proxy 五 agent 三 zabbix监控对象 四 zabbix的常用术语 五 zabbix监控框架 一 zabbix client架构 二 z
  • Zabbix的web界面基本操作

    Zabbix的web界面基本操作 一 查看客户端运行状态 1 查看客户端监听端口 2 查看客户端服务及进程 二 服务端状态检查 1 服务端端口监听 2 查看客户端的hostname获取情况 三 zabbix的web网页基本配置 1 登录查看
  • 【Zabbix实战之运维篇】Zabbix的客户端自动注册配置

    Zabbix实战之运维篇 Zabbix的客户端自动注册配置 一 自动注册与自动发现介绍 1 自动注册介绍 2 自动发现介绍 3 主动模式与被动模式 二 客户端安装abbix agent2 1 下载zabbix agent2软件包 2 安装z
  • 为什么都劝运维转开发,却仍看到大批年轻人运维做的风生水起?

    当谈到运维职业发展情况时 很多人都会说运维做不长久 然后劝人做两年就赶快转研发吧 总之是全面唱衰运维 但作为一个老运维 我想说的是 运维转开发确实是一个不错的选择 但运维做不长久则完全是对运维的偏见了 很多人有运维做不长久的偏见的原因其实和
  • 使用 d3.js 在强制布局中添加和删除节点时出现问题

    我试图通过从 Zabbix API 获取数据来可视化服务器可用性 以及随后的其他事情 一旦可行 您可以在 Zabbix API 文档中的 此处 1 中查看有关返回数据的示例 获取数据不是问题 但我认为 d3 js 的数据连接遇到了一些问题
  • Dockerized Zabbix:服务器无法通过 IP 连接到代理

    Problem 我正在尝试使用 Zabbix 的 Docker Compose 存储库在 Ubuntu 20 04 LTS 上配置完全容器化的 Zabbix 6 0 版监控系统HERE 我用来启动 Zabbix 服务器和 Zabbix 代理
  • Zabbix 服务器未运行:显示的信息可能不是最新的

    所以突然之间 在使用它一周后 我在我的电脑上收到一条错误消息zabbix server gui http localhost zabbix http localhost zabbix 错误说 Zabbix server is not run
  • 如何读取硬盘S.M.A.R.T.属性?

    我会监控 Windows 7 客户端上的智能 HDD 我希望在不使用任何 vbs 文件或现成工具的情况下获得 HDD 智能属性 只需使用 WMI 或 PowerShell 我将使用 Zabbix 监控服务器聚合该数据 使用zabbix se

随机推荐

  • DDOS高防ip是什么?有什么用?

    ddos高防ip是网络安全公司针对服务器在遭受大流量的ddos攻击导致服务不可用的情况 推出的付费增值服务 ddos攻击是通过用大量的无效流量数据对该IP的服务器进行请求 导致服务器的资源被大量占用 无法对正确的请求作出响应通过配置ddos
  • shell变量的设定规则

    内容摘自鸟哥的Linux 私房菜 1 变量与变量内容以一个等号 来连结 如下所示 myname VBird 2 等号两边不能直接接空格符 如下所示为错误 myname VBird 或 myname VBird Tsai 3 变量名称只能是英
  • Django基础之Admin后台数据管理

    Admin后台数据管理 一个站点或者网站 除了给用户浏览及操作外 还需要对后台数据进行管理 比如添加商品 修改商品等等 Django提供了一个可插拔的后台管理系统 Admin 应用 该系统可以从模型中读取元数据 并提供以模型为中心的界面 A
  • C语言文件通讯录制作说明

    文件通讯 前言 很多计算机专业大学生第一个课设就是校园出入管理系统或者文件版通讯录 这些软件工程不仅可以锻炼我们的编程能力 也可以让我们更为深刻的理解C语言知识 为将来的学习打下基础 但是同学们肯定会有所疑问 下面是我的一个范例 提示 以下
  • 高德地图 – 1.问题集锦

    1 自动加载文本框的坐标 并在地图标注点 2 点击地图时 并且 逆地理编码 解析出地址方在文本框 js var lnglatXY var marker 初始化地图对象 加载地图 var map new AMap Map mapContain
  • 【PB】动态添加数据窗口列中下拉列表的内容

    1 设置数据窗口某个列 dept id 的style type为DropDownListBox dw 1 Modify dept id ddlb case any 2 为下拉列表框添加数据 boolean lb flag false str
  • 剖析C++标准库智能指针(std::auto_ptr)

    1 Do you Smart Pointer Smart Pointer 中文名 智能指针 舶来品 不可否认 资源泄露 resource leak 曾经是C 程序的一大噩梦 垃圾回收 机制 Garbage Collection 一时颇受注目
  • 测开笔记九:线程&TestNG

    1 线程 1 1 线程概念 线程 程序执行流的最小执行单位 是行程中的实际运作单位 经常容易和进程这个概念混淆 那么 线程和进程究竟有什么区别呢 首先 进程是一个动态的过程 是一个活动的实体 简单来说 一个应用程序的运行就可以被看做是一个进
  • 机器学习——核函数

    问 已知三维空间中的两个样本点分别为 2 4 5 和 1 2 3 定义核函数表达式为 试计算这两个样本点映射到十维空间后的 答 首先计算两个样本点的平方内积 2 1 4 2 5 3 25 然后代入核函数表达式 25 5 6 131 1 核函
  • 如何修改element.style的样式

    我们通常在用组件库或者调试web样式时 发现有 element style这样的类名 这种样式其实是行内样式导致的 但是像element这种框架 没法修改行内样式
  • Cookie和Session的区别与联系

    1 前言 http的无状态和无连接 无连接 限制每次连接只处理一个请求 服务端处理完客户端的请求 并收到客户端的响应后 就断开连接 无状态 没有记录用户的登录状态 在淘宝上点击添加购物车 点击收藏 点击我的订单每一步就必须得重新登录 非常麻
  • 零相位,线性相位与非线性相位

    零相位 如图所示 如果一个信号关于第0个抽样点左右对称 则称这个信号具有零相位 线性相位 如果一个信号左右对称 但对称轴所在位置不是第0个采样点 则称这个信号具有线性相位 这就意味着 一个线性相位信号通过简单的左右平移变换便可转换为零相位信
  • unity(界面操作)如何打开模型网格

    就一个简单的操作 想不到网上的文章写的这么不清楚 找了半天才找到 误人子弟 我干脆自己写一个 如何在unity看到下面这个模型网格 如图点击
  • 【设计经验】5、Verilog对数据进行四舍五入(round)与饱和(saturation)截位

    一 软件平台与硬件平台 软件平台 操作系统 Windows 8 1 64 bit 开发套件 Vivado2015 4 2 Matlab2016a 仿真工具 Vivado自带仿真器 二 引言 在利用Verilog写数字信号处理相关算法的过程中
  • 人工智能基础学习笔记:简单神经网络的构建

    文章目录 前言 一 神经网络能够做什么 二 简单神经网络结构介绍 三 反向传播 梯度下降法 总结 前言 author Liu Zhao 作为刚入坑机器学习的一名小白 写这篇文章的初衷是想作为自己的一个学习笔记 防止知识遗忘 同时也希望能够跟
  • JAVA 简易登录界面实现 输入账号密码错误三次自动退出(超简单)

    成果图 输入账号密码错误三次自动退出 步骤 1 声明变量 提示语JLabel 文本输入框JTextField 按钮 JButton 2 设置提示语 文本框并加入JPanel中 3 添加设置按钮 并给按钮添加监听器addActionListe
  • Java学习笔记-多线程实现方式

    Java学习笔记 多线程实现方式 注意 线程开启不一定立即执行 由CPU调度执行 1 继承Thread类 自定义线程类继承Thread类 重写run 方法 编写线程执行体 创建线程对象 调用start 方法启动线程 public class
  • [leetcode 周赛 149] 1157 子数组中占绝大多数的元素

    目录 1157 Online Majority Element In Subarray 子数组中占绝大多数的元素 描述 思路 代码实现 1157 Online Majority Element In Subarray 子数组中占绝大多数的元
  • 第七届蓝桥杯大赛个人赛省赛(软件类 C语言b组)真题 (个人解题思路)

    1 煤球数目 有一堆煤球 堆成三角棱锥形 具体 第一层放1个 第二层3个 排列成三角形 第三层6个 排列成三角形 第四层10个 排列成三角形 如果一共有100层 共有多少个煤球 请填表示煤球总数目的数字 注意 你提交的应该是一个整数 不要填
  • Zabbix基础概念及原理

    Zabbix Zabbix基础概念及原理 什么是zabbix 功能组件 Server 数据库 Web界面 Proxy agent 监控功能 zabbix工作原理 zabbix工作进程 zabbix agentd zabbix get zab