深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

发布时间:2020-07-13 10:51:13 作者:大白一起学
来源:网络 阅读:7661

第六章 监控项配置与管理

Zabbix系统中监控项(Items)的定义和管理非常重要,所有的监控指标都是通过定义不同的监控项收集数据。Zabbix通过主机作为一个逻辑单元组织和管理监控项,所有的监控项都必须属于某个主机,且在同一主机中只能有一个唯一的监控项存在。

6.1监控数据

Zabbix 不同于与大多数其他监控解决方案的一个重要特征是Zabbix通过监控项从被监控对象收集的数据是原始数据,而不是告警或状态的更新数据。大多数监控方案中,不管是通过agent或其他方法收集到监控数据后,会对该数据进行逻辑处理,然后将该数据的状态发送到服务器中保存,并进一步进行处理。数据的处理流程如下图6-1所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-1

Zabbix中处理数据的流程会稍有不同,通过agent或其他方法收集到监控数据后,会直接发送到服务器中进行保存,然后触发器逻辑会判断数据的变化情况,进行下一步处理。在Zabbix中收集的数据和特定的触发器的条件(如通过、失败、正常、警告、错误等)没有任何的关联,在服务器的数据库中保留原始的监控数据,并对数值类型的监控项数据,可以保留不同期间内的汇总和趋势,像最小值、最大值和平均值等。如下图6-2所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-2

Zabbix采取数据和决策逻辑分离的方式有两个优势:

首先,Zabbix中收集到的监控数据和触发器逻辑、告警没有直接的关联,这样我们可以把Zabbix作为一个纯粹的数据收集器,并将这些数据通过图形等可视化的方式展现出来,这在实际环境中是非常有用的。举个例子,我们需要监控交换机每个端口的流量,目的只是收集数据建立基准线,评估可能的瓶颈,为扩展网络基础架构的规划提供依据。类似的情况还有很多,比如说CPU的使用率、存储的容量、特定应用的用户并发率等等。

其次,所有收集到的原始数据统一保存在数据库中,而不是某一次的监控数据或某一监控项的一部分监控数据。对于触发器和决策逻辑你可能需要完整的数据来确切的定义你想要监控和告警的事件种类,这时你可以关联到监控项的所有历史数据。

Zabbix 中监控项本质上可以理解为一个关联到主机的某种数据类型的标识符(或指标)。而这个标识符通常是一个名称和关联的监控项key,用来区分在整个监控环境中定义的成千上万的监控项中关联到主机中的监控项。监控项的数据类型也非常重要,Zabbix通过数据类型指定怎样保存数据,怎样可视化数据(数值类型的监控项能自动生成简单的图形,字符类型不能生成图形),在触发器中可以指定哪些函数能够应用到监控项进行处理。

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

6.2 监控项的类型

Zabbix中监控项根据连接的方式划分出多种类型,也就是我们在第三章中介绍过的监控方式,它们之间依据不同的监控目标可以互相替换使用,但也有不能替换的监控方式,为完成监控目标只能使用某种类型,例如Zabbix aggregate监控方式。监控项收集监控数据时,根据数据流的方向不同,我们可以归为两类:Passive(被动式)Active(主动式)Passive意味着由Zabbix server发起初始化连接,Active意味着初始化连接是由被监控端发起。如下表6-1所示。

6-1

Item type

方向

可替换为

Zabbix agent

Passive(被动式)

Zabbix agentactive

Zabbix agentactive

Active(主动式)

Zabbix agent

Simple checks

Passive(被动式)

Zabbix trapper

SNMP agent

Passive(被动式)

Zabbix trapper

SNMP trap

Active(主动式)


Zabbix internal

Server监控自身收集数据


Zabbix trapper

Active(主动式)

取决于监控数据的性质

Zabbix aggregate

使用数据库中已有的数据


External checks

Passive(被动式)

Zabbix trapper

Database monitor

Passive(被动式)

Zabbix trapper

IPMI agent

Passive(被动式)

Zabbix trapper

SSH agent

Passive(被动式)

Zabbix trapper

TELNET agent

Passive(被动式)

Zabbix trapper

JMX agent

Passive(被动式)

Zabbix trapper

Calculate

使用数据库中已有的数据


 

6.3 监控项的Key

定义监控项的Key时,要遵从Zabbix中定义的监控项Key的格式,如下图6-3所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理


6-3

其中Key为名称,在Key名称后面可以带参数,也可以不带参数。

Key名称在同一主机中必须是唯一的,不能有相同的名称存在。命名时使用的字符是有限制的,只允许使用下列的字符:

如下图6-4所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-4

例如:

Key可以传递多个参数,这些参数必须用逗号分隔。如下图6-5所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-5

其中每个parameter(参数)可以是带引号的字符串或者是不带引号的字符串,也可以是一个数组。如下图6-6所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-6

想使用默认值时,参数也可以留空,但是必须要用逗号分隔,例如:icmpping[,,200,,500]中指定了ping的间隔时间为200毫秒,超时为500毫秒,其他的参数留空表示使用默认值。

如果参数是带引号的字符串,使用的双引号必须用反斜杠(\)进行转义,双引号中间可以使用任意Unicode字符。

如果参数是不带引号的字符串,除了逗号和右方括号外任意的Unicode字符都可以使用。

如果参数是一个数组,需要使用方括号括起来,多个参数间用逗号分隔。

6.4 监控项的单位

Zabbix中支持多种单位(Units)符号的使用,如果设置了单位符号,Zabbix将在接收数据后增加后置处理,并按照设置的单位显示。

系统默认的,如果原始值超过1000,它会除以1000并相应的显示。例如:设置单位是bps,如果接收数据的值是881764,将会显示881.76Kbps。当使在用单位Bbyte)、Bpsbytes per second)时,它会除以1024,因此在Zabbix中会显示:11B/1Bps10241KB/1KBps15361.5KB/1.5KBps

和时间相关的单位的处理包括:

Zabbix中也保留了一些单位字符如:msrpmRPM%

6.5 自定义intervals

Zabbix中每个监控项收集数据的时间间隔可以通过设置 Updateintervalin sec)来实现,例如你可以设置为30,意味着每隔30秒就收集一次监控项的值,这种设置简单,不够灵活。因此Zabbix中提供了Flexible intervalsscheduling intervals两种方式可以灵活的设置监控项收集数据的时间。

6.5.1 Flexible intervals

Flexible intervals允许为特定的时间段重新定义默认更新的时间间隔,一个flexible intervalsIntervalPeriod来定义。

Interval是特定时间段中更新的时间间隔。

Period是使用flexible interval的时间段。用来定义Period的格式为d-d,hh:mm-hh:mmd为星期几,1代表星期一,2代表星期二,3代表星期三,… 7代表星期日。hh为小时,00 – 23mm为分钟,00 – 59。例如,1-5,09:00-18:0的意思是星期一到星期五的上午9点到下午18点。也可以指定多个用分号分隔的时间段,如d-d,hh:mm-hh:mm;d-d,hh:mm-hh:mm...。例如,1-5,09:00-18:00;6-7,10:00-16:00的意思是周一到周五的上午9点到下午18点,周六和周日上午10点到下午16点。

最多可以设置7flexible intervals,如果多个flexible intervals重叠时,将使用重叠时间段内最小的Interval值。需要注意的是如果重叠的flexible Intervals的最小值是0,这时候对监控项的数据不再进行收集。在flexible intervals定义的时间段外,使用Updateintervalin sec)中设置的时间间隔收集数据。

如果定义的interval正好等于时间段的长度,监控项只收集一次数据。如果interval大于时间段,监控项可能会收集一次数据或一次都没有,因此不建议这种配置。如果interval小于时间段,那这个监控项最少会收集一次数据。

如果interval设置为0,那这个监控项在设置的时间段内不会收集数据。在设置的时间段结束时按照Update intervalin sec)中的时间间隔恢复对数据的收集。例如下表6-2所示。

6-2

Interval

Period

说明

10

1-5,09:00-18:00

在工作时间内每10秒钟收集一次监控项数据

0

1-7,00:00-7:00

晚上0点到7点停止收集监控项数据

0

7-7,00:00-24:00

星期日停止收集监控项数据

60

1-7,12:00-12:01

每天12点收集一次监控项数据

 

6.5.2 Scheduling intervals

Scheduling intervals用来在特定的时间收集监控项数据。flexibleintervals旨在重新定义默认收集监控项数据的时间间隔,而Schedulingintervals用于指定一个独立的收集监控项数据的时间表,它们是并行执行的。

一个Scheduling interval的定义格式是:md<filter>wd<filter>h<filter>m<filter>s<filter>mdmonth dayswdweek dayshhoursmminutessseconds<filter>是用来指定特定前缀(例如dayshoursminutesseconds)的值,它有自己的书写格式:[<from>[-<to>]][/<step>][,<filter>]。格式中各参数的含义如下:

有效的<from> <to> 的值如下表6-3所示。

6-3

前缀

说明

<from>

<to>

md

Month days

1 - 31

1 - 31

Wd

Week days

1 - 7

1 - 7

H

Hours

0 - 23

0 - 23

M

Minutes

0 - 59

0 - 59

s

Seconds

0 - 59

0 - 59

<from> 的值必须小于或等于 <to>的值,<step> 的值必须大于或等于1,也可以小于或等于 <to> - <from>的值。

单数字的month dayshoursminutesseconds的值前面可以加0,例如 md01-31h/02等是有效的定义,但像md01-031 wd01-07week days不能加0)就是无效的定义。

Zabbix Web前端页面中,需要使用多个Schedulingintervals时可以设置添加多行intervals。在Zabbix API中可以写成一行,每个Schedulingintervals之间需要用分号分隔。执行时如果同时和多个intervals中定义的时间都匹配,那也仅执行一次,例如wd1h9;h9只在周一早上9点执行一次,不会因定义了2h9而执行两次。

为了更好的理解Scheduling intervals的定义,下面我们举些例子一起来看看。

监控项可以在模板或主机中创建,建议在模板中创建,这样只需要创建一次,就可以连接到多个主机中使用。需要调整监控项的配置参数时,只需要修改一次,即可在连接该模板的主机中直接生效,降低日常维护的工作量,由此可见在模板中创建监控项的好处。

Configuration --> Templates 页面中找到需要创建监控项的模板,点击该模板的items链接,或者在Configuration--> Hosts 页面中找到需要创建监控项的主机,点击该主机的items链接,进入items页面,点击右上角的Create item按钮。

下面通过在模板中创建监控项的方式来介绍创建监控项的步骤:

1、   进入items页面,点击Create item按钮。

2、   item配置页面,填写相关信息。

3、   点击Add按钮保存。

4、   把模板连接到主机上。

 

监控项配置页面如下图6-7所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-7

监控项配置页面中各参数的含义如下:

Zabbix将自动完成文字到数值的转换,即便一个主机是由Zabbix proxy监控的,转换也是由Zabbixserver完成的。

如果timestamp为空值将不做解析处理。

例如,在Zabbix agent日志文件中有这样一行:23480:20100328:154718.045 Zabbix agent started. Zabbix 1.8.2(revision 11211)。其中开头的6个字符是PID,接下来是日期、时间和其他内容,那这行Log的时间格式为pppppp:yyyyMMdd:hhmmss。在这里p和:只是一个占位符,除了yMdhms外可以是其他任意格式。

Items页面(Configuration--> Hosts --> Items或者Configuration --> Templates --> Items)列表中,点击Name列中想要更新配置的监控项名称,进入监控项配置界面修改配置参数,然后点击页面下方的Update按钮保存。

如果需要对多个监控项进行更新,Zabbix给我们提供了一个批量更新的功能,当你从列表中选中多个监控项后,点击页面左下方的Mass update按钮可以进行批量更新,完成更新后点击Update按钮保存。

6.8 克隆监控项

在主机中配置监控项时,有时候添加监控项时,每个监控项的配置基本相同,但数量比较多,这时候我们可以先创建后一个监控项,然后克隆这个监控项。

需要克隆监控项时,首先要打开监控项的配置页面,在页面左下方你会看到Clone按钮,点击Clone按钮后会出现一个新的监控项的配置页面,这个配置页面中的各个参数都是原来监控项中已经配置好的。你至少要修改监控项Key的配置,在主机中,监控项的名称可以相同,但是Key必须是唯一的。修改完成后点击Add按钮添加监控项。

6.9 复制监控项

一个主机中的监控项可以复制到另一个主机、模板或主机组。在主机的监控项列表中选择需要复制的监控项,然后点击Copy按钮,根据你的需要选择相应的目标类型(主机组、主机或模板)和目标,点击Copy按钮完成监控项的复制。如下图6-8所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-8

复制的监控项配置是完全一样的,在复制过程中你没有修改配置的机会,和克隆不一样,克隆的过程中你可以修改配置。

6.10 清除监控项历史数据

当你想清除某些监控项的历史和趋势数据时,可以在主机的监控项列表中选择相应的监控项,然后点击Clear history按钮,页面中会弹出是否删除历史数据的确认,点击确定按钮,完成删除。如下图6-9所示。深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-9

6.11 过滤监控项

   在实际环境中,一些主机上会有很多监控项,在主机的监控项列表中对某个监控项进行操作时,可以通过Filter进行过滤,快速的定位。在设置过滤条件时可以使用主机、组、监控项名称、监控项Key、类型、状态等进行组合条件的过滤。如下图6-10所示。

深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

6-10

6.12 删除监控项

   在主机的监控项列表中选择需要删除的监控项,点击Delete按钮就可以删除选中的监控项及其历史数据。在实际操作时,建议先将监控项设置为禁用状态,不要直接删除。

 


深入浅出Zabbix 3.0 -- 第六章 监控项配置与管理

本文出自 http://ustogether.blog.51cto.com/8236854/1925780,如需转载请与作者联系。

推荐阅读:
  1. centos6.5下安装zabbix2.4的教程图解
  2. 在分布式监控系统中怎么实现主动与被动Zabbix

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

zabbix -- 监控项

上一篇:Kubernetes基本概念

下一篇:XML中的schema是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》