zabbix创建监控项item(16)

  • A+
所属分类:zabbix

上一篇文章我们已经了解了什么叫zabbix item,本节内容来详细讲解如何创建一个item。我们带着目的来学习这节内容。本节目标为,创建获取cpu个数的监控项。

1. 创建监控项

点击配置(configuration)->主机(Hosts)->在你要配置的主机一栏上点击Items->点击create item。具体看截图,各个参数我都已经标注清楚了。

item

zabbix-create-item

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,如何自定义key,情继续关注ttlsa后续的zabbix教程.
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=>ttlsa.com访问正常。如果key返回的数据为1,那么监控页面不会显示1,而是显示ttlsa.com访问正常。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 是否启用这个监控项.

创建item快捷方法,编辑一个item,然后克隆这个item,修改name等等其它数据即可。

3. 不可用的items

由于各种原因,某些item的数据无法获取到,但是zabbix依旧会再固定的时间间隔内重新获取数据

4. 结束

不可不说这篇文章很重要。话费我不少时间。关注zabbix教程的同学请继续跟进ttlsa的zabbix教程,喜欢运维生存时间的同学请继续支持我们。

知道怎么创建,但是item key怎么理解《zabbix item key详解(17)

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:9   其中:访客  8   博主  0   引用   1

    • Roger 9

      您好,想請問一下如果type跟key不相符合的情況下,會如何?
      例如選擇Zabbix agent的type,卻在key的地方選擇了SNMP類型的key。

      • zhangpei 9

        您好,我想问一下
        我想区机器id为10001的的当前内存信息应该如何弄?

        select * from (select * from hosts where hostid=’10001′) t1
        left join item t2 t1.hostid = t2.hostid
        left join history t3 …

        history 也没字段连啊。。。应该咋搞?
        小弟先谢过了

        • " 梦 想 粺 9

          很详尽~ 越发觉得英语的重要性了。 如果英语好,这都不是事啊。

          • 少林功夫好 9

            感谢分享。

          • 来自外部的引用: 1

            • 跟着ttlsa一起学zabbix监控呗 | 运维笔记