Zabbix入门

Zabbix的客户

在国内,BAT的部分业务、豆瓣、58同城、PPTV、搜狐、Letv、人人、网易、小米、360等公司都在使用Zabbix。

随着云计算、虚拟化的大规模应用,以及未来移动互联网、物联网等的兴起,Zabbix的使用将越来越广泛,应用场合也越来越多。目前,不少互联网公司、云计算公司、系统集成软件公司、外包服务公司等,都有对Zabbix进行二次开发和大规模使用。所以,可以断言,Zabbix在未来将会引领监控软件的潮流。

Zabbix适合中小型企业、大中型企业的用户使用。单个Server节点可以支持上万台设备,每秒可以处理1.5万次请求,理论上可以支持5万台设备。

Zabbix自身的定位是中型企业和大型企业,如果在特大型环境中(具有上万台设备规模的Zabbix环境)使用,需要解决大并发、大压力的问题,这对使用者提出了更高的要求

使用Zabbix的准备

Zabbix使用起来很简单,读者稍加学习即可上手,如果你以前从未接触过任何监控系统,从零基础开始学习,也是一件相对容易的事情。

这里暂且把Zabbix的用户分为如下三类(这样分不一定恰当)。

入门用户:以前从未接触过任何监控系统,也不懂linux。学会Zabbix的安装配置即可(安装可以用RPM,源码安装也很容易)。

中级用户:有linux基础,熟悉LAMP和LNMP环境搭建、MySQL数据库、shell脚本,以及简单的英文阅读能力,主要难点在于触发器、数据库调优和API的使用

高级用户:熟悉PHP、C等一门脚本语言,具备二次开发能力,能修改源码,对Zabbix从代码级别进行优化和扩展。前提是对Zabbix的各个功能十分熟悉,或者至少熟悉需要改进的功能。

对于一般用户和运维人员来说,达到中级用户使用水平,即可满足基本的使用需求。本书主要讲解前两类用户需要的知识,对第三类用户所需的知识也有涉及。

Zabbix为何物

Zabbix官网网站:http://www.zabbix.com

Zabbix是一个企业级的高度集成开源监控软件,提供分布式监控解决方案,可以用来监控设备、服务等的可用性和性能,其产品部分企业版和社区版,是一个真正的源代码开发产品,用户可以自由下载并使用该软件。

Zabbix SIA公司是Zabbix的官方技术团队成立的公司,其运作模式是商业软件的开源----软件的使用免费,服务收费。其为用户提供咨询、技术支持服务(定制开发、解决方案、人员培训等)。

选择Zabbix的理由

对比同类监控产品,有以下理由选择使用Zabbix

1)Zabbix是一个自由开放源代码的产品,用户可以对源代码进行任意修改和二次开发。Zabbix采用GNU General Public License(GPL)version 2开源协议

2)安装和配置简单,用户仅仅需要一些简单的学习,即可完成监控的搭建工作。

3)搭建环境简单,基于开源软件构建平台,仅需要linux、apache/nginx、MySQL/PostgreSQL/Oracle、PHP即可,无须专用操作系统支持,也无须专用硬件。

4)Zabbix-Agent完全支持Linux、Unix、Windows、AIX、BSD和Solaris的监控,Server和Agent都采用C语言编码,对系统的资源占用非常小,数据采集的性能和速度非常快。

5)将数据采集持久存储到数据库,便于对监控数据的二次分析。

6)非常丰富的扩展能力,很轻松的自定义监控项和实现数据采集,几乎能监控所有的数据。例如,可以监控网站的访问次数,监控UPS和天气温度等。毫不夸张的说,在Zabbix的世界里,往往有你想不到的事情,没有办不到的事情。

7)开源社区的运作模式,有各种论坛、邮件列表、IM及时沟通等。

因此,如果你是一个系统管理员、网络管理员和运维人员,想要构建一套自己的监控系统环境,Zabbix将会是最佳的选择。如果你是开发人员,想基于开源软件开发一套属于自己的监控系统,Zabbix也是比较好的选择。

Zabbix的架构

Zabbix的版本大致可以分为:1.0、1.1、1.4、1.6、1.8、2.0、2.2这几大发行版本。对外的首个发行版本为Zabbix 1.0 alpha1,其发行时间为2001年4月7日,随着版本的升级,其功能特性也在不断增强和完善。从Zabbix 1.8开始,增强了很多新的功能和特性,如对JMX、自动发现、Low Level discovery功能的支持,而当前的Zabbix 2.2则有了进一步的完善,性能相比Zabbix 2.0提高了五倍,成为当前功能最强大的版本,支持对VMware的监控,可以动态加载模版,Web能够模版化配置。下一个版本是2.4,目前Zabbix官方正在规划中。

Zabbix的通用架构是Client/Server架构,分布式架构为Client/Proxy/Server或Client/Node/Server,Zabbix-Server将采集到的数据持久地存储到数据库中,用前端UI友好的展示给用户。

正如前面提到的,Zabbix数据的采集不仅可以使用Agent方式,也可以使用其他方式,如SNMP、SSH、Telnet、IPMI等多种协议。

Zabbix的功能特性

Zabbix有常见的商业监控软件所具备的功能,如主机的性能监控、网路设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制、分布式、可扩展能力、API等。

1)数据收集

可用、性能检测

支持Agent、SNMP(包括Trapping和Polling)、IPMI、JMX、SSH、Telnet等

自定义的检测

自定义收集数据的频率

服务器端/代理端和客户端模式

2)灵活的触发器

可以定义非常灵活的告警阈值和多种告警相关联的条件。

3)高度可定制的告警

发送通知,可定制包括告警级别、动作升级、收件人和媒体类型

通知可以使用全局宏变量和自定义的变量

自动处理功能包括远程命令的自动调用和执行

4)实时的绘图功能

监控项将数据实时绘制在图形上。

5)web监控能力

Zabbix可以模拟浏览器请求一个网站,并检查返回值和响应时间

6)多种可视化的展示

可以自定义监控的展示图,将多种监控数据集中展示到一张图中

网络拓扑图

自定义的Screens和Slide shows可以将多种图形集中展示

报表功能

资源使用情况和监控展示

7)历史数据的存储

数据存储在数据库中

历史数据的存放周期可配置

定期删除过期的历史数据

8)配置非常容易

配置比较简单,只需要两步即可:第一步,添加设备;第二步,应用模版即可完成监控

9)使用模版

模版可以分组

模版具有可继承性

10)网络发现

支持自动发现网络设备和服务器(可以通过配置自动发现服务规则实现)

Agent自动注册

支持自动发现(Low level discovery)实现动态监控项的批量监控(支持自定义),内置的自动发现包括文件系统、网络接口、SNMP OID,可定制自动发现

11)快速的访问接口

web页面基于PHP

远程访问

日志审计

12)API功能

应用API功能可以方便地和其他系统结合,包括手机客户端的使用

13)系统权限

不同的用户展示监控的资源不同

对用户的身份认证

14)程序特性

用C语言编写,其性能和内存开销非常小

15)大型环境的支持

利用Zabbix-Proxy方式即可轻松构建远程监控


你可能感兴趣的:(云计算,移动互联网,系统集成,监控系统,监控软件)