[关闭]
@Mr-13 2020-09-11T06:02:01.000000Z 字数 4459 阅读 53

zabbix笔记(4):在zabbix中添加监控项

zabbix


原文引用:zabbix从放弃到入门(4):在zabbix中添加监控项


  前文中,已经描述了怎样在zabbix中添加主机,但是,我们并没有对主机进行任何指标的实际监控,那么现在,我们来说说,具体怎样监控我们想要监控的指标。

  在具体操作之前,我们先聊聊理论,假设我们想要监控磁盘的使用率,在没有zabbix这种监控工具时,我们怎样监控呢,再或者,我们不仅没有zabbix这种监控工具,我们也不会写脚本,更不会写任何程序,我们该如何监控磁盘的使用率呢。没错,人工监控,当我们无法依赖任何工具或者脚本等外部助力时,我们只能不停的看着屏幕,查看当前磁盘的使用率,如果磁盘使用率达到了我们设定的阈值,我们就会作出相应的处理动作。即使我们是通过人工完成监控的,我们也要想办法能够获取到被监控目标的数据,比如我们想要监控磁盘使用率,那么我们就要不停的获取磁盘的使用率信息,以便我们能够随时的了解磁盘的空间使用情况,那么我们怎样获取磁盘的使用率呢,就拿centos为例,我们可能会通过如下命令,获取每个分区的磁盘使用率。

  我们通过命令,获取到了磁盘使用率的信息,当然,这个命令比较简短,方便我们从键盘键入,如果一条简单的命令,无法获取到磁盘使用率的信息呢,那么我们可能会通过一条稍微复杂的命令去实现监控,比如,如果我们只想要监控"根分区"磁盘使用率,我们可能会使用如下命令实现。
  

  我们发现,获取监控信息的命令越来越长了,那么我们能不能尽量简化这些较长的命令呢,必须能啊,设置个别名不就行了,那么,我们把刚才的命令设置一个别名,直接执行命令别名试试。

  可以看到,原本比较长的命令只缩减为了rdu三个字符。是不是比原来方便了许多呢,我们只需要三个字符,就能获取到根分区的使用情况。

  linux的命令别名与zabbix的监控项并没有什么关系,但是他们有一些类似的地方,比如,我们刚才做的工作,无非就是获取监控信息,需要获取监控信息,就要执行对应的命令,我们也可以通过别名,调用对应的命令,从而获取到我们想要或得到的监控信息。
  
  在zabbix中,我们要监控的某一个指标,被称为 "监控项"(item) ,就像我们的磁盘使用率,在zabbix中就可以被认为是一个"监控项"(item),如果要获取到"监控项"的相关信息,我们则要执行一个命令,但是我们不能直接调用命令,而是通过一个"别名"去调用命令,这个"命令别名"在zabbix中被称为 "键"(key) ,所以,在zabbix中,如果我们想要获取到一个"监控项"的值,则需要有对应的"键",通过"键"能够调用相应的命令,获取到对应的监控信息,我们暂且这样理解,方便我们入门。
  
  好了,我们此处又提到了两个新的术语,我们来总结一遍:


  继续上一篇的设置,我们已经在zabbix中添加了一台主机,现在,我们继续在这台主机上操作。

  首先,打开我们zabbix控制台,点击 "配置" -- "主机" ,可以看到我们上次创建的主机,虽然我们为对应的被监控主机安装了agent,但是主机对应的ZBX仍然显示为灰色,代表我们还没有任何监控项被检测到,那么现在,我们来为testzbx1主机添加一个监控项。

  
  按照上图的步骤,直接来到创建监控项的页面;创建一个检测主机CPU上下文切换次数的监控项。先上配置图,再逐项说明内置内容:

zabbix官方文档: https://www.zabbix.com/documentation/4.0/zh/manual/config/items/item


  在继续操作之前,先插一段zabbix_get的内容:

  前面在介绍zabbix的概念时已经说过:管理员可以在server端使用一个名为zabbix_get的工具,测试是否能够从agent端拉取数据。我们可以先通过命令行,看看对应的"键"返回的信息到底是什么样子的。
  
  我们在server端,使用如下命令,获取一下system.cpu.switches这个键对应的值。

  1. $ zabbix_get -s 58.57.86.166 -p 19450 -k system.cpu.switches
  2. # zabbix_get参数说明:
  3. # -s --host : 指定客户主机名或IP
  4. # -p --port : 客户端端口,如不指定,默认10050端口
  5. # -I --source-address : 指定源IP,写上zabbix server的IP地址,一般留空,服务器如果有多个IP,制定一个即可
  6. # -k --key : 想要获得的key
  7. # 至于使用长参数还是短的,自己选,我经常使用-s而不是-host,
  8. # 如果不知道key参数可以使用 zabbix_agentd -p 寻找自己想要找的参数

  上图中,我们在server端通过zabbix_get命令,使用system.cpu.switches这个"键",获得了主机上的cpu上下文切换次数。我们运行了三次这个命令,可以看到,cpu的上下文切换次数是在不停的增长的,而且返回的值是一个整数。
  


  好了,回到我们的图形化配置界面,继续看我们的监控项配置。



  保存后,可以看到监控项列表中已经添加了刚才我们所设置的监控项内容;状态为“启用”;等待10秒左右刷新,可以看到 ZBX 的标记也已经被点亮。
  

  在主机的应用集中,也存在了对应的监控项。
  


  监控项已经创建成功,那怎么查看这个监控情况呢,点击“监测”----“最新数据”,设置必要的查询条件,这里我设置了主机查询条件,点击查询后,就可以看到所创建的监控项。如果是刚刚创建的监控项,数据手机需要一段时间。
  
  但是如果超出了正常的数据手机时间之后,很长时间内仍然无法收集到数据那么有可能是因为agent端与server端时间不同步引起的,请确定你的agent端与server端的时间是同步的。
  

  点击“图形”,就可以查看到所采集的数据图表了;可以点击右上角,查看数据值

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注