zabbix是一种类似于cacti 及nagios的;可通过web界面,提供可视化;提供分布式的系统监视;网络监控功能的企业级的开源的监控方案。
zabbix能监控服务器的各项性能及各种网络参数,保证服务器系统及服务正常的运营;并提供了灵活的通知机制,可与各种社交方式对接(短信,微信,QQ,邮箱等),让系统管理员快速定位并及时解决存在的各种问题,从而提高服务的可用性及安全性。
zabbix至今天为止,可以运行的平台:
zabbix提供的功能:
zabbix可监控的目标:
zabbix主要是由2大部分构成,zabbix server与zabbix agent,或者说是监控者与被监控者
zabbix-server:监控者。通过收集agent发送的数据,写入数据库(mysql、oracal、)中,再通过web展示出来。默认端口为10051.
zabbix-agent:被监控者。通过安装zabbix agent,可将主机做为一个被监控的节点,通过agent采集数据并发送到zabbix-server或zabbix-proxy端。默认端口为10050.
zabbix-agent收集数据分为主动和被动两种模式
主动:zabbix-agent向zabbix-server获取主动的监控项列表,zabbix-agent主动将监控项内需要检测的数据提交给zabbix-server/proxy
被动:zabbix-server向zabbix-agent请求获取监控项的数据,zabbix-agent被动的发送数据
zabbix-proxy:监控代理者。通过安装zabbix proxy,可将主机做为代理,代理zabbix-server收集部分被监控端的监控数据,写入zabbix-proxy自己的数据库中,再统一按时发往zabbix-server端。(可视为一个小型的zabbix-server,配置方法也几乎等同于zabbix-server,常用于分布监控环境中)。默认端口:10051.
zabbix_get:通常在zabbix-server或zabbix-proxy端,执行获取远程zabbix-agent端信息。用于排错
zabbix_sender:用于再zabbix-agent端发送数据给zabbix-server或zabbix-proxy。用于耗时比较长的检查(一般在脚本执行完毕后,使用sender主动提交数据)
zabbix_java_gateway: 类似于zabbix_agent会将数据发送到zabbix-server或zabbix-proxy,但是只能用于Java,只能主动去获取数据,而不能被动获取数据
Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据
Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上
在zabbix的监控架构中,主要分为了三种架构: server-agent 、server-proxy-agent、master-node-client三种 ,适合于不同的生产环境。
通常也被称为server-client架构
是zabbix的最基本的架构,如名称所示其结构为zabbix-server与zabbix-agent构成,中间没有涉及任何代理环节
其直接由zabbix-server和zabbix-agent之间进行数据交互
搭建时,在监控机上安装zabbix-server及数据库,被监控机上安装zabbix-agent即可
适用于网络简单,设备较少的监控环境
别名server-proxy-client架构
是zabbix企业级的架构,如名称所示其结构为zabbix-server、zabbix-proxy、zabbix-agent构成,其中zabbix-proxy作为代理环节
这个架构中的zabbix-proxy本身没有前端,会将从zabbix-agent收集的数据存放入自己的数据库,再统一按时发往zabbix-server
一般用于跨机房或跨网络,设备较多的网络环境的监控
是zabbix中最复杂的监控架构
是zabbix企业级的架构。其结构为zabbix-server(master)、node节点、zabix-agent(client)构成,其中的node节点可以单独的作为一个zabbix-server端,下方可接zabbix-proxy,作类似于server-proxy-agent的架构,也可直接连接zabbix-agent,做server-agent架构。
这个架构中的node节点有自已的配置文件和数据库,它会将配置信息和监控数据向master同步,master的故障或损坏对node其下架构的完整性。
与server-proxy-agent架构类似,都是适用于跨网络或跨机房、设备较多的大型网络环境 。
,