自动化运维之Zabbix


自动化运维之Zabbix

文章插图
 
Alexei Vladishev创建了Zabbix项目,当前处于活跃开发状态,Zabbix SIA提供支持.
Zabbix是一个企业级的、开源的、分布式的监控套件
Zabbix可以监控网络和服务的监控状况. Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出相应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助用户完成容量规划.
Zabbix支持polling和trApping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问. Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况. Zabbix可以通过尽可能的配置来扮演监控你的IT基础框架的角色,而不管你是来自于小型组织还是大规模的公司.
Zabbix是零成本的. 因为Zabbix编写和发布基于GPL V2协议. 意味着源代码是免费发布的.
Zabbix公司也提供商业化的技术支持.
在知道zabbix是什么之后,我们最关心的是zabbix有什么特性,了解特性之后,我们才能决定是否会使用zabbix,以及zabbix是否适合我们.
概述Zabbix是一个高度集成的网络监控套件,通过一个软件包即可提供如下特性
自动化运维之Zabbix

文章插图
 
数据收集
  • 可用性及性能检测
  • 支持SNMP(trapping及polling)、IPMI、JMX监控
  • 自定义检测
  • 自定义间隔收集收据
  • server/proxy/agents吸能
灵活的阀值定义
  • 允许灵活地自定义问题阀值,Zabbix中称为触发器(trigger), 存储在后端数据库中
高级告警配置
  • 可以自定义告警升级(escalation)、接收者及告警方式
  • 告警信息可以配置并允许使用宏(macro)变量
  • 通过远程命令实行自动化动作(action)
实时绘图
  • 通过内置的绘图方法实现监控数据实时绘图
扩展的图形化显示
  • 允许自定义创建多监控项视图
  • 网络拓扑(network maps)
  • 自定义的面板(screen)和slide shows,并允许在dashboard页面显示
  • 报告
  • 高等级(商业)监控资源
历史数据存储
  • 数据存储在数据库中
  • 历史数据可配置
  • 内置数据清理机制
配置简单
  • 主机通过添加监控设备方式添加
  • 一次配置,终生监控(译者注:除非调整或删除)
  • 监控设备允许使用模板
模板使用
  • 模板中可以添加组监控
  • 模板允许继承
网络自动发现
  • 自动发现网络设备
  • agent自动注册
  • 自动发现文件系统、网卡设备、SNMP OID等
快速的web接口
  • web前端采用php编写
  • 访问无障碍
  • 你想怎么做就能做么做
  • 审计日志
Zabbix API
  • Zabbix API提供程序级别的访问接口,第三方程序可以很快接入
权限系统
  • 安全的权限认证
  • 用户可以限制允许维护的列表
全特性、agent易扩展
  • 在监控目标上部署
  • 支持linux及windows
【自动化运维之Zabbix】二进制守护进程
  • C开发,高性能,低内存消耗
  • 易移植
具备应对复杂环境情况
  • 通过Zabbix proxy可以非常容易的创建远程监控
zabbix进程组成结构,默认情况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_JAVA_gateway是可选,这个需要另外安装 。下面来分别介绍下他们各自的作用 。
自动化运维之Zabbix

文章插图
 
进程介绍zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等
zabbix_get
zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令 。通常用户排错 。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查 。
zabbix_sender
zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查 。很多检查非常耗时间,导致zabbix超时 。于是我们在脚本执行完毕之后,使用sender主动提交数据 。
zabbix_server
zabbix服务端守护进程 。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据 。


推荐阅读