Zabbix概术及基础介绍(一)

1、Zabbix介绍前端

Zabbix 是由Alexei Vladishev建立,目前由Zabbix SIA在持续开发和支持。
Zabbix 是一个企业级的分布式开源监控方案。
Zabbix是一款可以监控各类网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,容许用户为几乎任何事件配置基于邮件的告警。这样能够快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
Zabbix支持主动轮询和被动捕获。Zabbix全部的报告、统计信息和配置参数均可以经过基于Web的前端页面进行访问。基于Web的前端页面能够确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix能够在IT基础架构监控方面扮演重要的角色。对于只有少许服务器的小型组织和拥有大量服务器的大型公司也一样如此。
Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。
Zabbix公司也提供商业化的技术支持。
java

 

2、Zabbix特色node

 Zabbix是一个高度集成的网络监控解决方案,一个简单的安装包中提供多样性的功能。web

 数据采集:数据库

  •   可用性和性能检查
  • 支持SNMP(包括捕获和主动轮训),IPMIJMXVMware监控
  • 自定义检查
  • 按照自定义的间隔收集须要的数据
  • ServerProxyagents执行
灵活的阀值定义
  • 您能够很是灵活的定义问题阈值,称之为触发器,触发器从后端数据库获取参考值
高度可配置化的告警
  • 能够根据升级计划,接收方和媒体类型来定制发送告警通知 * 使用宏变量可使告警通知更有意义更高效 * 自动化动做包含执行远程命令
实时图表绘制
  • 使用内置图表绘制功能能够将监控项的内容当即绘制成图表
Web监控功能
  • Zabbix能够模拟鼠标在Web网站上的操做来检查Web的功能和响应时间
丰富的可视化选项
  • 可以建立自定义的图形,图形中可将多个监控项组合在一个视图展现
  • 网络拓扑图
  • 以仪表盘的样式展示自定义的展示和幻灯片
  • 报告
  • 监控资源的高级(业务)视图
历史数据存储
  • 数据存储在数据库中
  • 可配置历史数据
  • 内置数据管理机制
配置简单
  • 将被监控对象添加为主机
  • 主机被建立用于监控,在数据库中是惟一存在的
  • 应用模板来监控设备
使用模板
  • 在模板中分组检查
  • 模板能够关联其余模板
网络发现
  • 自动发现网络设备
  • 监控代理自动注册
  • 发现文件系统,网络接口和SNMP OID值
简洁的Web界面
  • Web前端基于PHP
  • 可从任何地方访问
  • 你能够定制本身的操做方式
  • 审核日志
Zabbix API
  • Zabbix API为Zabbix 提供了对外的可编程接口,用于批量操做,第三方软件集成和其余目的
权限管理系统
  • 安全用户认证
  • 特定用户能够限制访问特定的视图
功能强大并易于扩展的监控代理
  • 部署在被监控对象上
  • 能够部署在Linux和Windows上
二进制代码
  • 为了性能和更少内存的占用,用C语言编写
  • 便于移植
为复杂环境准备
  • 使用Zabbix proxy代理服务器,使得远程监控更简单

3、Zabbix功能总结编程

  ①具有常见的商业监控软件所具有的功能(主机的性能监控、网络设备性能监控、数据库、性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)
  ②支持自动发现网络设备和服务器(能够经过配置自动发现服务器规则来实现)
  ③支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本)
  ④支持分布式,能集中展现、管理分布式的监控点
  ⑤扩展性强,server 提供通用接口(api 功能),能够本身开发完善各种监控(根据相关接口编写程序实现)编写插件容易,能够自定义监控项,报警级别的设置。
  ⑥数据收集
    可用和性能检测
    支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET
    自定义的检测
    自定义收集数据的频率
    服务器/代理和客户端模式
    灵活的触发器
  能够定义很是灵活的问题阈值,称为触发器,从后端数据库的参考值
    高可定制的报警
    发送通知,可定制的报警升级,收件人,媒体类型
    通知可使用宏变量有用的变量
    自动操做包括远程命令
    实时的绘图功能
    监控项实时的将数据绘制在图形上面
    WEB 监控能力
    ZABBIX 能够模拟鼠标点击了一个网站,并检查返回值和响应时间
 
3、Zabbix组件
zabbix由如下几个组件部分构成:
一、Zabbix Server:负责接收agent发送的报告信息的核心组件,全部配置,统计数据及操做数据均由其组织进行;
二、Database Storage:专用于存储全部配置信息,以及由zabbix收集的数据;
三、Web interface:zabbix的GUI接口,一般与Server运行在同一台主机上;
四、 Proxy:可选组件,经常使用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;
五、Agent: 部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;
注:zabbix node也是 zabbix server的一种 。


4、zabbix进程
默认状况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另一个zabbix_java_gateway是可选,这个须要另外安装。下面来分别介绍下他们各自的做用。
  1. zabbix_agentd 客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用状况等。
  1. zabbix_get
zabbix工具,单独使用的命令,一般在server或者proxy端执行获取远程客户端信息的命令。一般用户排错。例如在server端获取不到客户端的内存数据,咱们可使用 zabbix_get获取客户端的内容的方式来作故障排查。
  1. zabbix_sender zabbix工具,用于发送数据给server或者proxy,一般用于耗时比较长的检查。不少检查很是耗时间,致使zabbix超时。因而咱们在脚本执行完毕以后,使用sender主动提交数据
  1. zabbix_server
备注:固然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。
  1. zabbix_proxy zabbix代理守护进程。功能相似server,惟一不一样的是它只是一个中转站,它须要把收集到的数据提交/被提交到server里。
  1. zabbix_java_gateway zabbix2.0以后引入的一个功能。顾名思义:Java网关,相似agentd,可是只用于Java方面。须要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。
 
5、Zabbix常见相关术语
host(主机):要监控的网络设备,可由IP或DNS名称指定
host group(主机组):主机的逻辑容器,能够包含主机和模板,但同一个组内的主机和模板不能互相连接;主机组一般在给用户或用户组指派监控权限时使用
item(监控项):一个特定监控指标的相关数据,这些数据来自于被监控对象;item是zabbix进行数据收集的核心,没有item,将没有数据;相对某监控对象来讲, 每一个item都有"key"进行标识
trigger(触发器):一个表达式, 用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阀值;接受到的数据大于阀值是,触发器状态将从OK转变为Problem,当数据量再次回归到合理范围时,其状态将从Problem转换回OK
event(事件):即发生的一个值得关注的事件,例如触发器的状态转变,新的agent或从新上线的agent的自动注册等
action(动做):指对于特定事件事先定义的处理方法,经过包含操做(如发送通知)和条件(什么时候执行操做)
escalation(报警升级):发送警报或执行远程命令的自定义方案,如每隔5min发送一次警报,共发送5次等
media(媒介):发送通知的手段和通道,如Email、Jabber或SMS
notification(通知):经过选定的媒介向用户发送的有关某事件的信息
remote command(远程命令):预约义的命令,可在被监控主机处于某个特定条件下时自动执行
template(模板): 用于快速定义被监控主机的预设条目集合,一般包含了item、trigger、graph、screen、application以及low-level discovery rule;模板能够直接连接至单个主机
application(应用):一组item的集合
web scennaro(web场景):用于检测web站点可用性的一个或多个http请求
frontend(前端):zabbix的web接口
自动发现(discovery):经过定义自动发现条件,配合动做批量添加监控主机
自动注册(auto-registraion):agent 向server 发送注册请求,server 定义自动注册条件批量添加主机
低级自动发现(low_discovery):经过低级自动发现能够简单定义一种类型有多个项的的状况,如:对磁盘容量监控,一般磁盘会有多个分区,咱们经过一次定义能够监控磁盘上的全部分区
维护(maintenace):定义主机合适出于维护状态
拓扑图(map):能够主机直接的拓扑
屏幕(Screents):多种类型显示到一个screent 里
IT 服务(IT service):有时一台主机宕掉可能不会影响服务,IT 服务定义服务容忍的限度
仪表盘(dashboard):监控的总体状态显示
总览(overview):显示全部机器的数据或者触发器状态
web:经过定义场景监控web 服务器
最新数据(last data):可查看主机项目得到的最新数据
事件(Event):触发器状态改变的记录
 
 
  6、Zabbix的优缺点
优势:
 开源,无软件成本投入 
 Server 对设备性能要求低 
 支持设备多,自带多种监控模板 
 支持分布式集中管理,有自动发现功能,能够实现自动化监控 
 开放式接口,扩展性强,插件编写容易 
 当监控的item 比较多服务器队列比较大时能够采用被动状态,被监控客户端主动从 
 Server 端去下载须要监控的item 而后取数据上传到server 端。这种方式对服务器的负载比较小。 
  Api 的支持,方便与其余系统结合 
缺点:
需在被监控主机上安装agent,全部数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库
相关文章
相关标签/搜索