隐藏

zabbix从放弃到入门(5):在zabbix中添加带有参数的监控项

发布:2021/12/20 10:52:56作者:管理员 来源:本站 浏览次数:792

这篇文章将会介绍在zabbix中,怎样为主机添加一个带有参数的监控项。

在本博客中,”zabbix”是一个系列文章,如果你还不明白zabbix的相关概念,强烈建议从zabbix系列文章中的第一篇开始阅读,否则你可能无法理解这篇文章中涉及到的部分名词。

zabbix系列文章列表直达链接:zabbix入门系列

blob.png

 

在前文中,我们已经解释了 “监控项”(item)、”键”(key)、”应用集”(application)等概念,并且为testzbx1主机添加了一个监控项,其作用是监控主机的cpu上下文切换速率。

这次,我们再为testzbx1主机添加一个监控项,用于监控磁盘分区的使用率,因为创建监控项的过程我们在前文已经详细的演示过,重复的地方我们就不再赘述,这次创建的监控项与上次创建的监控项只有些许不同而已,我们会重点介绍它们的不同之处。

 

点击zabbix控制台的 “配置”—-“主机”,点击testzbx1主机的监控项。

 

点击”创建监控项”按钮。

 

假设我们想要监控testzbx1主机上的”根分区”的磁盘使用率,所以,我们命名监控项名称为 RootPartitionUsed

 

我们说过,如果想要获取监控指标的数据,可以通过指定的key获取,如果zabbix自带的key不能满足我们,我们可以自定义key,而此处,我们的需求是监控根分区磁盘使用率,而zabbix自带的key中,正好有一个key能够获得某个磁盘分区的使用率,所以,我们点击上图中的”选择”按钮

 

点击选择按钮以后,从列表中找到如下图中的键,键名为”vfs.fs.size[fs,<mode>]”,从解释中可以了解到,通过这个键获取到信息与磁盘容量相关。

 

细心的你一定发现了,我们这次选择的”键”与上一次选择的”键”有哪些地方好像不太一样,没错,格式好像不太一样。

我们来对比一下,上次,我们为了监控cpu的上下文切换次数,选择了如下键。

而这次,为了监控磁盘分区的使用率,我们选择了如下键。

这次我们选择的键,除了键名以外,还多出了传入参数的位置。

对于”vfs.fs.size[fs,<mode>]”这个键来说,”vfs.fs.size”就是键名,”[fs,<mode>]”就是这个键需要的参数。

而”[fs,<mode>]”这两个参数中,fs是不可省参数,mode是可省参数。

聪明如你一定已经发现了,如果参数被尖括号括起,则代表这个参数是可省参数,例如上述的<mode>,如果参数没有被尖括号括起,则代表是不可省参数,例如上述的fs。

 

那么这个键到底怎么使用呢,fs和mode这两个参数分别代表了什么呢,我们可以通过官网帮助手册,查看这些”键”的含义与使用方法。

zabbix3.0版本的所有”键”的含义及用法的官方在线手册地址如下。

https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent

 

打开上述网址后,查询对应”键”的名称,从在线帮助手册中可以看到,这个键的描述,返回值,参数的含义与值,以及示例等信息。

从上图可以看出,通过这个键,获取的返回信息可以有两种类型,一种是整形,一种是浮点型,这取决于我们需要获取哪种信息,如果是获取磁盘的使用百分比,则会返回给我们浮点型,如果是获取使用量,则会返回整形,代表使用了多少bytes,上图中解释了两个参数的用法,fs代表对应的文件系统,我们可以理解为对应的文件系统所在的分区,mode的值可以为total,free,used,pfree,pused,分别表示获取对应文件系统的总大小(省略mode参数时,此为默认值),空余空间大小,已经使用的空间的大小,空闲率和使用率,还记得这个键返回的两种数据类型吗,如果我们将mode设置为total,free,used,那么,这个键返回的数据类型将为整形(就是一个整数),如果我们将mode设置为pfree或者pused,那么这个键返回的信息的数据类型就是浮点型(带有小数点的数字)。而且,帮助文档中还给出了这个”键”的使用示例
,vfs.fs.size[/tmp,free],示例表示获取/tmp所对应的文件系统的剩余空间大小。

 

好了,我们大概对vfs.fs.size[fs,<mode>]这个键有了一些了解,通过这个键,可以获取到文件系统对应分区的磁盘空间使用情况信息,我们可以通过fs参数指定对应的文件系统,通过mode参数,指定我们想要获取的信息的格式,还记得我们上次使用的zabbix_get命令吗,没错,我们先在server端,通过命令行测试一下,试试能否通过zabbix_get,调用对应的键,获取对应的磁盘信息,在server端执行如下命令。

 

上图中,我们使用了zabbix_get命令,调用了vfs.fs.size这个键,并且指定了对应的文件系统,我们指定fs参数的值为”/”,而我们并没有设置mode参数的值,我们说过,mode参数是可省参数,当mode参数省略时,默认值为total,表示获取对应文件系统的总大小,由于是以字节为单位,所以返回的数值比较大,换算成G,应该为98.3G,那么我们到agnet端验证一下,看看其”根分区”的大小是否与此值相同,如下命令在agent端执行。

可以看到,被监控主机的根分区大小为99G,与98.3G相差一点,这是因为换算的关系引起的,我们可以认为,我们获得到的信息是没有错的。

那么,我们再次在server端执行如下几条命令,这次,我们设置了mode参数的值。

上图中的三条命令分别获取了根分区的使用量,空余量,以及磁盘使用率。

 

好了,经过测试,通过”vfs.fs.size[fs,<mode>]”这个键,的确能够获得磁盘的使用情况统计信息,那么,我们回到我们的监控项配置页面。

当我们选择了对应的键以后,我们还需要做出适当的修改,将其参数值改成我们所需要的值,如下。

由于我们获取的数据为根分区的使用率,返回的信息为浮点型,所以,信息类型选择浮点型,由于返回的信息为磁盘使用率,所以单位设置为 “%”

 

好了,其他的设置我们在前一篇文章中已经解释过了,此处不再赘述,但是为了演示方便,我并没有将数据更新间隔设置为3600,而是设置10秒收集一次磁盘数据,再次强调,这样设置只是为了快速获取演示效果,生产环境中对于类似这样的数据不要监控的如此频繁,配置如下后,点击添加按钮。

 

监控项添加完毕后,等待一分钟左右,查看对应的监控数据,如下,点击监控项对应的”图形”连接。

 

可以看到,监控到的磁盘使用率为11.03%,而且界面上显示的单位也是”%”,还记得我们在监控项中配置的单位吗,就是这个作用,如果数据较多,我们可以拖动监控视图的”镜头”,调整”镜头”的远近以及位置,即可看到不同时间段的监控数据,但是因为我们磁盘使用率一直没有多大变化,所以,看不出镜头移动时的效果,如果是长时间的波动的数据,拖动镜头时的效果则比较明显。

这次,我们又添加了一个监控项,只是与上一次相比,我们这次添加的监控项可以传入参数。

而且,我们已经了解到,如果想要搞明白zabbix的各种自带key的作用,可以参考zabbix官方在线手册:

https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent

 

好了,今天就聊到这里,下次再见呦,客官您慢走~~~