zabbix

来源:互联网 发布:淘宝网男包包 编辑:程序博客网 时间:2024/06/18 11:40

监控系统的发展

介绍zabbix之前,先了解一下监控的发展过程:
在随着业务量的增长,数据量不断增加,单台服务器不能满足我们的需求,计算机集群出现无疑是解决问题的有效手段,但是这么多服务器怎么去发现故障机,也是比较头疼的问题。于是监控出现了, 厂家也纷纷提供了接口对服务器的健康状态进行监控(其实也就是传感器收集底层数据),但是每个厂家也都有不同接口风格,怎么办?答案是必然的:统一遵循计算机协议,这个协议就是SNMP

让我们先来熟悉一下什么是snmp
SNMP:Simple Network Management Protoclol
如名字一样SNMP简单到不能满足需求,其定义如下:

为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。

SNMP的工作模式是啥?

  • NMS向agent采集数据
  • agent向NMS报告数据
  • NMS请求agent修改配置

但由于其SNMP的简单性,SNMP同时可以监交换机路由设备,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,以增强SNMPv1的安全性和功能。现在,已经有了SNMPv3版本。

我们需要的监控是怎们样的呢?

设想,身处大数据时代,我们需要监控流程也许是这样的:
数据采集(数据超过阈值报警)–>数据存储(存储时间序列数据形成实施监控曲线图)–>数据可视化

enter description here
这样看来监控不是一个简单的协议所能实现的了…

开源工具的尝试

cacti

一个开源的免费数据收集软件,它的主要功能是用snmp服务获取数据,然后对数据进行储存和更新数据,当用户需要查看数据的时候用生成图表呈现给用户。
优点:实时监控数据变化,以web页面的方式呈现,更直观。
缺点:告警不及时

Nagios

一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
优点:告警反映迅速。
缺点:监控主机数量有限,承载低

为什么不两个软件一起用不就解决问题了吗?
是的,早期企业就是这么做的~
为什么两个软件不做成一个呢?
或许就是zabbix出现的原因

zabbix

zabbix  =   cacti   +  nagios
或许我们可以做一个简单的加法,但是zabbix比你想象的更强大

  • zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
    • zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
    • zabbix server可以通过SNMP,zabbix-agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix监控功能的实现

可监控对象

  • 设备:服务器,路由器,交换机

  • 软件:OS,网络,应用程序

  • 主机性能指标监控

  • 故障监控: down机,服务不可用,主机不可达

  • IPMI(Intelligent Platform Management Interface)
    智慧平台管理接口(原本是一种Intel架构的企业系统的周边设备所采用的一种工业标准。IPMI亦是一个开放的免费标准,使用者无需支付额外的费用即可使用此标准。)

支持数据库存储类型

abbix-database: MySQL, PGSQL(postgreSQL)、Oracle、DB2、SQLite

Zabbix架构中的组件:

zabbix-server: zabbix服务器端主程序,C语言研发
zabbix-agent: zabbix客户端端主程序,C语言研发
zabbix-web:GUI,用于实现zabbix设定和展示,PHP开发
zabbix-proxy: 分布式监控环境中的专用组件

 zabbix设备架构图

zabbix设备架构

逻辑设备架构图

zabbix逻辑设备架构

Zabbix逻辑架构

工作流程图

图中没标明templatetemplate模板包括多个items``trigger``graphs可以直接套用给host或者hostgroups使用。

Zabbix Server进程

zabbix进程及其作用

参考:
推荐-zabbix原理篇(1)
zabbix百度百科
SNMP 原理与实战详解