Zabbix的组件及其工作原理
2023-06-13 09:13:50 时间
监控服务Zabbix
一、Zabbix简介
Zabbix是一个企业级的开源分布式监控解决方案,由C语言编写而成的底层架构(server端和agent端),由一个团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。 Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。 被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据 Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。
Zabbix 工作原理
Zabbix工作模式
主动模式:由agent端主动收集信息发送给server端 工具是zabbix_sender 被动模式:由server端主动拉取信息 工具是zabbix_get
Zabbix工作原理
Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。当Zabbix监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install等)。
Zabbix角色组件:
Zabbix agent:负责部署在被监控主机上,把被监控主机的数据传送给zabbix server Zabbix server:负责接收agent发送的信息,组织配置信息,统计配置信息和操作数据等 Zabbix database: 用于存储zabbix的所有配置信息,监控数据的数据库 Zabbix web: zabbix的web界面,管理可以通过zabbix的web界面管理zabbix配置以及查看zabbix的监控信息,可以独一部署在一台服务器上 Zabbix proxy:分布式环境中使用,zabbix proxy代表server端管理该区域中的信息收集,最终统一发往zabbix server
Zabbix优劣势
优点
开源,无软件成本投入; Server对设备性能要求低(实际测试环境:虚拟机Redhat EL AS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上); 支持设备多; 支持分布式集中管理; 开放式接口,扩展性强; 当监控的item比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小。
缺点
无厂家支持,出现问题解决比较麻烦 需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
相关文章
- 技术分享 | ProxySQL Binlog Reader 组件介绍(上篇)
- Python进阶35-Django Auth组件
- 【VUE】- 前端封装之父子组件传值
- Cypress 10.x 组件测试指南
- Vue项目element组件遇到的坑(记录篇持续更新)
- 请简述什么是Vue组件化开发_vue组件化开发
- Vue组件通信_android组件间通信
- React 开发 | 父子组件间通信
- Kubernetes 学习(九)Kubernetes 源码阅读之正式篇------核心组件之 Scheduler
- Java Swing用户界面组件:复选框+ 滑块+组合框+边界+单选按钮
- “终于懂了” 系列:组件化框架 ARouter 完全解析(一) 原理详解
- react+antd组件 modal里面包裹使用form表单并获取提交事件
- LVS简介、原理、组件、策略及调度算法
- C/C++ Qt 自定义Dialog对话框组件应用
- Antd源码浅析(一)Icon组件
- SpringBoot自动装配原理分析,手写starter组件
- Spring Cloud Security的核心组件-OAuth2示例
- Webpack组件库打包超详细指南
- .NET开发邮件发送功能的全面教程(含邮件组件源码)
- HarmonyOS实战—Image组件的剪切和缩放