1.Items的添加
Items的含义:Items就是监控项可以配置获取监控数据的方式,取值的数据类型,获取数值
的间隔,历史数据的保存时间,趋势数据保存时间,监控Key的分组等。
检测周期的长短直接影响了数据的获取,也影响了Zabbix Server的性能。
zabbix监控的方式非常多,如图
监控项存在于zabbix.items中
2.如何添加Items
Items可以存在于模板中(Template),也可以存在于主机中(Host),模板的作用是可以复用,
对需要重复配置的监控项归类。
下面演示如何在Template OS Linux 模板中添加一个Items,Key为vm.memory.size[total]。
Template OS Linux模板中默认不存在统计总内存大小的Items,所以我们需要自己添加,添加
的方法为:Configuration→Templates,找到Template OS Linux,单击Items,如图
单击Create Item创建Item
单击Select按钮,列出Agent所有自带的KEY,如图所示。由于vm.memory.size[]是zabbix自带的,所以会列出来。这里需要注意,如果是自己自定义的KEY,单击Select是无法看到的。自定义的Key在框框里输入即可。
单击vm.memory.size[mode]之后,它会自动填充到框框里,我们目的是获取总的内存大小,所以要把mode替换成total
方括号中具体参数可参考:http://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/zabbix_agent
如何确保Key的配置是正确的?可通过zabbix_get来检验
[[email protected] ~]# zabbix_get -s 127.0.0.1 -k vm.memory.size[total] 961351680
1028517888
[[email protected] ~]#
如果能获取到值,就说明配置是正确的。
(这里再次提醒,zabbix_get只能测试Agent监控方式的Key值,不能获取Simple Check,
JMX,SNMP等其他监控方式的KEY类型的数据)
最终的添加结果如图
3.Items key的添加
(1)key的格式
key可以带参数,该参数为一个数组列表,可以同时传递多个参数。既key的格式为key或者key[接参数],例如:
vfs.fs.size[/]
vfs.fs.size[/opt]
key的可接参数分为引号字符串,非引号字符串和数组
(2)引号字符串参数
如果参数是引号字符串,其中可以为任何字符串,但如果存在双引号,必须用反斜杠(\)进行转义。
(3)非引号字符串参数
除逗号,右方括号的其他字符都能引用。
(4)数组
如果key是一个数组,用逗号将个参数分开。
(5)key的名称定义注意事项
key名称的取值范围如下:
所有的数字(0-9);
所有的小写字母(a-z);
所有的大写字母(A-Z);
下划线(_);
破折号(---);
点(.);
(6)key的参数数组应用示例:
多个参数用逗号(,)分开,每个参数对key分别传递参数的值。
Userparameter=wc[*],grep -c "$2"$1
上述语句表示把$1,$2的值传递给key,
(7)用户自定义参数
用户自定义参数仅支持Agent的方式,对于其他方式,他是不支持的。
key自定义的语法格式
在/etc/zabbix/zabbix_agent.conf中配置参数,写法如下
UserParameter=key,command
除了上面写法还支持参数传递的写法,写法如下
UserParameter=key[*],command $1 $2 $3,将值作为命令的一部分
**key:Item key具有唯一性,定义[*]可接收参数
Command:zabbix将[]中的参数传递给命令中的$1,..$9,将值作为命令的一部分。
(注意,UserParameter中的命令包含特殊字符必须开启UnsafeUserParameters=1的参数,然后重启zabbix_agent服务。)
自定义key的例子
在/etc/zabbix/zabbix_agentd.conf后面添加如下内容
UserParameter=get.os.type, head -1 /etc/issue
然后重启zabbix——agented服务
子配置文件的配置
为了便于维护和分类管理,UserParameter的内容可以单独写一个配置文件
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agented.conf.d
Include也就是zabbix_agented.conf中部分内容的子配置文件,这种方式在其他开源软件中也是类似做法,便于维护。子配置文件中通常会定义UserParameter。(注意不能有重复名字文件,若不是服务会启动失败。)
总结总结::::::::::::::::::::::::::::::::::
1.自定义key的语法
2.特殊字符的处理
3.子配置文件的注意事项
4.自定义key的步骤总结:
(1)Agent配置文件的修改。
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1 #处理特殊字符
Include=/etc/zabbix/zabbix_agent.conf.d/ #子配置文件路径
(2)子配置文件
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf/get_os_type.conf
UserParameter=get.os.type, head -1 /etc/issue #自定义key
(3)重启服务测试key
[[email protected] ~]# service zabbix-agent restart
[[email protected] ~]# zabbix_get -s 127.0.0.1 -k get.os.type
CentOS release 6.5 (Final)
(4)用zabbix_agentd查看key是否被支持
[[email protected] ~]# zabbix_agentd -p|grep get\.os
get.os.type [t|CentOS release 6.5 (Final)]
(5)在web界面添加Item,注意数据类型的选择(因为是自定义key,所以不用选择select,直接把key名称写上框里就好了。)
原文地址:http://blog.51cto.com/xuuuuuu/2085305