一、zabbix是什么?
zabbix是由ALexei Vladishev创建,目前由Zabbix SIA在持续开发和支持。
zabbix是一款企业级的分布式开源监控方案。它能监控各种网络参数以及服务器健康性和完整性的软件。zabbix使用灵活的通知机制,允许用户为几乎任何实践配置基于邮件(短信、微信等)的告警。这样可以快速反馈服务器的问题。基于已存储的数据,zabbix提供了出色的报告和数据可视化功能。
zabbix支持主动轮询和被动捕获。zabbix所有的报告、统计信息和配置参数都可以通过基于web的前端页面课确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后 ,zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此
二、zabbix功能
-
数据收集
- 可用性
- 支持SNMP(包括主动轮询和被动获取,也称简单网络管理协议),IPMI(智能平台管理接口)监控
- 自定义检查
- 按照自定义的间隔收集需要的数据
- 通过server/proxy+agents来执行 -
灵活的阈值定义
- 你可以非常灵活的定义问题阈值,称之为触发器从后端数据库获取参考 -
高度可配置化的告警
- 可根据递增机制,接收方和媒介类型自定义发送告警通知
- 使用宏变量可以使告警通知更加高效有用
- 自动相应动作可包含远程命令 -
实时图表绘制
- 使用内置图表绘制功能可以将监控项的内容实时绘制成图表 -
Web监控功能
- Zabbix可以追踪模拟鼠标在Web网站上的点击操作,来检查Web的功能和响应时间 -
历史数据存储
- 数据库数据
- 可配置历史数据
- 内置数据管理机制(housekeeping) -
配置简单
- 将被监控对象添加为主机
- 在数据库中获取主机进行监视
- 应用模板来监控设备 -
使用模板
- 在模板中分组检查
- 模板可以关联其他模板 -
网络发现
- 自动发现网络设备
- 监控代理自动注册
- 发现文件系统,网络接口和SNMP OID值 -
功能强大,易于扩展的agent
- 部署在被监控对象上
- 支持Linux和Windows -
为复杂环境准备
- 使用Zabbix proxy代理服务器,使得远程监控更简单
三、 zbbbix结构
-
server
Zabbix server 是agent程序报告系统可用性、系统完整性和统计数据的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。 -
数据库存储
所有配置信息和Zabbix收集到的数据都被存储在数据库中。 -
Web界面
为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是Zabbix Server的一部分,通常(但不一定)跟Zabbix Server运行在同一台物理机器上。 -
Proxy代理服务器
Zabbix proxy 可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。 -
Agent监控代理
Zabbix agents监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。 -
数据流
监控方面,为了创建一个监控项(item)用于采集数据,必须先创建一个主机(host)。
告警方面,在监控项里创建触发器(trigger),通过触发器(trigger)来触发告警动作(action)。
因此,如果你想收到Server XCPU负载过高的告警,你必须:
- 为Server X创建一个host并关联一个用于对CPU进行监控的监控项(Item)。
- 创建一个Trigger,设置成当CPU负载过高时会触发
- Trigger被触发,发送告警邮件
四、zabbi-agent
-
概况
Zabbix agent部署在监控的目标上,主动监测本地的资源和应用(硬件驱动,内存,处理器统计等)。
Zabbix agent收集本地的操作信息并将数据报告给Zabbix server用于进一步处理。一旦出现异常 (比如硬盘空间已满或者有崩溃的服务进程), Zabbix server会主动警告管理员指定机器上的异常。. Zabbix agents 的极端高效缘于它可以利用本地系统调用来完成统计数据的收集。 -
被动(passive)和主动(active)检查
Zabbix agents可以执行被动和主动两种检查方式。
在passive check 模式中agent应答数据请求,Zabbix server(或者proxy)询问agent数据,如CPU 的负载情况,然后Zabbix agent回送结果。
Active checks 处理过程将相对复杂。 Agent必须首先从Zabbix sever索取监控项列表以进行独立处理,然后周期性地发送新的值给server。
执行被动或主动检查是通过选择相应的监测项目类型来配置的。item type. Zabbix agent处理监控项类型有’Zabbix agent’和’Zabbix agent (active)’。
-
zabbix-agent支持的平台
- Linux
- IBM AIX
- FreeBSD
- NetBSD
- OpenBSD
- HP-UX
- Mac OS X
- Solaris: 9, 10, 11
- Windows: 支持2000后所有桌面和服务器版。
安装:
参见Zabbix agent安装指令 installation instructions