深入浅出Zabbix 3.0 -- 第一章  Zabbix 安装与配置

第一章  Zabbix 安装与配置

1.1 Zabbix 介绍

近日完成《深入浅出 zabbix 4.0》视频教程的录制并正式发布,该教程基于 zabbix 4.2 ,对Zabbix进行全面讲解。欢迎大家围观。课程链接:https://edu.csdn.net/course/detail/24870

Zabbix是一个企业级的开源监控软件,可以监控IT基础架构的可用性和应用的性能,为用户提供集中管理、分布式监控的一站式(all in one)监控解决方案,是一款真正的开源产品(True Open source)。采用GPL协议发布,不论是商业或非商业的使用没有任何限制,可以说是绝对的自由使用。不同于其他开源产品有社区版本和企业版本的区别,Zabbix软件本身提供的功能、监控设备的数量等方面没有任何限制。无论是企业或者个人使用,你都可以对源代码进行修改、定制以便适应自身需求,尤其是对企业来讲很重要的一点就是避免了厂商锁定的问题。

Zabbix最基本的目的是收集监控数据,将收集的数据统一保存到数据库中进行分析处理,利用Web前端页面可以轻松的将这些监控数据实时展示出来。通过与设定的阀值进行比较触发特定的事件并产生相应的动作,发出告警通知或执行远程命令。Zabbix 提供了多种监控方式用来监控基础架构的各个方面,不仅有专用的Agent,还支持External checks、SNMP、IPMI、JMX monitoring、SSH checks等多种方式收集监控数据,具有丰富的功能和灵活的扩展性。事实上,几乎所有你能想到的都可以在Zabbix中实现监控。

Alexei Vladishev 1998年开始创建Zabbix,2001年他发布了Zabbix的第一个版本,自从第一次发布起,Zabbix就确定了它的开发指南:

  • 关于阈值、触发器和警报的所有规则均由 Zabbix 服务器管理。

  • 几乎所有的配置任务都可以通过Zabbix Web前端页面完成。

  • 使用PHP开发Zabbix Web前端页面,使用C语言开发Zabbix 服务器保证核心系统的性能。

  • 所有的数据(包括配置和历史数据)存储在关系数据库中(将来也可以在 NoSQL 数据库中存储历史数据)。

目前Zabbix支持的稳定发行版本如下表1-1所示:

表1-1

版本

发布日期

终止支持日期

Zabbix 3.0

2016年2月16日

2019年2月

Zabbix 2.2

2013年11月12日

2017年8月

目前在运维监控领域越来越多的人开始关注并使用Zabbix,那为什么Zabbix会在众多开源监控软件中脱颖而出,成为最受欢迎的开源监控产品,或者说使用Zabbix监控系统的理由,可以归纳为以下几点:

  • 只需要Linux、Apache/Nginx、PHP、MySQL/PostgreSQL,无须专用的操作系统和硬件。

  • 安装和配置简单,提供集中统一的Web前端管理界面,易学易用。

  • 服务器可以安装运行在大部分UNIX-like的操作系统中,包括Linux、AIX、BSD、Mac OS X和Solaris。

  • 原生的agents支持大部分UNIX-like操作系统和Windows操作系统。

  • 支持 SNMP(SNMPv1、SNMPv2c、SNMPv3)trapping和polling方式监控设备。

  • 能直接监控IPMI 设备。

  • 利用JMX(Java Management Extensions)监控Java应用。

  • 利用VMware API可以直接监控vCenter或vSphere。

  • 内置绘图功能,实时展示监控数据和其他可视化功能。

  • 收集的数据持久保存到中心数据库中,便于对监控数据的二次分析。

  • 可以很方便的使用微信、钉钉等扩展告警方式。

  • Zabbix API提供可编程接口,可以使用多种不同的编程语言与第三方系统的集成。得轻松、简单。

  • 灵活强大的模板化配置,并支持模板的嵌套。

  • 具有自动发现网络设备、自动注册主机、自动添加模板等功能,实现自动化运维。

  • 具有丰富的扩展能力,可以轻松的自定义监控项并收集数据,几乎能监控你想得到的所有数据。

当然还有很多功能特性,例如用户及权限管理、灵活的告警条件设置及告警升级等,在这里不再一一列举,随着本书的介绍,相信你将对Zabbix有一个深入的了解。

1.2 Zabbix 组件与架构

Zabbix监控系统包含四个主要组件:Zabbixserver、Zabbix proxy、Zabbix database和Zabbix GUI。每个组件都有其自身的特点和要求:

  • Zabbix server:这是核心引擎,负责收集或接收来自被监控设备的数据。它是用C语言开发的,与Zabbix agents、Zabbix proxy和 Zabbix database进行通信。它是最主要的组件,管理所有的规则(包括收集监控数据、触发器、告警等等)。

  • Zabbix GUI:这是 Zabbix Web前端管理页面,用户通过Web前端页面可以查看Zabbixserver收集的数据,也可以对Zabbix server进行配置。它是用 PHP 开发的,使用支持 PHP程序运行的 web 服务器 (Apache或Nginx),并与 Zabbix 数据库通信。

  • Zabbix database: 这是 Zabbix 数据存储库。 Zabbix的后端数据库可以是 Oracle、 IBM DB2、PostgreSQL、MySQL 或 SQLite3。在这本书中,我们将使用MySQL 作为数据库。

  • Zabbix proxy:这是一个可选的组件,利用它来实现分布式监控架构或分担Zabbix server的负载,提高Zabbix server的性能。它的主要功能是协助 Zabbix server从被监视的主机或设备收集数据。Zabbix proxy收集的数据首先存放到本地临时数据库中,随后定时发送到 Zabbix server中,即便Zabbix server和Zabbix proxy的连接断开也不会导致数据的丢失(数据保留的时间可在proxy的配置文件中设置)。在3.0版本中原生支持Zabbix server和Zabbix proxy之间的数据加密传输(基于证书或者基于共享秘钥的加密都是支持的)。

通过图1-1可以看到,Zabbix是一个三层架构,在实现时我们需要安装以下三个服务器,即Web服务器、Database服务器和Zabbix服务器。

 

 

图1-1

如果需要监控的规模比较小(几台或几十台主机),上面提到的三个服务器可以同时安装在一个物理服务器中,这种方式的优点是安装配置简单快速,初期部署成本比较低。如下图1-2所示。

 

 图1-2

随着监控规模的不断扩大,需要保存和处理更多的监控数据,也会有更多的运维人员访问Zabbix Web前端页面,这样势必会让Zabbixserver的处理性能下降,出现断图、Web前端页面访问慢等问题。这时我们可以将Web服务器、Database服务器和Zabbix服务器拆分,分别安装到不同的物理服务器中。这种方式中每个服务器组件使用专用的硬件资源,可以解决相应的性能问题,但是需要增加服务器硬件的投入。如下图1-3所示。

图1-3

 

 

1.3 Zabbix 数据处理流程

 

图1-4

在标准的Zabbix数据处理流程中,主要是通过几个不同的数据源端发送数据到Zabbix server,所有的数据都会保存到数据库中,并通过Web GUI为用户展现结果。从上图1-4中我们可以看到发送数据的主要源包括:

  • Zabbix agent

  • Zabbix sender

  • Other agent (如脚本或者自定义的第三方的agent)

  • Zabbix proxy

 

1.4 Zabbix部署前的一些考虑

准备部署Zabbix之前,应当根据实际的IT基础架构和业务需求,规划设计Zabbix监控部署方案,尽量避免后期使用过程中可能遇到的性能、容量等方面的问题。

1.4.1 确定Zabbix部署架构

Zabbix在大部分场景中以集中式架构部署即可满足要求,所谓集中式架构就是无论Zabbix server、Database server和Web server是否安装在同一台服务器中,所有的监控数据都是由Zabbix server收集。如果你需要监控的IT基础架构有多个分中心或分支机构,建议采用分布式架构部署,在每个分中心或分支机构增加Zabbix proxy,由Zabbix proxy收集本地的监控数据后统一传输到Zabbix server中存储和处理,实现分布式架构、集中监控的方案。

1.4.2 评估服务器硬件资源

服务器只要有128MB内存和256MB磁盘空间就能够正常运行Zabbix,但在实际环境中部署时需要根据监控需求加以调整。

下表1-2为官方列举的服务器硬件配置:

表1-2

类型

系统平台

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
课程目标     全面理解和掌握 Zabbix 监控系统的架构及运行原理,搭建和管理各种规模的Zabbix监控系统 课程简介         Zabbix是一个开源的企业级的监控解决方案。通过Zabbix可以监控IT基础设施的方方面面,包括硬件、操作系统、网络、虚拟化层、中间件和各种业务应用系统。用Zabbix几乎可以监控你想监控的任意数据。              本课程从Zabbix的介绍、安装开始,一步步带你深入Zabbix,通过学习你会:         1、掌握Zabbix各个组件的配置和管理。         2、掌握不同监控项的类型和配置方法,根据监控需求灵活配置监控项。         3、掌握网络发现、低级发现和主动式agent自动注册,实现自动化监控。         4、掌握模版、宏变量、触发器和告警通知的配置和高级的应用方法。         5、掌握图形、屏幕、拓扑图和仪表盘等数据可视化的方法,利用大屏可以实时的展示监控数据。         6、掌握Zabbix系统自身的维护、备份、升级、排障以及性能优化。         7、掌握Zabbix内部运行机制和Zabbix使用技巧,让zabbix更好的帮助你实现监控目标。                  本课程中还包含很多操作演示,比如像创建主机,创建监控项、触发器、图形、全局事件关联等,也介绍了微信和钉钉告警的配置方法。当你对Zabbix深入了解之后,面对层出不穷的新业务、新应用,你都能轻松自如的制定和提供相应的监控解决方案。 特别提示:官网的中文文档有些地方翻译的有问题,一定要以英文文档为准。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白小白一起学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值