2、ZABBIX的基本介绍及结构详解
2015-12-19 07:57阅读:
Zabbix是什么?
首先我们看看官方是怎么说的:Zabbix is the ultimate
enterprise-level software designed for monitoring availability and
performance of IT infrastructure components. Zabbix is open source
and comes at no
cost.Zabbix是专为监控的可用性和IT基础设施组件的性能极限的企业级软件。Zabbix是开源的,是没有成本。
简单来说,zabbix(音同
zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
为什么选择Zabbix?
有很多理由选择Zabbix解其竞争对手。是由其强大的功能和开源的操作。以及其众多的优点了。(zabbix可以监控多达百万个服务)
Zabbix的发展史:
1998年,project idea generation 项目初建;
br>
2001年,project launch
项目正式启动;
2004年,zabbix 1.0 正式发布;
2005年,zabbix SIA established 发布;
2007年,zabbix 1.4 发布;
2008年,zabbix 1.6 发布;
2009年,zabbix 1.8 发布;
2012年07月31日,ZABBIX 2.0.2 正式版发布;
2012年08月01日
,ZABBIX 2.0.2 正式版发布,分布式系统监控。
2012年09月11日,ZABBIX 2.0.3 RC1
发布,该版本包含前端的一些改进,以及引入 flicker free screens。
2012年11月28日,ZABBIX 2.0.4 RC1 发布,企业级监控系统。
2013年2月12日,ZABBIX 2.0.5
正式版发布,分布式系统监控
2014年7月,ZABBIX 2.2 正式版发布,分布式系统监控
2015年10月28日,ZABBIX 2.4.7
正式版发布,分布式系统监控
Zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
-
email、sms等报警通知功能
(zabbix的优缺点在第一节中已经对比过,这里不再列举)。
Zabbix的主要功能:
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库、
性能监控、FTP
等通用协议监控、多种告警方式、详细的报表图表绘制),支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现),支持自动发现(low
discovery)key
实现动态监控项的批量监控(需写脚本),支持分布式,能集中展示、管理分布式的监控点,扩展性强,server
提供通用接口(api 功能)
,可以自己开发完善各类监控(根据相关接口编写程序实现),编写插件容易,可以自定义监控项,报警级别的设置。
数据收集;可用和性能检测;支持 snmp(包括 trapping
and polling
),IPMI,JMX,SSH,TELNET;自定义的检测;自定义收集数据的频率;服务器/代理和客户端模式;灵活的触发器;您可以定义非常灵活的问题阈值,称为触发器,从后端数据库的参考值;高可定制的报警;发送通知,可定制的报警升级,收件人,媒体类型。
CPU负荷、
内存使用、磁盘使用、网络状况、端口监视、日志监视等等。
硬件监控:Zabbix IPMI Interface
系统监控:Zabbix Agent Interface
Java监控:Zabbix JMX Interface
网络设备监控:Zabbix SNMP Interface
应用服务监控:Zabbix Agent
UserParameter
MySQL数据库监控:percona-monitoring-plulgins
URL监控:Zabbix
Web 监控
Zabbix的系统架构:
总架构图
Proxy分布式架构图
Basic
data flow
>proxy安装时不需要导入data.sql和images.sql,要不然可能会有问题。
>proxy没有UI
>proxy从server同步配置,去agent端收集数据,并暂存数据。
>proxy架构中,zabbix_proxy是守护进程。配置文件为zabbix_proxy.conf,配置文件中proxyMode设置为0是为主动模式(推荐)。设置为1时,为被动模式。
>zabbix server GUI里 proxy mode 需要和zabbix
proxy 配置对应。
Zabbix的特性:
数据收集:
a) 可用性及性能检测
b) 支持 SNMP(trapping 及 polling)、IPMI、JMX 监控
c) 自定义检测
d)
自定义间隔收集收据
e) server/proxy/agents 吸能
灵活的阀值定义:
a) 允许灵活地自定义问题阀值,Zabbix
中称为触发器(trigger), 存储在后端数据库中
高级告警配置:
a)
可以自定义告警升级(escalation)、接收者及告警方式
b)
告警信息可以配置并允许使用宏(macro)变量
c) 通过远程命令实行自动化动作(action)
实时绘图:
a)
通过内置的绘图方法实现监控数据实时绘图
扩展的图形化显示:
b) 允许自定义创建多监控项视图
c) 网络拓扑(network maps)
d) 自定义的面板(screen)和 slide shows,并允许在 dashboard 页面显示
e) 报告
f) 高等级(商业)监控资源
历史数据存储:
a) 数据存储在数据库中
b)
历史数据可配置
c)
内置数据清理机制
配置简单:
a) 主机通过添加监控设备方式添加
b) 一次配置,终生监控(译者注:除非调整或删除)
c) 监控设备允许使用模板
模板使用:
a) 模板中可以添加组监控
b)
模板允许继承
网络自动发现:
a) 自动发现网络设备
b) agent 自动注册
c) 自动发现文件系统、网卡设备、SNMP OID 等
快速的 web 接口:
a) web 前端采用 php 编写
b) 访问无障碍
c) 你想怎么做就能做么做
d) 审计日志
Zabbix API:
a) Zabbix API
提供程序级别的访问接口,第三方程序可以很快接入
权限系统:
b) 安全的权限认证
c) 用户可以限制允许维护的列表
全特性、agent 易扩展:
a) 在监控目标上部署
b) 支持 Linux 及 Windows
二进制守护进程:
a) C 开发,高性能,低内存消耗
b) 易移植
具备应对复杂环境情况:
a) 通过 Zabbix proxy
可以非常容易的创建远程监控
(后续补充)