item
Items是从主机里面获取的所有数据。通常情况下item为监控项,一般网络设备、服务器加入了zabbix监控,就需要监控它的cpu负载,那么实现这个方法的东西就叫item。
1. item构成
item由key+参数组成。
监控项中需要获取cpu信息,则需要一个对应的监控key:system.cpu.load。
如果是获取网卡流量,那么获取网卡这个监控项需要key:net.if.in或者net.if.out。
一般情况下key要与参数结合起来使用,
例如获取5分钟的负载情况:system.cpu.load[avg5],avg5是对应的参数,
如果是1分钟则使用avg1,如果是15分钟则使用avg15(有人会问,如果是2分钟是不是avg2,-!-,错,没有这种说法)。
网卡流量net.if.in[eth0],使用eth0作为参数可以获取到eth0网卡的进入流量,同样看一看换成eth1,eth2等等。
2. 创建获取cpu个数的监控项
2.1 创建监控项
点击配置(configuration)->主机(Hosts)->在你要配置的主机一栏上点击Items->点击create item
2.2 Item 属性详解
属性 | 描述 |
Host | 主机或者模板 |
Name | 监控项item名称可以使用如下宏变量:
$1, $2…$9,这9个参数对应item key的参数位置。 例如: 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 |
Host interface | 主机接口,例如agent、SNMP、impi等 |
Type of information | 获取到得数据类型
Numeric (unsigned) – 64bit unsigned integer Numeric (float) – floating point numberCharacter – 字符串,最长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,他只会显示”<1 ms”禁用单位:ms、rpm、RPM、% |
Use custom multiplier | 如果启用这个选项,所有接收到的整数或者浮点数都会乘以这个文本框里面的值。使用这个选项,zabbix将会把收到的KB,MBps等数据先转为B,Bps。否则zabbix不能正确设置前缀(K,M,G等等).
zabbix 2.2开始支持科学计数法,例如:1e+70. |
Update interval (in sec) | 数据更新时间注意:如果设置为0,那么这个数据将永久不更新。但是如果在灵活更新间隔(flexible interval)里面设置了一个非0间隔,那么以这个为准 |
Flexible intervals | 可以创建例外的更新间隔,例如:
Interval:10,Period:1-5,10:00-19:00,表示周一到周五的早上10点到晚上19点每十秒更新一次数据。其余时间使用默认值。这边最多只能设置7个灵活更新间隔.如果设置的多个灵活时间间隔有冲突,那么他会使用最小的时间间隔。 两个注意点:如果时间间隔被设置为0,那么数据永久不会更新。它不能用在zabbix主动方式的item |
Keep history(in days) | 历史记录可以在数据库中保存多久,过期的历史数据将会被Housekeeper删除.
从Zabbix2.2开始,这个值可以被一个全局值覆盖:Administrator->General->Housekeeper->勾选Keep history(in days),输入你希望历史记录保留的时间。 zabbix官方推荐大家尽量开启他,尽量使用一个较短的历史记录。如果你想看历史数据的画,你可以将”趋势历史记录Keep trends”的保留时间设置长一点。 |
Keep trends(in days) | 趋势数据(以小时为单位的min,max,avg,count的数据)在数据库中保留时常,过期数据将会被HouseKeeping删除。
从zabbix2.2开始.这个值可以被一个全局值覆盖(请参考上面的Keep history) 备注:趋势数据只能存数字类型数据,字符、日志这些都无法存储。 |
Store value |
As is – 数据不作处理
Delta (speed per second) – 计算值公式为 (value-prev_value)/(time-prev_time) value – 获取到得原始值 value_prev – 上次接收到的值 time – 当前时间 prev_time – 上次接收数据的时间一般用于数据增长的类型,例如: 网卡流量,每次获取到得都是当前网卡总流量。比如第一次给的值是0字节(UNIX时间为1),第二获取到得是3000字节(UNIX时间为31),那么套用公式(3000-0)/(31-30),可以得出数据是100字节/秒 备注:如果当前获取到的值比上一个值更小,那么zabbix会忽略这个值,等待下一次的值 Delta (simple change) – 计算公式为 (value-prev_value),value – 当前值value_prev – 上次获取到得值 |
Show value | 值映射,需要配置数字映射到字符的映射表。例如:
1=>carlos.com访问正常。如果key返回的数据为1,那么监控页面不会显示1,而是显示carlos.com访问正常。 |
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 | 是否启用这个监控项. |
创建item快捷方法,编辑一个item,然后克隆这个item,修改name等等其它数据即可。
2.3. 不可用的items
由于各种原因,某些item的数据无法获取到,但是zabbix依旧会再固定的时间间隔内重新获取数据。