菜蜂 发表于 2019-1-25 08:49:51

自定义添加item Key(基于Zabbix2.2.15)

  实验环境说明:
  2台虚拟机
  VM01角色:Zabbix server ,ubuntu14.04系统,ip:192.168.1.136
  VM02角色:zabbix agent,ubuntu14.04系统,IP:192.168.1.135
  一、什么是item
  Items是从主机里面获取的所有数据。通常情况下我叫itme为监控项,例如我们ttlsa云服务器加入了zabbix监控,我需要监控它的cpu负载,那么实现这个方法的东西就叫item。接下来提到的item都翻译为监控项。
  item由key+参数组成,item详细介绍请看下回分析。
  监控项中需要获取cpu信息,则需要一个对应的监控key:system.cpu.load。如果是获取网卡流量,那么获取网卡这个监控项需要key:net.if.in或者net.if.out。
  一般情况下key要与参数结合起来使用,例如获取5分钟的负载情况:system.cpu.load,avg5是对应的参数,如果是1分钟则使用avg1,如果是15分钟则使用avg15(有人会问,如果是2分钟是不是avg2,-!-,没有这种说法)。网卡流量net.if.in,使用eth0作为参数可以获取到eth0网卡的进入流量,同样看一看换成eth1,eth2等等。
  二、用户自定义参数
  Key的两种的格式
  1、key
  2、key[接受参数]
  #Key可以带参数,该参数为一个数组列表,可以同时传递多个参数
  编辑agentd.conf配置文件
  root@zabbix-proxy-01:~# vim /usr/local/zabbix/etc/zabbix_agentd.conf
  Key自定义语法格式(设置其中一种格式即可)
  UserParameter=key,command
  UserParameter=key
[*] command $1 $2 $3 …..   #$1 $2代表位置参数1、2,如果定义的字符中出现$后面接数字,需要使用$$,例如:awk ‘{print $$2}’
  

  自定义key中对特殊字符的处理
  UnsafeUserParameters=0       #默认是无法对特殊字符处理,因此要设置为1
  了解一些基本的东西之后,下面来玩个例子
  三、自定义key例子
  在192.168.1.135机器上做如下配置
  1、打开agentd配置文件
  root@testweb01:~# vim /etc/zabbix/zabbix_agentd.conf
  UserParameter=get.os.type, head -1 /etc/issue    # -1是数字1,不是字母l
  2、重启agentd
https://note.youdao.com/yws/res/1115/DCA72DB8FF65448682C7A61FF96C8CFA
  3、在192.168.1.136机器上运行测试命令,查看key
  3.1、如没有安装则要安装zabbix-get
  Zabbix-get下载地址:http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix/
https://note.youdao.com/yws/res/1105/71CFB3ED210E4572B49C3C72F419966C
  3.2、安装完成后继续查看key
  3.2.1、用zabbix_get命令,查看刚刚自定义的key
  root@zabbix-proxy-01:/home/toby# zabbix_get -s 192.168.1.135 -p 10050 -kget.os.type
https://note.youdao.com/yws/res/1109/DD65382FAC134FF1A85C5DD9F1771ECF
  结果:结果是OK的
  注意:get.os.type是自己定义的名称
  3.2.2、再做一次测试,回到135的机器上进行再次编辑agentd配置文件
  改成命令ifconfig,保存退出后,重启agentd服务
https://note.youdao.com/yws/res/1107/85DF096B268A411F9107F844F5CE49BA
https://note.youdao.com/yws/res/1110/6E423CE4DC234D4184DEADAEAC42D425
  3.2.3、接着回到136的机器,再次查看
https://note.youdao.com/yws/res/1103/6781D5D0A4524693A96242DEE3D17A4F
  结果:也就是说,执行了get.os.type 等价于执行了ifconfig
  四、子配置文件的配置
  4.1、为了便于维护和分类管理,agentd.conf中的UserParameter的内容可以单独写一个配置文件。
  编辑配置文件
  root@testweb01:~# vim /etc/zabbix/zabbix_agentd.conf
https://note.youdao.com/yws/res/1106/8EA22EF6C7DB4EA9AF61315517EAC037
  将红色箭头处的#号注释去掉
  Include也就是zabbix_agentd.conf中部分内容的子配置文件路径
  4.2、同时把UserParameter= 注释掉
https://note.youdao.com/yws/res/1114/581B8ADD2B8040F98AD5D9BE9A46A6EE
  4.3、/etc/zabbix/zabbix_agentd.conf.d/ 目录下的所有配置文件都会被当做子配置文件
https://note.youdao.com/yws/res/1108/1028F6BEBFFF4FF19E406C30F0E23828
  目前没有子配置文件
  4.4、创建子配置文件
  root@testweb01:/etc/zabbix/zabbix_agentd.conf.d# vim get_os.type.conf
  添加如下内容:
  UserParameter=get.os.type,head -1 /etc/issue
https://note.youdao.com/yws/res/1104/BA1E4B9962CD4275B5CAE89D241BF7C1
  这时候,完成了一个字配置文件
  4.5、重启agentd服务
https://note.youdao.com/yws/res/1112/6E9286465F7D4DD99BD8DD8D23FFDF8F
  4.5、在136机器上测试key
  root@zabbix-proxy-01:~# zabbix_get -s 192.168.1.135 -k get.os.type
https://note.youdao.com/yws/res/1113/55342BA614C447BCAF44A2298C380D3E
  结果:测试通过
  4.6、也可以再用zabbix_agentd查看key是否被支持(在135机器上操作)
  root@testweb01:/etc/zabbix/zabbix_agentd.conf.d# zabbix_agentd -p | grep get\.os
https://note.youdao.com/yws/res/1111/05BAEEDB32174694B502461B7095669F
  结果:如果能看到key名称,且能获取到数据,说明自定义的key是正确的
  




页: [1]
查看完整版本: 自定义添加item Key(基于Zabbix2.2.15)