zabbix学习笔记

zabbix是企业级的监控解决方案,对IT基础设施进行可用性和性能监控,同时是完全开源的。可以从网络收集各种类型的数据,能高性能实时的并行监控成千上万的服务器、虚拟机和网络设备。除了存储数据,也有可视化功能(如概述,maps,graphs,screens等),以及以非常灵活的方式,以报警为目的进行数据分析。

Zabbix对数据采集提供极大的性能,可以扩展到非常大的环境。使用zabbix代理可以进行分布式监控。zabbix提供基于web的接口,安全用户认证和灵活的用户权限模式管理。支持Polling和Trapping,与高性能agent从几乎任何流行的操作系统进行数据 收集 。也支持无agent的监控方法。

支持web监控以及WMware虚拟机监控。zabbix能自动发现网络服务器和设备,以及执行低级别发现方法,自动对发现实体分配性能和可用性检查。

官方描述:
zabbix学习笔记_第1张图片

一、zabbix功能
1、数据收集:支持各种各样的方法进行数据获取,包括性能和可用性信息。
zabbix学习笔记_第2张图片
zabbix 客户端:使用c开发,运行在各种平台,收集设备的CPU、内存、磁盘和网络接口使用信息。占用空间小、资源低。监控配置集中在zabbix server,容易管理zabbix agent,所有服务器能使用同样的一个配置文件。支持被动(polling)和主动检查(trapping)。
zabbix学习笔记_第3张图片

被动方式:zabbix server(或zabbix proxy)从zabbix agent请求一个值,agent处理请求,返回值到zabbix server或proxy。
zabbix学习笔记_第4张图片

主动方式:zabbix agent从zabbix server或proxy请求主动检查列表,定期的发送检查结果。
zabbix学习笔记_第5张图片

agent功能:除以下功能外,也支持使用loadable modules、user parameters、zabbix sender扩展agent功能。
zabbix学习笔记_第6张图片


snmp 和 ipmi 客户端:能使用snmp客户端从设备收集数据,支持版本v1,v2或v3。收集数据能使用snmp轮询模式或接收snmp traps,通过snmptrap和zabbix_sender的功能。使用ipmi从硬件获取信息,如Dell iDRAC,HP iLO。收集CPU温度,风扇速度,系统电压,物理磁盘状态,维护灯状态等。

无客户端监控:对无法安装agent进行监控的设备,可以使用以下方法进行监控
zabbix学习笔记_第7张图片

自定义监控:支持自定义脚本,使用user parameter特性。zabbix server能使用外部检查,运行自定义脚本。使用加载模块的方式扩展zabbix供。

虚拟机监控:监控VMware环境,自动发现超级管理程序和虚拟机,以及监控VMware vCenter和vSphere。

web场景:定期的执行预定义场景和存储获取结果,zabbix web监控允许检查多个web资源的性能和可用性,基于收集的数据生成图形,警告,和发送报警等,存储响应时间,响应码,下载速度等。也能模拟真实用户访问,提高用户体验。

java应用:使用JMX技术监控java应用。zabbix server请求zabbix java gateway一个特殊的JMX计数,远程可以通过JMX API能提供java应用程序的信息,不需要任何附加软件。

数据库监控:通过ODBC技术和其驱动,zabbix server能收集任何关系型数据库(如mysql、postgresql、oracle、microsoft sql server)的数据。

计算和聚合信息:通过算术表达式,计算items,允许创建虚拟数据源,值定期的重新计算。使用聚合函数如maximum、minimum和average创建一个组中所有主机的通用item。

内部性能:内部检查对zabbix server或proxy提供重要的值,允许zabbix管理员快速的解决问题。

2、问题检测
当收集数据后,依据数据评估规则或触发表达式,开始进行数据评估。当到达触发阀值,触发器改变状态从OK到PROBLEM,当数据低于阀值也返回到正常状态。

zabbix提供非常灵活、智能阀值定义选项。触发器阀值可以简单为大于某值,也可以使用逻辑表达式如除法、乘法、不等于、逻辑AND和OR。

zabbix允许使用来自不同主机的多个不同items构建触发器表达式。允许构建非常复杂,智能阀值,减少误报。

使用依赖可以减少报警,触发器可以定义不同的安全级别。

3、可视化
zabbix web前端:提供查看图形数据和修改监控配置的web界面

总体仪表盘:提供zabbix server、系统状态、主机状态、最新20个issues、web监控等信息。

图形:能够通过latest data,自定义图形,Bar报告等查询周期内的各种数据报表。

Maps:可以画出网络拓扑图,图形元素能连接到触发器,可以查看到发生了什么。图标和连接描述能包含用户定义宏,可以实时显示带宽数据等。

Screen & slide:通过screen能组织显示信息在单个屏幕。通过slide可以轮询显示多个screen。

访问裸数据:所有收集的数据都存储在history表。

事件和通知描述:zabbix在数据库中存储所有事件。

4、通知
接收消息:zabbix支持几种预定义通过方式:邮件、SMS、Jabber、自定义告警脚本。通告内容是可以完全自定义的。能够在特殊的时间段,将特定基本的消息通知到不同人员。
zabbix学习笔记_第8张图片

执行命令:shell命令能在远程机器执行。典型命令使用重启服务器或服务,命令能执行在zabbix server或agent,使用IPMI、telent和SSH。

升级应对问题:将未解决的问题自动升级到下一个步骤,每个升级步骤执行action。

5、模板
使用模板对维护zabbix是非常方便的方式,一套items、triggers、graphs、applications、screens和discovery rules能分配到模板,允许有效的管理无数设备。

模板能连接到许多的主机,模板中的所有items、triggers和graphs将自动添加到连接主机,改变模板中的定义,也将自动应用到所有主机。
zabbix学习笔记_第9张图片

模板支持导入和导出,数据导出为XML格式。

6、自动发现
对大环境,使用自动化能提高效率。
支持三种自动发现方式:
网络发现:运行定期的扫描网络。发现功能将生成发现事件,触发预定义action,如:发生通知到用户,添加或移除主机,启动或关闭主机,添加或移除主机到一个组,连接或取消连接模板到主机,执行远程脚本等。
zabbix学习笔记_第10张图片

低级别发现:提供自动对设备不同元素创建items、triggers和graphs。支持发现文件系统,网络接口,CPUs和CPU cores,SNMP OIDs。

活动agent自动注册:如果设备有安装zabbix agent,允许zabbix server开始自动监控新设备。

7、分布式监控
使用zabbix proxy:
zabbix proxy在本地收集数据,并发送到监控中心zabbix server。使用zabbix proxy可以非常简单的维护监控环境,提高中心zabbix server的性能。
zabbix学习笔记_第11张图片

8、安全和认证
zabbix有灵活的用户权限模式,能有效的管理用户权限。有三种用户类型:zabbix user、zabbix admin、zabbix super admin。支持多种认证方法:内部数据库、HTTP基本认证、LDAP认证。

9、系统管理
支持维护周期,能用于计划性的维护主机和主机组,在维护时可以设置为仅仅收集数据,不进行错误通知,或者停止收集数据。

支持主机固定资产管理,如序列号,MAC地址,OS,软件等。

使用自定义脚本管理主机,能在zabbix web前端执行。

10、Zabbix API
提供API访问所有可用的功能。

二、部署架构
使用LAMP或LNMP环境,数据库层可以使用主从(MS)配置,Zabbix agent将从各主机收集的数据发送到Zabbix Server,存储到Master数据库,然后通过主从复制同步到Slave数据库。
zabbix学习笔记_第12张图片

1、小规模环境,单机房架构:
将zabbix server和数据存储,web展示等都放到同台主机。
zabbix学习笔记_第13张图片

2、大规模环境,多机房架构:
zabbix前端、zabbix server和数据存储分离,数据存储使用主从模式,同时引入zabbix proxy,降低中心zabbix server的压力,提高性能。
zabbix学习笔记_第14张图片


参考:
1、 http://www.zabbix.com/product.php
2、 http://www.zabbix.com/functionality.php
3、<<Zabbix_product_brochure_web.pdf>>



来自为知笔记(Wiz)


你可能感兴趣的:(zabbix学习笔记)