Z大牛分享 | ZABBIX全栈级监控实践:(一)概述

2021-02-03 09:46:47 浏览数 (1)

ZABBIX全栈级监控实践

(一)概述

Shawn Cai

《ZABBIX全栈级监控实践》系列将由浅入深探讨如何实现ZABBIX全栈级别的监控。

本文是《ZABBIX全栈级监控实践》的第一篇:主要讨论全栈级监控的主要需求,以及ZABBIX在实现全栈级监控中的优势。

引论

随着移动互联网、Fintech等概念的 流行,对于IT从业人员的技术要求越来越高。更是有企业在招聘时,直接提出了招聘全栈工程师。什么是全栈,ZABBIX对于全栈级监控有什么优势?我们逐一讲解。

全栈的概念

对于IT运维人员而言,所谓全栈(Full-Stack),包含了从前端到后端的所有运维知识体系,包括但不限于:

客户端(用户操作系统,POS机等)

网络层(机房、专线、网络设备等)

接入层(负载均衡、反向代理等)

应用服务层(中间件、数据库、自研应用等)

操作系统(Windows,Linux,AIX等)

虚拟化(vmWare,Hyper-V,Xen等)

存储(NetApp,EMC,阵列等)

硬件(华为,HP,DELL等)

……

以上是粗略的前端到后端所需技能及平台,现实中全栈会包含更多的维度,每个维度中也会有更多的内容。

由于从前端到后端的种种耦合性和依赖关系,任何一个环节的故障发生,都有可能导致业务中断。对于IT监控平台而言,尽可能全面的监控上述维度中的平台、内容,会有效减少依赖IT专业人员人工定位故障的频率,提升企业业务连续性的RTO和RPO。

为什么使用ZABBIX进行全栈级监控?

目前市场上有很多商业的和开源的软件:微软的System Center Operations Manager;IBM的Tivoli;VMware的vSphere with Operations Management套件等,都能对厂商的自有平台提供深入监控。如果企业生产环境中,只存在一两个厂商的产品,不存在多样性,那么用这些厂商自有的系统管理套件就足够了。

而对于大多数企业而言,IT基础环境是一个无比复杂的异构体。很少有公司只用cisco交换机,只用Windows操作系统,只用HP的服务器,或者只用NetApp存储。在这个由大量的厂商和品牌充斥IT基础架构环境中,似乎并没有提供一个统一协议或者标准来实现全栈级监控。厂商的系统管理平台可以进行深入监控,但现实中的异构IT基础架构,对监控平台的广度有更多的要求。

当然,还碰到过一些自研发的厂商,号称所有产品的监控都能做,结果发现,的确什么都能监控,存储、交换机、服务器都能监控,但只能监控到可用性:ICMP。而至于更深层的性能:比如磁盘IO,数据库性能,存储延迟之类的,都无从下手……因此,一个合格的监控系统需要提供一定的深度监控:可用性监控,性能监控,甚至是日志监控。

ZABBIX在广度和深度这两个维度寻找到了一个很好的平衡点。

ZABBIX可以通过JAVA GATEWAY进行原生的应用级监控,包括JVM的状态,连接数等。对于其他的中间件和数据库,也有相应的模版可供使用。

对于操作系统,ZABBIX官方也提供了一些模版,对常见的Windows,Linux等操作系统进行监控。其中也包含了很多如磁盘IO的性能监控项。

通过SNMP协议,ZABBIX可以对交换机和存储的性能及可用性进行监控。

ZABBIX可以对底层的硬件进行监控,可以通过IPMI带外协议监控每个磁盘、每个内存、每个CPU的状态,甚至是某个风扇的转速。

Zabbix监控平台支持的监控方式多种多样:

以上只是ZABBIX监控平台覆盖的一部分。除了这两点以外,相比于其他系统管理平台,ZABBIX还有以下的优势:

开源性:源代码全公开,任何用户都可以编译和发布自己的版本。同时,ZABBIX社区中有大量的模版。

可扩展性:支持用户自定义监控项,只要能想得到的KPI,基本都能监控的到。

分布式:分布式架构,提供多分支组织的IT监控解决方案。同时,也一定程度上分散监控压力。

无商业版本:平台本身没有商业版和社区版本的区分,ZABBIX母公司只对商业服务收费(如培训、定制开发、部署服务等)。

Zabbix其他的主要功能还有:

高可用、高负载(可监控几万台Hosts)

自动发现网络设备和服务器

低级别发现(LLD)

集中式管理、分布式监控

同时支持Polling和Trapper两种监控方式

高性能的监控代理

无代理的监控方式

JMX监控

Web监控

安全的用户认证机制

灵活的用户权限配置

基于WEB的接口

基于SLA、ITIL KPI的报表

灵活的EMAIL通知及事件预定义

商业产品级别的DashBoard和Screen

日志审计

……

Zabbix上述特性,满足了我们对全栈级别监控的要求,在本系列的后续文章中,将会向大家介绍如何使用ZABBIX监控进行全栈式监控。

0 人点赞