一 Items简介

Items是从主机里面获取的所有数据,可以配置获取监控数据的方式、取值的数据类型、获取数值的间隔、历史数据保存时间、趋势数据保存时间、监控key的分组等。
通常情况下item由key+参数组成,如监控项中需要获取cpu信息,则需要一个对应的监控key:system.cpu.load。如果是获取网卡流量,那么获取网卡这个监控项需要key:net.if.in或者net.if.out。监控项的数据保存在Zabbix.items表中,即select * form zabbix.itesm;
一般情况下key要与参数结合起来使用,例如获取5分钟的负载情况:system.cpu.load[avg5],avg5是对应的参数,如果是1分钟则使用avg1,如果是15分钟则使用avg15,网卡流量net.if.in[eth0],使用eth0作为参数可以获取到eth0网卡的进入流量,同样看一看换成eth1,eth2等等。

二 Items的添加

Items可以存在于模板(Template)中,也可以存在于主机(Host)中,模板可以复用。
configuration---->Templates---->Templates
#此操作为Templates OS Linux模板创建一个用于监控CPU个数的Items(监控项),为主机创建监控项可参考此操作。

新建Items

添加相应参数和选项
参数说明
属性
描述
Name
监控项 item 名称可以使用如下宏变量:
$1, $2…$9,这 9 个参数对应 item key 的参数位置。
例如--Name:Free disk space on $1
item key为"vfs.fs.size[/,free]",那么对应的名称会变成"Free disk space on /"。$1 对应了第一个参数"/"。
Type
item类型(常见 agent/SNMP/agent(active)等)。
Key
监控项item的 key,点击select可以选择系统很多自带key,也可用户自定义的key。
Type of information
获取到的数据类型:
Numeric (unsigned):无符整型,表示从0开始到2^32-1的所有整数。
Numeric (float):浮点数
Character:字符串,最长 255 字节
Log:日志文件,key必须为log[].
Text:大小无限制的文本
Data type
获取到整数数据的数据类型:
Boolean:数据为0或者1,true表示1,false为0,不区分大小写。
    如下为True和False的定义:
        TRUE:true, t, yes, y, on, up, running, enabled, available
        FALSE:false, f, no, n, off, down, unused, disabled, unavailable
        任何非0数字都被认为是TRUE,0被定义为 FALSE。
Octal:八进制
Decimal:十进制
Hexadecimal:十六进制
zabbix 将会自动把他们转为数字
Units
默认情况下,如果原始值超过1000,则先除以1000然后显示出来。例如,设置
了单位为 bps 并且收到的值为 11102,将会显示为 11.1Kbps
如果单位被指定为 B (byte), Bps (bytes per second) ,那么它会除以 1024 然后再显示数
据。所以大家在监控流量和文件大小的时候不要用错单位,否则会出现数据不一致的
情况。
如下为时间单位:
unixtime – 转为 “ yyyy.mm.dd hh:mm:ss” . 只能使用正数。
uptime – 转为“ hh:mm:ss” 或者“ N days, hh:mm:ss”
例如,收到的值为 881764 秒,他将会显示为“ 10 days, 04:56:04”
s – 转为“ yyy mmm ddd hhh mmm sss ms” ;
例如,收到的值为 881764(单位秒),他将会被显示为 10d 4h 56m”,只会显示 3 个单元。
有时候只会显示 2 个单元,例如” 1m 5h”(不包含分,秒,毫秒),如果返回的值小于0.001, 则只显示"<1ms" 。
禁用单位:ms/rpm/RPM/%
Use custom multiplier
如果启用这个选项,所有接收到的整数或者浮点数都会乘以这个文本框里面的值。
使用这个选项,zabbix 将会把收到的KB,MBps等数据先转为B,Bps。否则zabbix 不能正
确设置前缀(K,M,G 等)。
Update interval (in sec)
数据更新时间。
注意:如果设置为0,则永久不更新。
Custom intervals
可以创建例外的更新间隔,例如:
Interval:10,Period:1-5,10:00-19:00,表示周一到周五的早上 10 点到晚上 19 点每十秒更新
一次数据。其余时间使用默认值。这边最多只能设置 7 个灵活更新间隔。
注意:1  若设置的多个灵活时间间隔有冲突,则使用最小的时间间隔。
          2  如果时间间隔被设置为 0,那么数据永久不会更新,且不能用在 zabbix主动方式的 item
History storage period (in days)
历史记录在数据库中保存时间,过期的历史数据将会删除。
 
zabbix官方推荐开启后尽量使用一个较短的历史记录。
若需要查看历史数据,可将"趋势历史记录 Keep trends"的保留时间设置长一点。
注意:此值会被全局值(Administrator->General->Housekeeper->History覆盖。
Trend storage period (in days)
趋势数据(以小时为单位min,max,avg,count的数据)在数据库中保留时长,过期数据将会删除。
注意:1    此值会被全局值(Administrator->General->Housekeeper->History覆盖。 
          2    趋势数据只能存数字类型数据,字符、日志都无法存储。
Store value
As is:数据不作处理
Delta (speed per second)——计算公式为 (value-prev_value)/(time-prev_time)
    value:获取到得原始值
    value_prev:上一次接收到的值
    time:当前时间
    prev_time:上次接收数据的时间
            一般用于数据增长的类型,例如:网卡流量,每次获取到得都是当前网卡总流量。
    比如第一次给的值是 0 字节,第二获获取的为3000字节,则(3000-0)(/31-30),即100 字节/秒
    备注:如果当前获取到的值比上一个值更小,则忽略这个值,等待下一次的值
Delta (simple change)——计算公式为 (value-prev_value)
    value:获取到得原始值
    value_prev:上一次接收到的值
Show value
值映射,需要配置数字映射到字符的映射表。
例如:1=>xhy.cn访问正常。
则key 返回的数据为1时,监控页面显示xhy.cn访问正常。
key返回数据只能为整数,且不做任何修改保存到数据库。仅在显示时才会根据映射表来展示相应的内容。
Log time format
只可以用在 LOG 类型中,支持占位符:
* y: 年(0001-9999)
* M: 月(01-12)
* d: 日(01-31)
* h: 小时(00-23)
* m: 分钟(00-59)
* s: 秒(00-59)如果时间搓留空不会被解析。
例如:
如下为 zabbix agent 日志"23480:20100328:154718.045 Zabbix agent started. Zabbix
1.8.2 (revision 11211).",前面 6 个字符是PID,后面为日期,时间和日志内容。
日志时间类为"pppppp:yyyyMMdd:hhmmss”。
备注:“ p” 与 ” :” 为占位符,除了“ yMdhms”不能为占位符,其它任意字符都可以作为占位符
New application
创建一个新的应用
Applications
包含多个应用,例如:
cpu、 disk、 network,监控项可以属于多个应用
Populates host inventory field
数据自动填充到 inventory 资产清单的相应属性,前提是inventory 处于自动模式
Description
监控项的描述
Enabled
是否启用这个监控项。

注意:[root@imxhy01 ~]# zabbix_get -s 172.24.8.101 -k system.cpu.num可以测试key值是否正确。

三 Items key的添加

3.1 Items key的格式

key名[参数]:key的定义必须遵循如图所示规则,首先验证key名是否合法,若有参数则之后验证key的参数是否合法,若没有参数则跳过。
如:vfs.fs.size[/]或vfs.fs.size[/opt]

3.2 key参数

key可接参数分为引号字符串、非银引号字符串和数组。
  • 引号字符串:若参数是引号字符串,可为任意字符串,若存在双引号,必须用反斜杠\进行转移。
  • 非引号字符串参数:除逗号、方括号外的其他字符都能引用。、
  • 数组:如果key的参数是一个数组,用逗号将各参数分开。
 
属性
描述
quoted string
带引号字符串
unquoted string
不带引号字符串
array
数组
 

3.3 key的名称定义注意项

  • key名称的取值范围如下:
  • 所有的数字(0~9);
  • 所有的小写字母(a~z);
  • 所有的大写字母(A~Z);
  • 下划线(_);
  • 破折号(——);
  • 点(.)。

四 用户自定义key

注意:强烈建议将用户自定义的参数(UserParameter)写入新的配置文件,然后在原配置文件中引用,便于维护和管理。

4.1 自定义参数语法格式

UserParameter=key,command
UserParameter=key[*],command $1 $2 $3……
参数
描述
key
Items key具有唯一性,定义[*]可以接受参数
command
Zabbix将[]中的参数传递给命令中的$1……$9,将值作为命令的一部分
注意:1 自定义key对特殊字符如\".*?$!&;()<>#@等,默认情况下无法处理,需要在/etc/zabbix/zabbix_agentd.confabbix中开启参数。
UnsafeUserParameters=1
2 自定义参数可以返回文本(character/log/text)和空值,若返回的是一个无效值,则显示ZBX_NOTSUPPORTED。

4.2 自定义参数实例

 [root@imxhy01 ~]# vi /etc/zabbix/zabbix_agentd.conf		#编辑原配置文件
UnsafeUserparameters=1 #开启对特殊字符的处理
Include=/etc/zabbix/zabbix_agentd.d/*.conf #开启子配置文件
[root@imxhy01 ~]# vi /etc/zabbix/zabbix_agentd.d/my.conf #新增子配置文件
UserParameter=get.os.type, cat /etc/redhat-release #新增获取系统的Items key
UserParameter=wc[*], grep -c "$2" $1 #新增统计的Items key
[root@imxhy01 ~]# systemctl restart zabbix-agent.service #重启agent服务
[root@imxhy01 ~]# zabbix_get -s 172.24.8.100 -k get.os.type
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@imxhy01 ~]# zabbix_get -s 172.24.8.100 -k wc[/etc/passwd,root]

 

4.3 配置自定义key总结

  • 自定义key的语法;
  • 特殊字符的处理开启;
  • 子配置文件的注意事项;
  • 多Agent则需要每个agent客户端分别配置。

4.4 配置定义key步骤

1.Agent配置文件修改
  • 开启特殊字符处理;
  • 建立子配置文件。
2.子配置文件配置相应key
3.重启服务测试key
4.用zabbix_agentd查看key是否被支持
 [root@imxhy01 ~]# zabbix_agentd -p | grep get\.os
get.os.type [t|Red Hat Enterprise Linux Server release 7.0
 
5.在Web界面添加相应的Items,注意数据类型的选择。

013.Zabbix的Items(监控项)的更多相关文章

  1. Zabbix触发器和监控项设置时间范围

    目录 一.实际业务场景 业务问题 解决办法 二.Zabbix触发器和监控项与用户预警设置时间范围配置流程 一.触发器设置时间范围 二.监控项设置时间范围 三.用户报警设置启用时间 一.实际业务场景 业 ...

  2. 【转载】【zabbix】自定义监控项key值

    [转载]https://www.cnblogs.com/zhenglisai/p/6547402.html [zabbix]自定义监控项key值   说明: zabbix自带的默认模版里包括了很多监控 ...

  3. 【zabbix】自定义监控项key值

    说明: zabbix自带的默认模版里包括了很多监控项,有时候为了满足业务需求,需要根据自己的监控项目自定义监控项,这里介绍一种自定义监控项的方式. 1,首先编写自定义监控脚本,本文以监控httpd进程 ...

  4. Zabbix设置自定义监控项之——监控tcp连接状态

    目录 一.用户自定义参数 二.配置 监控 TCP 连接状态 在实际监控中,除了官方自带的一些监控项,我们很多时候有一些定制化监控,比如特定的服务.TCP 连接状态等等,这时候就需要自定义监控项.自定义 ...

  5. zabbix 自定义 windows 监控项

    zabbix获取windows服务器上数据C:\zabbix_agents\conf\zabbix_agentd.win.confUserParameter=conncount,d:\\tools\\ ...

  6. zabbix 自带监控项报性能问题解决方法

    类似报警信息为:Zabbix discoverer processes more than 75% busy 解决方法:修改zabbix_server配置 原因:每个discovery任务在一定时间内 ...

  7. 分布式系统监视zabbix讲解六之自定义监控项--技术流ken

    宏 概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. ...

  8. 分布式系统监视zabbix讲解六之自定义监控项

    概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. 在 ...

  9. zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...

随机推荐

  1. Mysql(四)正则表达式

    一.正则表达式 1.使用like可以进行不确定的查询(模糊查询),然而,模糊 查询的功能有限,当需要进行更加复杂的模式匹配时,可以 使用正则表达式来完成. 2.正则表达式可以对指定的字符串与模式之间执 ...

  2. python的面向对象-实例(对象)的相关知识、实例化

    1.对象就是实例,什么是实例 类运行的过程就是实例化的过程,实例化产生的结果就是产生了一个实例 class的牛逼之处就是不用手动的return,他会加载完函数之后,自动return  __init__ ...

  3. node的path.join 和 path.resolve的区别

    直接上图: join resolve 明显可以看出,join只会帮你把路径连接起来,而resolve会以当前路径为父路径来把你提供的路径连接起来

  4. Docker CE的安装 与镜像加速

    Docker CE 的安装与镜像加速 Docker CE是docker的开源版本 CENTOS 安装Docker CE 系统要求: 操作系统需要使用centos7() centos-extras库 必 ...

  5. PHP 设计模式 单例模式 工厂模式 注册模式

    1.工厂模式,工厂方法或者类生成对象,而不是在代码中直接new 2.单例模式,使某个类的对象仅允许创建一个 3.注册模式,全局共享和交换对象 项目文件目录 入口文件 index.php <?ph ...

  6. iOS编码规范参考

    目录      注释 1.1  多行注释 1.2  单行注释 1.3  函数的注释   命名 2.1  常量的命名 2.2  函数的命名 2.3  变量的命名 2.3.1  成员变量 2.3.2  公 ...

  7. iOS手势UIGestureRecognizer的使用及手势冲突的解决办法【转】

    转自:iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用 关于手势的一篇很好的帖子,转载过来免得丢失.你可能最感兴趣的是手势间的互斥处理,那么就搜索 4.手势间的互斥处 ...

  8. [转]linux各文件夹介绍

    本文来自linux各文件夹的作用的一个精简版,作为个人使用笔记. 下面简单看下linux下的文件结构,看看每个文件夹都是干吗用的? /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管 ...

  9. 2017-2018-2 20165227 实验四《Android程序设计》实验报告

    一.实验报告封面 课程: Java程序设计 班级: 1652班 姓名: 朱越 学号: 20165227 指导教师: 娄嘉鹏 实验日期: 2018年5月14日 实验时间: 13:45 - 3:25 实验 ...

  10. C#调用Java WebService int、DateTime等类型值接收到为空

    今天在调用Java接口时,有个int类型的值很明确的传了1,但接口一直返回没有接收到这个值. 解决方法: 引用接口时,VS会自动生成一个类,类中对于非string类型的字段会生成一个xxSpecifi ...