优点:
-
支持多平台的企业级分布式开源监控软件
-
安装部署简单,多种数据采集插件灵活集成
-
可实现复杂多条件告警
-
自带图画功能,可将得到的数据绘制成图形
-
提供多种API接口,支持调用脚本
-
出现问题时可以自动远程执行命令(需要对agent设置执行权限)
缺点:
-
项目批量修改不方便
-
中文资料少,服务支持有限
-
入门容易,但是深沉次需求需要非常熟悉zabbix并进行大量的二次开发,难度较大
-
系统级别告警、告警邮件、自定义项目告警需要自己设置,过程繁琐
-
缺少数据汇总功能,数据报表也需要进行二次开发
1、Zabbix Server
2、Zabbix Database Storage
主要用于存储数据,所有配置信息和Zabbix收集到的数据都被存储在数据库中。常用的存储设备有MySQL、Oracle、SQLite等。
3、Zabbix Web 界面
这是Zabbix提供的GUI接口,通常(但不一定)与Zabbix Server运行在同一台物理机器上。
4、Zabbix Proxy代理服务器
这是一个可选组件,常用于分布监控环境中,代理Server可以替Zabbix Server收集性能和可用性数据,汇总后统一发往Zabbix Server端。
5、Zabbix Agent监控代理
Zabbix Agent部署在被监控主机上,能够主动监控本地资源和应用程序,并负责收集数据发往Zabbix Server端或Zabbix Proxy端。
在zabbix监控系统中,有一些常用的术语,这些术语可能和其它监控系统的叫法不同,但含义相同,这里做下简单介绍。
主机(host)
表示要监控的一台服务器或者网络设备,可以通过IP或主机名指定。
主机组(host group)
监控项(item)
表示一个监控的具体对象,例如监控服务器的CPU负载、磁盘空间等,item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"来标识
触发器(trigger)
其实就是一个监控阈值表达式,用于评估某监控对象接收到的数据是否在合理范围内;如果接收的数据大于阈值时,触发器状态将从"OK"转变为"Problem",当接收到的数据低于阈值时,又转变为"OK"状态。
应用集(Applications)
一组监控项组成的逻辑集合。
动作(action)
指对于监控中出现的问题事先定义的处理方法,例如发送通知,何时执行操作、执行的频率等等;
报警媒介类型(media)
表示发送通知的手段,告警通知的途径,如Email、Jabber或者SMS等;
模板(template)
一组可以被应用到一个或多个主机上的实体集合,一个模板通常包含了应用集、监控项、触发器、图形、聚合图形、自动发现规则、Web场景等几个项目;模板可以直接链接到某个主机。 模板是学习zabbix的一个难点和重点,为了实现批量、自动化监控,通常会将具有相同特征的监控项汇总到模板中,然后在主机中直接引用即可,实现快速监控部署。