简介
Zabbix是一个企业级的开源分布式监控解决方案,由C语言编写而成的底层架构(server端和agent端),由一个团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
1、Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
2、被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据
3、Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。
Zabbix运行条件
**1、server**
Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低
**2、Agent**
目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows等
**3、SNMP**
支持各类常见的网络设备
工作原理
Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。当Zabbix监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install等)。
工作模式
主动模式:由agent端主动收集信息发送给server端 工具是zabbix_sender
被动模式:由server端主动拉取信息 工具是zabbix_get
角色组件
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
通讯方式
agent:通过专用的代理程序进行监控
ssh/Telnet:通过远程控制协议进行通讯
SNMP:通过SNMP协议与被监控对象进行通讯,路由器和交换机支持
SNMP,其实也是一种agent
IPMI:通过IPMI接口进行监控,通过IPMI硬件接口监控,电压,温度,风扇,和电源状态
JMX:通过(java management extensions Java管理扩展)监控JVM虚拟机
Zabbix分布式的监控体系
**监控数据被提交给zabbix proxy 再 提交给zabbix server**
监控体系架构
在实际监控架构中,zabbix根据网络环境、监控规模等分了三种架构: server-client 、master-node-client、server-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其下架构的完整性。
原文地址:https://blog.51cto.com/14475593/2469923
时间: 2024-10-13 16:00:22