|
|
51CTO旗下网站
|
|
移步端
  • 一盏茶的年华,左侧Zabbix

    IT 运维离不开系统监控,就好像鱼儿离不开水一样。一款强大的监察体系可以有力保证设备和工作的安居。

    笔者:崔皓 来源:51CTO艺术栈| 2020-01-14 09:54

    【51CTO.com原创稿件】 IT 运维离不开系统监控,就好像鱼儿离不开水一样。一款强大的监察体系可以有力保证设备和工作的安居。

    图表来自 Pexels

    在监控体系层出不穷的当日,表现老牌监控体系之 Zabbix 依然屹立在监控体系的林。当日,咱们来看望 Zabbix 的体系架构以及运作方式。

    Zabbix 系统架构

    强烈,Zabbix 是一款优秀的监察体系,可以针对互联网中的设备和运用进行监督。

    在详细介绍他实现方式之前,先来看望它的结构图:

    Zabbix 架构图

    副上图可以看到,浅绿色的一部分就是把监控的装备,其一设备的项目可以是服务器,成像机或者是网络打印机。

    该署被监控的装备被称作为 Host,装备的分组称作 Host Group,分批可以根据地域,机房,使用来划分。

    副橙色部分-监督方式可以看到,针对每个 Host,Zabbix 会安装 Zabbix Agent。

    他是 Zabbix 在 Host 上的客户端,承担将 Zabbix 要求监控的消息上流传 Zabbix Server 拓展分析和处理。

    但并不是全部的网络设备都得以安装 Zabbix Agent,针对无法安装的装备,只要支持 SNMP(Simple Network Management Protocol,大概网络管理协议)或者 IPMI(Intelligent Platform Management Interface,智能平台管理接口)也是可以把监控到的。

    此外,如果需要监控 Java 使用程序,也得以通过 JMX 来促成。

    同样从橙色部分监控内容可以看到,Zabbix 穿过 JMX 支持 Java 使用程序监控;穿过 IPMI 支持硬件设备监控;穿过 SNMP 支持网络设备。

    浅绿色区域与蓝色的 Zabbix Server 之间有一度走向的箭头,由 Zabbix Agent 直接到 Zabbix Server 的措施被称为通用结构,类似常说之 C/S 架构。

    但在现实利用中更多的采取分布式架构,也就是通过绿色区域先连接到黄色的 Zabbix Proxy,下一场再连接到蓝色 Zabbix Server 的这条路子。

    在图右边橙色的海域,是Zabbix的监察服务器,其中 Zabbix Server 重点承担配置和接收/发送监控信息(更多详细功能后面介绍)。

    拍卖完毕的消息会存储到 Database 官方,此地的 Database 可以指定 MySQL 或者 Oracle 以及其他必发娱乐登录源。

    此外,还会提供 Zabbix UI 展示配置和监理信息。不仅如此,还为序三方使用提供了 Zabbix API,穿过它来客制化 Zabbix 规则。

    当然从稳定性考虑,可以通过 Keepalive 等等的硬件建立 Master,Slave 的 HA 公有制。

    Zabbix 构建监控体系过程

    眼前通过一张大图介绍了 Zabbix 的体系结构,详细对 Zabbix 的中心工作原理有了了解。

    顺着这个思路再来看望,Zabbix 架构安装和安排步骤:

    Zabbix 架构部署和安排示意图

    PS:下会介绍 Zabbix 的总体部署和安排过程,涉及到安装和安排的一部分,都没有标注具体的指令。

    如果有需求安装和安排过程的同窗,可以下载 Zabbix 他家手册,此地因为金额的由来不进行描述。

    Zabbix Server/Agent/UI 安装配置

    在 Zabbix 监督服务器上,安装 Zabbix Server 和 Zabbix UI(Web)。

    Zabbix Server 用于接受和殡葬监控详细,Zabbix UI(Web)用来对 Zabbix Server 的各个职能进行布局。

    同时在把监控设备上,安装 Zabbix Agent。在伊安装完毕后,要求通过 zabbix_agenttd.conf 文件,对 Server 和 ServerActive 两个参数进行布局。

    出于 Zabbix Agent 有消极模式和积极向上模式。消极模式,是 Zabbix Server 副 Zabbix Agent 上获取数据。

    而积极模式,是 Zabbix Agent 再接再厉将信息上流传 Zabbix Server。故此,这两个参数的情节都指的是 Zabbix Server 的 IP 地点。

    Server 安排的是无所作为模式 Zabbix Server 的 IP,ServerActive 安排的是知难而进模式 Zabbix Server 的 IP。

    当然,除此之外还要求更新防火墙配置,并打开 Zabbix 的走访端口(10050 和 10051)。

    说到底,送这个被监控的装备(Host),队一番 Hostname,其一名字会在 Zabbix Server 头配置的时节用到。

    Server 和 ServerActive 安排项

    Host Groups/Hosts 安排

    搞定 Zabbix Agent 自此,返回 Zabbix Server 上开展布局。前提是 Zabbix Server 和 Zabbix UI(Web)已经安装完毕,可以通过 Zabbix UI(Web)走访配置界面。

    上文提到,每个被监控的装备,都是一番 Host,这就是说将多个 Host 按照某种方式分组,其一分组就是 Host Groups。此地的分组方式有地理位置,工作单位,机械用途,系统版本等等。

    确立一个 Host Groups,下一场在其中建立一个 Host,其一 Host 就是刚才安装 Zabbix Agent 的装备在 Zabbix Server 上的定义设备。

    在安排 Host 的时节,要求注意这里的 HostName 和把监控设备中定义之 HostName 保持一致,富有辨识。安排的 IP 就是把监控设备的 IP,头口号是 10050。

    在 Zabbix Server 创造 Host 安排

    Items 安排

    安排完 Host 后,就要求告诉 Zabbix 监督 Host 中的什么数据。其一中心监督的多寡就是监控项,也叫 Items。

    Items 安排包括监控数据的措施,取值的多寡类型,获取数值的距离,历史数据保存时间,趋势数据保存时间,监督 Key 的分组等信息。

    首选,要求选择 Type,他是中心监听的 Zabbix 客户端的项目。一般来说,在设置 Zabbix Agent 自此,其一项目就是 Zabbix Agent。也得以选择 SNMP,IMPI 或者其它品种。

    从,要求注意 Key 的取舍,Key 是来确定具体监控项的,对于同一个 Host 来说它是绝无仅有的。

    Zabbix 默认就带有一些 Key 可供选择,例如:vm.memory.size[total],就是获取内存大小的 Key。

    出于是针对 Host 拓展布局的,故此也会指定对应的 Host IP 和 Port。此外,还有部分其他的多寡需要配置。

    例如:数量更新间隔,创新周期,历史数据保存天数,趋势数据保存天数等等。

    Items 安排示例图

    密切的村委会发现上图中还有一个 Applications 的挑选。他实际上是对 Items 的一个集合,例如:要监督 MySQL,可以定义一个 MySQL 的 Application。

    把相关的 Items 包括 availability of MySQL,disk space,processor load,transactions per second,number of slow queries 全方位放到这个 Application 官方方便选择和保管。

    Trigger 安排

    眼前提到,Items 是用来部署监控什么数据的,而不判断数据是否健康。这就是说,Trigger 的企图就是对采集的多寡进行判断。

    普通会设置判断规则或者阀值,一旦满足某种规则或者超过对应的阀值就会产生一个事件。

    同时,Action 会对满足条件的 Trigger 推行操作。该署规则通过正则表达式来定义。

    副接受消息到触发动作示意图

    消息经过表达式判断,会产生两类 Trigger 状态,OK(正常)和 PROBLEM(独特)。

    每个 Trigger 会对应一个 Items,每个 Items 会对应多个 Trigger。同时,Trigger 又可以设置不同之风波级别,可以根据这些级别设置多重告警。

    Trigger 事件级别示意图

    在安排 Trigger 的时节主要是添加正则表达式。Zabbix 会根据对应 Item 的 Function 浮动对应的正则表达式。

    Trigger 会根据监控的情节(Item)来部署,例如:Item 是检测 Linux 的登陆人数。慎选 Item 为“Template OS linux:Number of logged in users”。

    对应的 Function 是 Last(most recent) T value is = N。意思是获取最近登陆的人头 T,顶 T 等于 N 的时节触发 Trigger。

    其一 N 就是要求我们配备的值,比如填写 2。也就是登陆人数等于 2 的时节触发 Trigger。

    顶你配置完毕后就会扭转类似如下图正则表达式了,{Template OS Linux:system.users.num.last()}>2。

    任何过程不需要你输入表达式,只要通过增选和安排就足以做到。

    Trigger 安排示例图,情节和文中描述有区别,发挥的味道相同

    上图有一度 Tab 项叫做 Dependencies,其一是 Trigger 的报警依赖,在现实状况中特有有用。

    他会针对特殊现象使用,例如:任何 IDC 机房的路由出现故障,这就是说机房所有的机械的网络状态都会出现异常,此刻 Zabbix Server 会接受大量奇异报警。运维人员会把报警信息淹没,不知晓故障的实际原因。

    此刻,就足以在 Dependencies 官方精选对应规则,并且勾选 Multiple PROBLEM events generation 慎选。

    后,就会接受一枝报警信息,“某个 IDC 机房路由器 X 发生故障”,对其它的报警信息做了聚合操作。

    Action 安排

    如果说 Trigger 定义触发事件的平整,这就是说 Action 就是事件触发后的动作。即当 Trigger 谱被满足以后,Action 会执行一些操作。

    比如:发送事件通知(短信,钉钉,邮件),远程执行命令(重启服务)。

    Action 的安排需要遵循下图几个步骤:

    Zabbix 官方有多种事件类型,Trigger 只是其中一种,例如:机动发现监控设备,机动注册监控设备等等。故此,先要挑选事件的源泉,当然这里我们挑选 Trigger 表现来源。

    Action 慎选事件来源

    下一场,填写 Action 的中心信息。例如:名字,主题,默认发送的消息内容,独特恢复主题,以及对应的消息内容。此地的填写可以是字符串,但是更多的会利用宏。

    其实就是替换字符,比如{TRIGGER.STATUS} 表示触发器的状态,{ITEM.NAME} 表示监控项的名字。穿过这些宏和字符串的拼接形成最终的消息。

    如下图显示:

    Action 基本信息

    然后,就是对条件的安排(Condition)。出于 Action 可以面对一个或者多个 Trigger,每天每个 Trigger 又有一度或者多个条件。

    为了保证她灵活性,可以针对 AND,OR,AND/OR,对条件进行组合。

    例如:可以用“AND”谱,名将 Maintenance status not in maintenance (机械不在保障状态)和 Trigger value = PROBLEM(传感器异常)两个条件(Condition)重组起来,意思是当两个条件同时满足时接触后续操作。

    Conditions 是调度示例图

    说到底,就是操作(Operation)的安排。包括执行操作的年华间隔,推行次数,每次执行的距离,借鉴类型(发送消息,推行命令),发送给哪些用户/他家组等等。

    Operation 安排示例图

    Template 安排

    如果有许多监控设备需要配置,是有工作量的。于是乎,Zabbix 会将有相同 Item,Trigger,Application 等规则项放到一起,于是乎就有了模版(Template)。

    顶对同类型的装备需要配置监控项时,就足以选择现成的模版。故而,调减运维工程师的总量。在创造模版的时节,要求输入模版名字,以及对应的分组。

    模版基本信息

    如果需要继续模版,可以在 Linked template 官方展开布局。模版继承可以了解为模板嵌套。

    例如,前面定义了一番基础模板,Item 安排好了 CPU、内存、硬盘、网卡等信息。

    如果需要在这个基础模版上扩展其他模版,比如:MySQL 监督模版或者 Web 监督模板。这就是说在安排模板的时节,就足以持续于基础模板,而不需要重新定义模版。

    模版创建完毕后,就足以添加 Item,Trigger,Application 等信息,现实的措施类似 Item,Trigger 安排。

    地方大段的文字描述了 Zabbix 构建监控体系之经过。为了方便记忆,此地做个总结。

    Zabbix 构建监控体系,先安装 Zabbix Agent 到 Host 募集信息,Zabbix Server 用于获取信息,Zabbix UI(Web)用于展示和安排信息。

    Zabbix Agent 在 Host 官方安排好监控服务器的 IP 和 Port 后,返回 Zabbix Server 上,穿过 Zabbix UI(Web)对要监督的 Host(把监控设备)拓展布局。

    依次配置:Item(监督什么数据),Trigger(故障触发条件),Action(故障触发动作)。

    Zabbix 监督方式

    刺探完了 Zabbix 的架构和 Zabbix 构建的经过,再来看望 Zabbix 的监察方式。眼前谈到的 Zabbix Agent 监督,是不是 Zabbix 监督方式的一种。

    针对不同景象,Zabbix 还提供了 SNMP,IPMI,JMX 等多种艺术。即使是 Zabbix Agent 的措施,也分为主动和被动两种。

    下图描述了 Zabbix 的几种监控方式与 Zabbix Server 之间的关联:

    Zabbix 监督方式逻辑图

    Zabbix Agent 监督方式

    该方式有 Active(再接再厉模式)和 Passive(消极模式)。Zabbix Server 和 Zabbix Agent 之间的通信是通过 Zabbix 专用协议完成的,数据格式为 JSON。

    ①Zabbix Agent 消极模式

    默认情况下,Zabbix Agent 上班在被动模式下,是由 Zabbix Server 向 Zabbix Agent 获取信息。

    在设置完 Zabbix Agent 自此,穿过 zabbix_agentd.conf 文件中的 Server 数,安装被动数据采集的 IP。

    消极模式流程图

    Zabbix Agent 与 Zabbix Server 报道流程如上图:

  • Zabbix Server 开拓一个 TCP 联网。
  • Server 发送一个 Key(agent.ping\n)送 Zabbix Agent。
  • Zabbix Agent 接受到请求,并且响应请求,发送内容为
  • 的消息给 Zabbix Server。
  • Server 接受返回的多寡,并且进行拍卖。
  • Server 关闭 TCP 联网。
  • ②Zabbix Agent 再接再厉模式

    这种渐进式 Zabbix Agent 会积极举报监控信息到 Zabbix Server。可以通过 zabbix_agentd.conf 文件中的 ActiveServer 数配置 Zabbix Server 的 IP。

    同时要求配置 Zabbix Server 上 Items 的 Type,安装为 Zabbix agent(active)即可。

    再接再厉模式流程图

    依旧来看望主动流程图:

  • Zabbix Agent 向 Zabbix Server 确立一个 TCP 联网。
  • Agent 呼吁需要检测的多寡列表。
  • Server 呼唤 Agent,发送一个 Items 列表,包括 Item key 和 delay。
  • Agent 呼唤请求。
  • Server 接受请求数据,关闭 TCP。
  • SNMP 监督方式

    他是一番标准的用于管理基于 IP 网络设备的商谈,包括:玉器,成像机,UPS,成像机。特别是当被监控设备无法安装 Zabbix Agent 的时节。

    先一起来看看 SNMP 的架构,如下图:

    SNMP 架构图

    NMS 是 Network Management System(网络管理系统,又名网络管理站),这部分被合并到了 Zabbix Server 官方了。

    Agent 是 SNMP 走访的承办,为设备提供 SNMP 的力量,承担设备与 NMS 拓展报道。

    MIB(Management Information Base)是一番必发娱乐登录,包含了把管理设备维护的总分。例如:内存空间,光盘大小。

    他通常是以一个树形结构存在的,每个叶子结点都保存一枝数据,穿过 OID(Object Identifier)唯一标识一枝记录。

    MIB 方形结构图

    例如上图,想表示通用中的 System 数,就通过 1.3.6.1.2.1.1。如果是私人企业之记录,就是在 1.3.6.1.4.1 下。

    NMS 穿过 SNMP 与设备上的 Agent 拓展通信,获取/修改 MIB 地方的消息。脚下 SNMP 有三个本子,每个版本都在头里版本的基础上逐步升级。

    SNMP 本子示例图

    以第三个本子为例,在原有请求和响应的基础上,参加 PDU 书法对报文进行了加密和解密操作。

     SNMPv3 本子传输示意图

    IPMI 监督方式

    IPMI(Intelligent Platform Management Interface)即智能平台管理接口,原来是 Intel 架构中企业系统之科普设备采用的一种服务业标准,新兴成为业界的合同标准。

    他家可以通过 IPMI 监视服务器的物理特征,例如:温度,电压,电风扇工作状态,水资源供应等。

    IPMI 独立于 CPU BIOS 和操作系统,也就是在短缺操作系统和保管软件的情况下,依旧可以对软件信息进行监督。在 Zabbix 中的具体安排,此地不进行描述。

    JMX 监督方式

    JMX(Java Management Extensions)是为 Java 使用程序植入管理力量的框架。也是一套标准的承办和劳务,他家可以在其他 Java 使用程序中采用它。

    在 Zabbix 官方,JMX 监督数据的获取由专门的承办程序来实现,即 Zabbix Java Gateway 承担采集数据,他和 JMX 的 Java 先后之间通信获取数据。

    Zabbix-Server 和 Zabbix Java Gateway 如下图所示:

    JMX 示意图

    此地需要几个步骤部署 JMX,如下:

  • 慎选单独的 Server 安装 Zabbix Java Gateway,最好和 Zabbix Server 在不同之蒸发器上。
  • 在设置 Zabbix Java Gateway 的蒸发器上,针对 zabbix_java_gateway.conf 文件进行参数配置。重点是 Gateway 的监视服务器的 IP 和 Port。目的是让 Gateway 找到要监听的装备。
  • 在 Zabbix Server 安排 zabbix_server.conf 的底数。重点是调度 Gateway 的 IP 和 Port,以及 Java 监督的经过数。目的是让 Server 找到 Gateway。
  • 在把监控设备上,针对 Java 使用开启 JMX 协和。
  • 返回 Zabbix UI(Web)安排 JMX 监督的 Java 使用。
  • 总结

    表现老牌的监察体系,Zabbix 的架构包括了把监控设备和 Zabbix 监督服务器两大一部分。

    Zabbix Agent 运作在把监控设备上,承担和 Zabbix Server 打电话获取和掌握被监控设备,他有积极和被动两种工作模式。

    Zabbix Server 表现监控中心,可以直接与 Zabbix Agent 联网也得以通过 Zabbix Proxy 拓展连接,再由 Zabbix Proxy 联网 Zabbix Agent。后面这种办法用在分布式监控的面貌。

    Zabbix Server 获取的多寡存放到 Zabbix Server 的必发娱乐登录中,Zabbix UI(Web)可以读取服务器中的数据,穿过图表的措施展示出来。

    Zabbix 构建过程,人均安装 Zabbix Agent/Server/UI,Host 安排,Item 安排,Trigger 安排,Action 安排。

    其一配置过程完美地答应了,“监督谁?监督什么?出现异常以后如何处理?”的题材。

    说到底,针对不同应用场景,Zabbix 还支持多种监控方式,有 Zabbix Agent,SNMP,IPMI 以及 JMX。

    笔者:崔皓

    介绍:十六年开发和架构经验,曾担任过惠普武汉交付中心技术专家,需求分析师,品种经理,此后在创业公司担任技术/产品经营。擅长学习,愿意分享。脚下专注于艺术架构与科研管理。

    【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

    【编纂推荐】

    1. 五招监控云账号劫持活动
    2. 为什么我们放弃Zabbix利用Prometheus?
    3. 监督Linux文件变化,防止系统被黑
    4. 烟草业控制系统网络安全的攻击类型、预防措施以及改进方法
    5. 8个免费SSL证明监控到期提供工具网站 合同SSL适时续约
    【义务编辑: 武晓燕 TEL:(010)68476606】

    点赞 0
  • Zabbix  监督  系统
  • 分享:
    大家都在看
    猜你喜欢
  • 订阅专栏+更多

    Python使用场景实战手册

    Python使用场景实战手册

    Python使用场景实战手册
    共3章 | KaliArch

    115人口订阅学习

    一步到位玩儿透Ansible

    一步到位玩儿透Ansible

    Ansible
    共17章 | 骏马金龙1

    182人口订阅学习

    云架构师修炼手册

    云架构师修炼手册

    云架构师之必不可少技能
    共3章 | Allen在路上

    131人口订阅学习

    读 书 +更多

    贯通JBuilder 2006

    JBuilder 2006是一款强大的Java企业级开发平台,他集成了几乎全部的Java艺术,涵盖了软件开发生命周期的各国过程。该书深入浅出地介绍了JBu...

    订阅51CTO邮刊

    点击这里查看样刊

    订阅51CTO邮刊

    51CTO劳务号

    51CTO官微


  •