zabbix简单原理介绍

一.SNMP协议

1.简单网络管理协议(SNMP)

由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统NMS,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。该协议是互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。

2.SNMP管理的网络主要由三部分组成:

    被管理的设备
    SNMP代理
    网络管理系统

网络中被管理的每一个设备都存在一个管理信息库(MIB,就是snmp的监控对象,以及监控对象的属性)用于收集并储存管理信息。通过SNMP协议,NMS能获取这些信息。被管理设备,又称为网络单元或网络节点,可以是支持SNMP协议的路由器、交换机、服务器或者主机等等。

SNMP代理是被管理设备上的一个网络管理软件模块,拥有本地设备的相关管理信息,并用于将它们转换成与SNMP兼容的格式,传递给NMS。

NMS运行应用程序来实现监控被管理设备的功能。另外,NMS还为网络管理提供大量的处理程序及必须的储存资源。

3.SNMP的工作原理

在典型的SNMP用法中,有许多系统被管理,而且是有一或多个系统在管理它们。每一个被管理的系统上又运行一个叫做代理者(agent)的软件元件,且通过SNMP对管理系统报告资讯。

基本上,SNMP代理者以变量呈现管理资料。管理系统透过GET,GETNEXT和GETBULK协定指令取回资讯,或是代理者在没有被询问的情况下,使用TRAP或INFORM传送资料。管理系统也可以传送配置更新或控制的请求,透过SET协定指令达到主动管理系统的目的。配置和控制指令只有当网络基本结构需要改变的时候使用,而监控指令则通常是常态性的工作。

可透过SNMP存取的变量以阶层的方式结合。这些分层和其他元数据(例如变量的类型和描述)以管理信息库(MIBs)的方式描述。

简而言之就是: NMS向agent采集数据 agent向NMS报告数据 NMS请求agent修改配置

二.监控及zabbix监控

1.监控什么?

列出部分: 设备/应用 服务器,路由器,交换机,I/O系统等; 操作系统,网络,应用程序等; 故障 数据库宕机,数据停止复制,无法连接服务器等; 关键事件 磁盘空间满了,数据复制滞后等; CPU利用率达到100%了等;

2.如何监控

简单方法 top,vmstat,iostat,mytop,innotop,show global status等; 图形化方法 nagios(opsview,icinga),cacti,zabbix等

3.监控系统应该具有哪些功能

    数据收集:包括使用SNMP,native agents,IPMI等;

    警报:(当收集的数据比如CPU使用率达到一个阀值)可以通过像Email,信息等方式发送警报;

    数据存储:对(过去)收集的数据进行分析时,需要存储数据;

    可视化:直观,方便的查看数据,尤其对于大量数据;

4.zabbix如何监控

5.zabbix支持哪些系统

zabbix支持Linux Unix freebsd windows Mac openbsd AIX solaris等

6.zabbix监控方式

zabbix agent:zabbix专用客户端
SNMP agent:支持SNMP方式
IPMI agent:服务器专用的硬件接口
agentless monitoring:无agent的监控,如接口,IP等
web monitoring:监控服务的状态,如监控的页面在不在,页面请求响应时间,页面内数据的下载速度等
databases monitoring:监控数据库
internal check:内部监测,zabbix自带的监控命令一类
calculatd monitoring:数据计算后的监控,如服务器在线人数,流量等
custom command monitoring:自定义监控,如监控脚本等

7.zabbix分布式监控(采用zabbix proxy方式)

三.zabbix介绍

1.特点

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix的特点:

      自动发现服务器和网络设备。
      底层自动发现
      分布式的监控体系和集中式的web管理
      支持主动监控和被动监控模式
      支持多种操作系统 Linux, Solaris, HP UX, AIX, FreeBSD, OpenBSD, OS X
      高效的agent 支持 Linux, Solaris, HP UX, AIX, FreeBSD, OpenBSD,OS X, Tru64/OSF1, Windows等环境;
      无agent监控等多种监控方法。
      安全的用户认证模式
      灵活的用户权限设置。
      基于web的管理方法。
      支持自由的自定义事件和邮件发送。
      高水平的业务视图监控资源。
      支持日志审计。

2.zabbix架构及组件

这个只是大致架构,而且zabbix web GUI和zabbix Databases及zabbix server不一定在同一主机上,也可以是分开的。

组件: Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行,C语言编写;

    Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据;

    Web GUI:zabbix的web接口,通常与Server运行在同一台主机上,通常被称为frontend,PHP语言开发;

    Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;

    Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端,C语言编写;

了解了上述组件,那么可以看一下zabbix的详细架构了(分主机运行的):

再来总结一下其逻辑结构图:

转载自http://blog.chinaunix.net/uid-30212356-id-5740945.html


发表评论

评论列表,共 0 条评论

    暂无评论