Zabbix 演示视频

介绍Zabbix核心特性和功能,欢迎使用Zabbix来监控!

前言

Zabbix是企业级开源监控工具,已经连续两年被誉为Gartner客户之选。本演示视频是为了帮助大家更好地了解Zabbix监控解决方案,让你对Zabbix核心特性和功能有整体认识。我们将向您介绍Zabbix使用界面以及监控的基本概念。希望你会有所收获。欢迎使用Zabbix来监控!

仪表板

仪表板就是您的监控中心,这里会显示不同的数据、问题、拓扑图以及其他不同的监控情况。仪表板由许多小组件组成,这些小组件可以高度自定义或选择性移除,使其只显示你所需的数据。例如,可以设置专给网络监控团队查看的仪表板,其中我们可以监控到有关网络设备、网络拓扑图及网络架构相关的问题。也可以设置专为给管理者查看的仪表板,了解各区域数据中心及其状态:是否出现问题?是否正常运行?从显示出的拓扑图中我们的管理团队可以执行进一步操作,例如:执行某种脚本来检查特定数据中心的可用性或打开一个子拓扑图,更深入的了解特定数据中心的情况,以及所有的设备是否都正常运行?是否有出现问题?如果有出现问题,是哪一个设备出现了问题。

问题检测

当接收到的指标匹配问题表达式时,即触发器表达式,Zabbix会创建问题。 在不同板块如问题板块或仪表板都可以看到问题。我们可以使用不同的组件在仪表盘中从不同的角度显示问题,筛选问题,或进行其他操作。一旦发现问题,可以展开并查看问题的总体描述和相关信息:什么时候出现的?最后接收的相关数据是什么?谁在对这个问题进行管理或操作?同时还能看到问题的历史情况及其对应的触发器表达式

Web 场景

通过创建Web场景可以本地监控网站。Web场景以操作步骤为基础, 步骤例如,执行登录,分析接收到的响应代码检查是否成功登录,或在网站上查找字符串执行登出步骤。Zabbix会对每一个步骤自动收集一组指标:速度、响应时间、响应代码以及这些步骤是否成功执行。收集这些指标之后,Zabbix会自动为每个Web场景步骤以及整个Web场景创建图表。这允许我们分析网站性能有更长的时间间隔,发现Web场景步骤出现的问题,并尝试解决它们。

图表

一旦收集好数据,可以利用Zabbix图表将数据可视化。 这些图表是高交互的,可以将它们呈现在仪表板。当鼠标放在图表处,可查看具体时间点收集的具体数据,或者放大特定时间段,或者用时间选择器工具查看特定时间段的数据。也可以选择其中一个定义好的时间段,例如“过去一周”、“过去一个月”;或用日历工具选择具体日期;或点击“从(某日)”和“到(某日)”手动选择时间段显示数据。

拓扑图

如果想进一步可视化数据、触发器、host,可以用Zabbix拓扑图功能实现。可以把拓扑图放在为网络管理设置的仪表板中心。也可以将其他拓扑图与已有拓扑图关联,从而创建一个拓扑图等级。你可以点击拓扑图上的各个元素来浏览这些元素,或用拓扑图导航树组件浏览可选择的拓扑图,再浏览这些元素。拓扑图上的元素会根据所处的状态改变图标。例如,没有异常的host旁边会出现绿色打钩标记。出现异常的host旁边会出现红色的叉,表示host出现问题。这些图标完全可以定制,上传自定义的图标,增添到拓扑图即可使用。

Actions

收集数据只是第一步,然后如何处理数据呢。Zabbix可以对问题、新发现或host自动注册做出反应,还可以创建内部action,这样当监控项因某些原因停止运作时就会通知你。Action的产生是根据你定义的and/or条件执行。你可以定义多个条件,并设置针对哪个问题来作出反应。例如,只针对特定主机组出现的问题,或针对基于触发器名称的特定触发器出现的问题。定义好这些条件之后,要设置接下来的操作,通过Operation执行。 可以通过邮件或集成发送消息, 也可以执行远程命令,例如遇到问题时重启host。还可以设置是否循环这些消息,或是否延迟操作。例如,在问题出现30分钟或1小时后再做出反应,而不是立即做出反应,因为可能会有自动解决问题趋势。可以对每一个操作自定义消息,或者使用定义好的特定集成消息。

Agent

可以选择在监控端点设置轻量Agent。这个Agent能够收集OS-level操作系统级指标和监控日志文件,或执行自定义脚本,并将收集的输出也作为指标。Agent设置非常简单。 可以将其作为软件包安装在您的类Unix主机上,也可以为您的Windows系统的计算机安装MSI安装程序,Agent和Sever的通信可以通过两种方式,一是主动轮询Agent,Server被动轮询Agent,二是Agent发送trap给Server,然后Server对此进行处理。从Zabbix 5.0开始,可以在C-AgentGo-Agent。之间进行选择。Go-Agent可以监控许多本地新系统,开箱即用,例如MySQL或Docker。也可以为Go-Agent自定义插件来监控任何你想要的第三方系统。

SNMP

Zabbix提供开箱即用的模板,充分本地支持SNMP 监控。 Zabbix为最受欢迎的软件和硬件供应商提供SNMP模版。如果你想创建自定义SNMP监控项,只需建立一个新监控项并设置自定义OID,就会收集指标。使用自动发现(LLD)功能,可以将这个过程自动化一点。只需创建一个新的发现规则并设置OID,这样就会收集所有指标。这些指标将增添到监控项原型,每一个指标都会建立一个新的监控项,从而实现自动SNMP监控。

IOT 物联网

Zabbix提供开箱即用的模板,完全支持IoT 物联网监控功能。 对此,Zabbix提供两种Key值进行选择。modbus.get可用于Modbus物联网设备,mqtt.get用于MQTT设备。你只需要设置Zabbix Agent,并用对应的Key值创建一个包含IoT物联网端点属性的新监控项即可启用。

脚本

如果你想用一种更高级的方法收集指标,Zabbix为你提供脚本监控项类型。脚本监控项类型是以JavaScript为基础,你可以编写脚本,从而进行任何端点监控。脚本的结果将储存为指标,这样可以实现综合监控。例如,使用JavaScript获得API令牌,用令牌进行登录,并执行API调用,调用结果将储存为指标。

Java

如果你想监控Java 应用,Zabbix也可以提供开箱即用的模板。使用JMX(Java Management Extensions),即Java管理扩展技术连接你的Java应用,并通过JMX端点收集MBean和MBean 属性列表,你可以对JMX端点进行特别指定。还有一些通用的开箱即用Java模板,可用于自定义应用。

IPMI

对于更高级的IPMI设备,Zabbix也能连接其IPMI接口,并监控设备上的不同传感器的不同数值。可以为其手动创建监控项,只需提供传感器名称即可;或者使用IPMI 传感器发现规则,让这个步骤实现自动化。这些在Zabbix里的开箱即用模板都能找到。发现规则能搜索并列出不同传感器,根据监控项原型,为每个传感器创建一个新监控项。

其他检查: ODBC, ssh, WMI

除了使用本地Zabbix Agent检查、SNMP、IPMI和Java接口以外,还有许多其他方法可以收集数据。例如,可以使用ODBC 检查连接数据库,执行查询,并将收集到的查询输出作为指标。或者使用SSHTelnet连接远程host,执行命令,并将收集到的命令结果作为指标。例如,在Windows机器上,可以监控Windows的性能counter,或使用WMI监控Windows host。

VMware

说到自动化,Zabbix能够本地自动发现VMware环境,本地发现VM访客、超管理器、集群和数据存储。根据创建的host类型,将应用相应的模板,该模板包含将从你的VMware环境收集的性能counter列表。可以随时修改这些模板,禁用或启用针对特定元素的发现,还可以随时根据vCenter的版本添加自定义性能counter。

LLD自动发现

试想一下,当有多个类似host,它们使用相同的模板,但是每个host并不一定完全相同。比方说,这些server有不同的文件系统。我们该如何解决这种问题呢?当然,我们可以在host上为每一个文件系统创建单独的监控项,但这样手动操作起来太麻烦了。万一不止有3个host而是有300个host呢?所以需要实现自动操作。使用LLD自动发现。功能能够实现自动化。LLD自动发现可用于任何类型的检查:Agent检查、SNMP、ODBC、Java或任何Zabbix支持的自动发现的实体。然后,基于监控项、触发器和图形原型,根据发现的结果创建监控项、触发器和图形,从而在Zabbix上自动创建这些实体。仔细查看这些开箱即用的模板,你会发现许多模板存在发现规则。例如,在网络接口发现规则,已经有创建好的监控项、触发器和图形原型。如果仔细查看host,会看到这个发现规则已经创建了超过500个监控项,每个接口都创建了一些监控项。有些是通过触发器和图形监控,前面这种则是利用LLD自动发现功能自动实现。这种情况下,可能是通过Agent或SNMP完成的。另一个例子,发现储存,更准确地说是发现文件系统或物理磁盘储存。再次强调,Zabbix发现规则根据监控项触发器,和图像原型发现实体,通过SNMP,创建SNMP监控项,然后创建触发器连接这些监控项。

趋势触发器

根据绝对时间间隔能本地定义问题阈值,也就是小时、天、周、月或年。这是因为Zabbix会收集每小时的趋势数据,也就是说每小时为每一个指标收集平均最小值和最大值,还会为所述指标的收集值计数。有了这些数据可以创建触发器进行通知,比如应用程序的本月当前平均负载比上个月高出10%时就会通知。

用户角色

在用户角色的板块里,可以自定义新的用户角色。例如,可以为网络管理、应用管理、网络操作中心(NOC)团队分别创建一个角色。角色以用户类型为基础,有用户、管理者、或超级管理者供选择。根据所选类型,角色仅限于特定界面元素的一个子集,进行进一步限制或允许。例如,NOC团队只能访问UI的仪表板和拓扑图板块。除此之外,还有使用Allow和Deny指令来限定角色权限的API 方法。另外,还可以限制每个角色的特定执行动作,例如,可以限制NOC团队不能执行脚本或更改问题严重性。

身份验证

如果你想扩展Zabbix本地身份验证功能,有许多方法可以实现。其中一个方法是LDAP,只需在Zabbix Server上设置LDAP 实例,用AD或OpenLDAP就好了。也可以向Web server后端委托验证。Zabbix 5.0之后可以使用SAML,可以用集中的方式在Zabbix UI界面内进行本地配置。

保险库

Zabbix为用户凭证、SNMP communities以及其他敏感数据提供强大的安全选项。可以选择把数据储存在外部保险库外部保险库。另外可以通过这个库与Zabbix后端数据库建立通信,所有的凭证都会储存在这里。

Proxy

想象一下,假如你在全球有许多不同的数据中心, 每个数据中心有成千上万个host,每个host有一个Agent或者通过SNMP轮询,而我们需要收集所有的数据。在这种情况下,有些问题是显而易见的。首先,网络延迟问题,这会影响监控性能。万一有部分网络出现故障,连接不到host怎么办?另外,如果进行主动轮询、被动轮询, 安全团队需要通过防火墙允许所有连接。那么如何改善这种情况呢?确实有一个解决方法,那就是Zabbix proxy。可以根据需求在全球创建多个Zabbix Proxy。比如在数据中心所处的美国、亚洲和欧洲都创建Proxy,那这些Proxy能带来哪些好处呢?当然有许多好处。首先,它们能作为本地数据收集器,能收集本地host的数据并将数据发给中心Zabbix Server。例如,在Zabbix Server和Proxy之间的网络出现故障,仍能在自己的数据库储存数据,网络恢复之后就会把数据发送给中心Zabbix Server进行进一步分析。Proxy还能减少部分性能费用,因为它消除了从Server收集数据并将数据移至proxy所在的单独虚拟机上的需求。用这种方式可以按照需求来扩展Zabbix实例。

媒体类型

Zabbix 5.0增加了许多新的开箱即用集成。这些集成通过新的Webhook 媒体类型 实现。现在有系统集成,例如SlackJiraTelegram等许多其他系统。这些系统集成是基于将内嵌的宏数据传递给我们为您提供的自定义JavaScript。也可以按照需求进行调整和更改,让其适用于你的特定环境。

模板

相信你已经注意到,Zabbix为不同的系统,不同的软件供应商和不同的监控方法提供大量不同的模板,例如Agent和SNMP。如果这不能满足你的需求,可以随时浏览Zabbix Share ,这是一个Zabbix的分享社区,会分享模板、集成,还有你能想到的其他东西。你可以在社区上下载东西,为你所用。如果你愿意,也欢迎分享,上传你的模板到Zabbix分享社区。