Zabbix基础理论

Zabbix概述

Zabbix是一个企业级的开源分布式监控解决方案,由C语言编写而成的底层架构(server端和agent端),由一个团队持续维护更新,软件能够自由下载使用,运做团队靠提供收费的技术支持赢利。

Zabbix经过C/S模式采集数据,经过B/S模式在web端展现和配置。

被监控端:主机经过安装agent方式采集数据,网络设备经过SNMP方式采集数据

Server端:经过收集SNMP和agent发送的数据,写入MySQL数据库,再经过php+apache在web前端展现。

Zabbix运行条件

  • Server
Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低
  • Agent
目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows等
  • SNMP
支持各种常见的网络设备

Zabbix功能

具有常见的商业监控软件所具有的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)

支持自动发现网络设备和服务器,支持分布式,能集中展现、管理分布式的监控点,扩展性强,server提供通用接口,能够本身开发完善各种监控。

Zabbix优劣势

  • 优势
开源,无软件成本投入;

Server对设备性能要求低(实际测试环境:虚拟机Redhat EL AS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%如下,内存剩余400M以上);

支持设备多;

支持分布式集中管理;

开放式接口,扩展性强;

当监控的item比较多服务器队列比较大时能够采用被动状态,被监控客户端主动从server端去下载须要监控的item而后取数据上传到server端。这种方式对服务器的负载比较小。
  • 缺点
无厂家支持,出现问题解决比较麻烦

需在被监控主机上安装agent,全部数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。

Zabbix工做原理

Agentd安装在被监控的主机上,Agent负责按期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB能够看到数据在前端展示图像。当Zabbix监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动做,动做包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install等)。

Zabbix工做模式

主动模式:由agent端主动收集信息发送给server端 工具是zabbix_sender

被动模式:由server端主动拉取信息 工具是zabbix_get

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通信方式

agent:经过专用的代理程序进行监控

ssh/Telnet:经过远程控制协议进行通信

SNMP:经过SNMP协议与被监控对象进行通信,路由器和交换机支持

SNMP,其实也是一种agent

IPMI:经过IPMI接口进行监控,经过IPMI硬件接口监控,电压,温度,风扇,和电源状态

JMX:经过(java management extensions Java管理扩展)监控JVM虚拟机

在这里插入图片描述

Zabbix分布式的监控体系

监控数据被提交给zabbix proxy 再 提交给zabbix server

在这里插入图片描述

Zabbix监控架构

在实际监控架构中,zabbix根据网络环境、监控规模等分了三种架构: server-client 、master-node-client、server-proxy-client三种 。
  • server-client架构
也是zabbix的最简单的架构,监控机和被监控机之间不通过任何代理 ,直接由zabbix server和zabbix agentd之间进行数据交互。适用于网络比较简单,设备比较少的监控环境 。
  • server-proxy-client架构
其中proxy是server、client之间沟通的一个桥梁,proxy自己没有前端,并且其自己并不存放数据,只是将agentd发来的数据暂时存放,然后再提交给server 。该架构常常是和master-node-client架构作比较的架构 ,通常适用于跨机房、跨网络的中型网络架构的监控。
  • master-node-client架构
该架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境 。每一个node同时也是一个server端,node下面能够接proxy,也能够直接接client 。node有自已的配置文件和数据库,其要作的是将配置信息和监控数据向master同步,master的故障或损坏对node其下架构的完整性。

谢谢阅读!

相关文章
相关标签/搜索