点击返回:自学Zabbix之路

点击返回:自学Zabbix4.0之路

点击返回:自学zabbix集锦

11 Zabbix Item类型之Zabbix Calculated 计算型Item类型

计算类型Item,可以通过计算其他的Item来获取数据 。注意是已定义过的key值。 在Item配置中,zabbix支持计算表达式。

如这里我要创建一个计算linux服务器内存实际使用大小的监控项(计算方法为:vm.memory.size[total]-vm.memory.size[buffers]-vm.memory.size[cached]-vm.memory.size[free])。

但zabbix默认的Items里并没有获取vm.memory.size[cached]这个key值。

所以在查看Calculated类型的items时会出现Cannot evaluate function “last()”: item “coolnull:vm.memory.size[cached]” does not exist。

要解决的话就需要自己再定义添加coolnull:vm.memory.size[cached]这个Items。

以下这边以获取算linux服务器内存实际使用大小来举例:

具体:

1、在模板中或是主机中选择监控项—->选择Create item

2、监控的名称和key按照其功能随便起一个名字(注:名字和key的名字一定要是英文格式的,包括你名字中包含的特殊字符)

如:mem.realused,key的类型选择计算,这时会出现一个Formula,里面就是你的计算公式,

如:(last(“vm.memory.size[total]”)-last(“vm.memory.size[buffers]”)-last(“vm.memory.size[cached]”)-last(“vm.memory.size[free]”))

这个计算公式就是取各个key值的最后一次值做计算,注意公式中没有空格(经测试发现有时有空格之类的话提交的时候可能报错),计算的各个key都是同一类型的。

3、其他的选项没有什么特别,参照公式中其中一个key值的设置选项设置即可。

4、最后点保存提交,完成key的定义。

这边发现如果用(last(“vm.memory.size[total]”)-last(“vm.memory.size[buffers]”)-last(“vm.memory.size[cached]”)-last(“vm.memory.size[free]”))来减的话,还需要再定义vm.memory.size[buffers]、vm.memory.size[cached]值。

因此我直接使用(last(“vm.memory.size[total]“)-last(“vm.memory.size[available]“))来计算更方便,不需要再定义buffers、cached。

备注:

常用的计算类型key定义时用的有以下几种公式(注意一下公式在写入Formula时要加一个小括号):

1、计算空闲磁盘空间的比例:
      100*last(“vfs.fs.size[/,free]”)/last(“vfs.fs.size[/,total]”)
2、计算10分钟主机出流量的平均值:
      avg(“Zabbix Server:net.if.out[eth0,bytes]”,600)
3、计算网卡总流量:
      last(“net.if.in[eth0,bytes]”)+last(“net.if.out[eth0,bytes]”)
4、计算进流量占网卡总流量的比例:
      100*last(“net.if.in[eth0,bytes]”)/(last(“net.if.in[eth0,bytes]”)+last(“net.if.out[eth0,bytes]”))
5、在计算项目中正确使用聚合条目,注意双引号如何被转义:
      last(“grpsum[\”video\”,\”net.if.out[eth0,bytes]\”,\”last\”,\”0\”]”)/last(“grpsum[\”video\”,\”nginx_stat.sh[active]\”,\”last\”,\”0\”]”)
6、计算多台主机出流量的和:
      last(“192.168.1.100:net.if.out[eth0,bytes]”)+last(“192.168.1.200:net.if.out[eth0,bytes]”)+last(“192.168.1.110:net.if.out[eth0,bytes]”)
      这种计算是多台主机的,至于这个值放在哪个主机的监控项中都是一样的,只要是在此zabbix服务器端中。

最新文章

  1. ECF R9(632E) & DP
  2. Log4j框架
  3. freemarker页面如何获取绝对路径basePath
  4. 【Python】 用python实现定时数据解析服务(前言)
  5. C使用相关笔记
  6. Leetcode 58 Length of Last Word 难度:0
  7. 程序清单 8-8 exec函数实例,a.out是程序8-9产生的可执行程序
  8. js字符串截取函数slice()、substring()、substr()
  9. Jmeter以non-gui模式进行分布式测试
  10. HDOJ1020 Encoding
  11. Phonegap-----Media
  12. 基于visual Studio2013解决面试题之0901奇偶站队
  13. iOS获取设备型号和App版本号等信息(OC+Swift)
  14. Day2_元组_字典_集合_字符编码_文件处理
  15. 2019-中小型公司PHP面试题目记录(附带答案)
  16. 洛谷水题p1421小玉买文具题解
  17. js——prototype、__proto__、constructor
  18. Python之包管理
  19. luogu P2113 看球泡妹子
  20. linux ssh root登陆出现错误:Permission denied, please try again

热门文章

  1. vue2.0中使用pug(jade)
  2. 反射反射,程序员的快乐+反射案例:打印和Excel导出
  3. 1.RapidIO协议概述
  4. css-文本左右对齐
  5. item 7:当创建对象的时候,区分()和{}的使用
  6. Redis_简单使用
  7. C/C++中连接函数strcat的应用(简单讲解)
  8. 一个高性能的对象属性复制类,支持不同类型对象间复制,支持Nullable<T>类型属性
  9. Centos7下ELK+Redis日志分析平台的集群环境部署记录
  10. B. Vasya and Isolated Vertices