前言

对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是一个被广泛使用的,可以实现集中监控管理的应用程序。

我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具需要定期的对被监控主机进行检查、信息收集等操作,当被监控主机出现异常时,能够及时报警、通知管理员,并且需要记录这些异常,以便我们分析这些数据,查漏补缺,那么,一个监控工具就应该具备采集信息、存储信息、展示信息、报警通知等功能,而zabbix就可以做到这些,除了zabbix,你可能还听说过cacti、nagios、ganglia等类似的监控系统,但是此处,我们只聊zabbix。

一、zabbix 通讯方式

好了,我们大概了解了一下zabbix,那么我们通过zabbix能够监控哪些硬件资源呢,理论上来说,只要是与我们的业务有关的硬件资源,都应该被监控,比如 主机、交换机、路由器、UPS等等。

但是,监控它们的前提是能与它们进行通讯,那么问题来了,由于硬件的不同,导致我们无法使用统一的方法去监控他们,这个时候,就需要监控程序有一定的通用性,或者说,监控程序需要能够与多种硬件设备通讯,才能满足我们的监控需求,举个例子:如果被监控的对象是一台安装了linux操作系统的服务器,那么我们可以通过ssh或者telnet这种远程工具与被监控对象建立起通讯的通道,可是如果被监控的对象是一台安装了其他操作系统的服务器呢,更甚之,被监控的对象并不是服务器,而只是一台交换机或者路由器呢,所以,zabbix如果想要能够全面的监控这些对象,则需要能够通过各种方法与它们进行通讯。

那么zabbix能够支持哪些通讯方式呢,总结如下:

方式 详解
agent 通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。
ssh/telnet 通过远程控制协议进行通讯,比如ssh或者telnet。
SNMP 通过SNMP协议与被监控对象进行通讯,SNMP协议的全称为Simple Network Management Protocol ,被译为 “简单网络管理协议”,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件往往都支持SNMP协议,SNMP是一种比较久远的、通行的协议,大部分网络设备都支持这种协议,其实SNMP协议的工作方式也可以理解为master/agent的工作方式,只不过是在这些设备中内置了SNMP的agent而已,所以,大部分网络设备都支持这种协议。
IPMI 通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压,温度,风扇状态,电源状态等。
JMX 通过JMX进行监控,JMX(Java Management Extensions,即Java管理扩展),监控JVM虚拟机时,使用这种方法也是非常不错的选择。


二、zabbix 各项组件介绍

好了,我们刚才提到了zabbix agent,一般情况下,我们将zabbix agent部署到被监控主机上,由agent采集数据,报告给负责监控的中心主机,中心主机也就是master/agent模型中的master,负责监控的中心主机被称为zabbix server,zabbix server将从agent端接收到的信息存储于zabbix的数据库中,我们把zabbix的数据库端称为zabbix database, 如果管理员需要查看各种监控信息,则需要zabbix的GUI,zabbix的GUI是一种Web GUI,我们称之为zabbix web,zabbix web是使用php编写的,所以,如果想要使用zabbix web展示相关监控信息,需要依赖LAMP环境,不管是zabbix server ,或是zabbix web,他们都需要连接到zabbix database获取相关数据,这样说可能不容易理解,对比下图理解上述概念,就容易许多。

当监控规模变得庞大时,我们可能有成千上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?

如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?

其实,zabbix天生就有处理这种问题的能力,因为zabbix支持分布式监控,我们可以把成千上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机,在这个区域内,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxy,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,当监控规模庞大到需要使用zabbix proxy时,zabbix的架构如下图,我们可以对比下图,理解上述描述。

此处,我们再把刚才说到的各种组件总结一遍:

组件 功能
zabbix agent 部署在被监控主机上,负责被监控主机的数据,并将数据发送给zabbix server。
zabbix server 负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。
zabbix database 用于存储所有zabbix的配置信息、监控数据的数据库。
zabbix web zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,可以单独部署在独立的服务器上。
zabbix proxy 可选组件,用于分布式监控环境中,zabbix proxy代表server端,完成局部区域内的信息收集,最终统一发往server端。

四、工作模式

了解完了zabbix的几个核心组件,我们再来聊聊zabbix的工作模式。

我们知道,agent端会将采集完的数据主动发送给server端,这种模式我们称之为主动模式,即对于agent端来说是主动的。

其实,agent端也可以不主动发送数据,而是等待server过来拉取数据,这种模式我们称之为被动模式。

聪明如你一定已经明白,不管是主动模式还是被动模式,都是对于agent端来说的,而且,主动模式与被动模式可以同时存在,并不冲突。

管理员可以在agent端使用一个名为zabbix_sender的工具,测试是否能够向server端发送数据。
管理员可以在server端使用一个名为zabbix_get的工具,测试是否能够从agent端拉取数据。

好了,我们已经了解了zabbix的一些基本概念,接下来我们将演示zabbix搭建过程,并且演示相关服务的监控实施过程。

运维监控系统——Zabbix简介相关推荐

  1. Lnmp搭建zabbix运维监控系统

    使用目的? 在公司项目中需要做一个日志监控,最开始选择的是efk,但是efk的资料相对较少并且之前对这几个产品都没接触过,使用起来难度.于是选择了zabbix作为项目的运维监控系统. zabbix能做 ...

  2. Open-falcon运维监控系统——微信接口二次开发

    1.Open-falcon运维监控系统简介 OpenFalcon是一款由小米运维团队从互联网公司的需求出发, 根据多年的运维经验,结合市面上使用的一些运维监控系统的使用经验和反馈,开发的一套企业级.高 ...

  3. 运维监控系统实战笔记(day1)

    第一次课 监控需求直接的是为了出现问题时能及时感知到.新的需求: 通过监控了解数据趋势,知道系统在未来的某个时刻可能出问题,预知问题. 通过监控了解系统的水位情况,为服务扩缩容提供数据支撑. 通过监控 ...

  4. 常用的17个运维监控系统

    1. Zabbix Zabbix 作为企业级的网络监控工具,通过从服务器,虚拟机和网络设备收集的数据提供实时监控,自动发现,映射和可扩展等功能. Zabbix的企业级监控软件为用户提供内置的Java应 ...

  5. 基于SpringBoot+Bootstrap极简运维监控系统

    真正的大师,永远都怀着一颗学徒的心! 一.项目简介 基于SpringBoot+Bootstrap极简运维监控系统 二.实现功能 支持cpu使用率 支持cpu温度 支持内存使用率 支持磁盘容量 支持磁盘 ...

  6. 基于Linux+Nagios+Centreon+Nagvis等构建海量运维监控系统

    参考书目:<海量运维监控系统规划与部署 基于Linux+Nagios+Centreon+Nagvis等> 付哲著 系统环境规划: 基于阿里云centos6.8镜像升级到centos6.9, ...

  7. 转:运维监控系统-监控项及指标的梳理

    转自: 运维监控系统-监控项及指标的梳理_程序员杂谈-CSDN博客_运维监控指标综合监控功能工具 综合监控工具完成对被管对象的集中监控.集中维护和集中管理,被管对象包括网络设备.服务器.PC设备.数据 ...

  8. 明辰智航云安网络与虚拟化性能管理系统—运维监控系统

    什么是运维监控系统数字转型? 多年来,IT经历了过渡的各个阶段.早期,我们从大型主机和终端到数据中心的较小服务器占用空间,而这些数据中心的用户端点本质上是图形的,并了解了监视解决方案的价值.今天,我们 ...

  9. 智能运维监控系统怎么选

    智能运维技术可以将人工智能技术和计算机运维技术相结合,通过一些智能深度学习的方法提升商家在计算机后台的工作效率,其拥有多项快速和高效的运维能力. 运维监控软件具有什么功能 企业在面对着大型数据接口时会 ...

最新文章

  1. 深度学习 | GAN模式崩溃的理论解释
  2. actuator 微服务信息的完善
  3. http请求 get 与 post 区别
  4. 数论基础-小白学算法必学(一天一夜的成果)万字
  5. c语言二维图形变换程序,【计算机图形学】3-2 二维几何变换根本代码
  6. 冻结拆分_冻结首行与尾行?还有能这种操作
  7. 手贱随手在Linux敲了 as 命令,出不来了
  8. SAP Analytics Cloud Model的delta upload(增量导入)功能
  9. php中数据类型、数组排序、循环语句、混编、操作本地文件流程、常用API、函数、魔术常量
  10. Ubuntu 13.10/12.10/12.04 用户如何升级到 Ubuntu 14.04
  11. 表格列展示自动扩展_进步一点点:excel表格常规操作也能很快捷
  12. MATLAB信号处理之常用信号的表示(2)
  13. 我如何开始使用Node.js [关闭]
  14. 虚拟机安装ubuntu18.04及其srs服务器的搭建
  15. 物体检测中常用的几个概念迁移学习、IOU、NMS理解
  16. 电脑没声音,音频设备无法使用。扬声器安装程序unknown
  17. HostGator 評價 – 優異的運行時間與支持一鍵安裝 WordPress,內含 4 折 60% 折扣優惠購買連結! - TechMoon 科技月球...
  18. python矩阵运算函数_Numpy 常用矩阵计算函数
  19. Error creating bean with name ‘user‘ defined in file //Pointcut is not well-formed: expecting
  20. 2019网络统考计算机基础,2019年12月网络教育统考《计算机应用基础》复习题(十)...

热门文章

  1. 本地xshell损坏了着急拷贝服务器上的大文件怎么办?有办法lrzsz来帮忙
  2. Python使用pandas读取两个或者多个excel文件(xlsx)并进行数据连接(join)合并两个或者多个excel的信息
  3. Kinesis、Streams and Firehose
  4. 主题模型简介(Topic Models)
  5. 词频-逆向文件频率TF-IDF(term frequency–inverse document frequency)是什么?有什么用处?
  6. 拟南芥arabidopsis 全染色体
  7. 单继承--多态性 多继承--二义性 ambiguous
  8. java中飞飞检查异常_Java复习6异常处理
  9. python字典按value逆序排序_python 对字典按照value进行排序的方法
  10. linux Address already in use 端口被占用解决办法