
Zabbix Server
Zabbix Server是整个Zabbix软件的核心程序。
Server通过轮询和捕获数据,计算是否满足触发器条件,向用户发送通知。它是Zabbix监控代理和proxy代理报告系统可用性和完整性数据的核心组件。Server自身可以通过简单服务远程检查网络服务(比如Web服务器和邮件服务器),像ping命令这种简单检测,不需要通过agent进行检测。
Server是一个包含了存储了所有配置,统计方面和可操作数据的仓库,这些参数都存储到了MySQL数据库里面,它是监控系统问题升级以至于激活警告管理器的实体。
基本的Zabbix服务器分为三个组件:Zabbix Server,Web前端和数据库。
Agent
Zabbix Agent部署在监控的目标上,主动监测本地的资源和应用(硬件驱动,内存,处理器统计等)。
Zabbix Agent收集本地的操作信息并将数据报告给Zabbix Server用于进一步处理。一旦出现异常(比如硬盘空间满了,或者数据库OOM),Zabbix Server会主动警告管理员指定机器上的异常,Zabbix Agent的高效源于它可以利用本地系统调用来完成统计数据的收集。
被动(passive)和主动(active)检查
在passive check模式中,Agent应答来自Server的数据请求,Zabbix Server(或者proxy)询问Agent数据,如CPU负载,然后Zabbix Agent回送结果。
在active check模式中,Agent 必须首先从Zabbix Server索取监控项列表已进行独立处理,然后周期性地发送监控结果给Server。
proxy
Zabbix Proxy是一个可以从一个或者多个受监控设备收集监控数据,并将信息发送到Zabbix Server的进程。所有收集到的数据都在本地进行缓存,然后传送到Proxy所属的Zabbix Server。
部署Zabbix Proxy是可选项,但是部署Zabbix Proxy可以降低Zabbix Server的负载,也可以降低Server的CPU消耗和磁盘I/O负载
Zabbix需要使用独立的数据库,这也是完成远程区域、分支机构等在没有本地管理员的网络的集中监控的解决方案。
Java gateway
从Zabbix 2.0版本开始,以Zabbix守护进程的形式原生支持监控JMX程序出现的,它被称为Zabbix Java gateway。Zabbix gateway是用Java语言编写的,只需要启动时在命令行指定-Dcom.sun.management.jmxremote即可。
Sender
Zabbix Sender是一种命令行应用,它可以将性能数据发送到Zabbix Server进行处理该应用通常用在长时间运行的用户脚本,用于定期发送可用性和性能数据。
/bin/zabbix_sender -z zabbix_server -s "linux DB" -k db.connections -o 43
| -z | Zabbix Server主机 |
| -s | 受监控主机的名字(与Zabbix前端注册的名称一致) |
| -k | 监控项的值 |
| -o | 要发送的值 |
Get
Zabbix Get是一种命令行应用,它可以用来与Zabbix Agent进行通讯,并从Agent那里获取到所需的信息,该应用通常用来Agent故障排除。
文章评论
水哥
@yixiu 我水文章竟然被你发现了。