自定义添加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],avg5是对应的参数,如果是1分钟则使用avg1,如果是15分钟则使用avg15(有人会问,如果是2分钟是不是avg2,-!-,没有这种说法)。网卡流量net.if.in[eth0],使用eth0作为参数可以获取到eth0网卡的进入流量,同样看一看换成eth1,eth2等等。

二、用户自定义参数

Key的两种的格式

1、key

2、key[接受参数]

#Key可以带参数,该参数为一个数组列表,可以同时传递多个参数

编辑agentd.conf配置文件

[email protected]:~# 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配置文件

[email protected]:~# vim /etc/zabbix/zabbix_agentd.conf

UserParameter=get.os.type, head -1 /etc/issue    # -1是数字1,不是字母l

2、重启agentd

3、在192.168.1.136机器上运行测试命令,查看key

3.1、如没有安装则要安装zabbix-get

Zabbix-get下载地址:http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix/

3.2、安装完成后继续查看key

3.2.1、用zabbix_get命令,查看刚刚自定义的key

[email protected]:/home/toby# zabbix_get -s 192.168.1.135 -p 10050 -k  get.os.type

结果:结果是OK的

注意:get.os.type是自己定义的名称

3.2.2、再做一次测试,回到135的机器上进行再次编辑agentd配置文件

改成命令ifconfig,保存退出后,重启agentd服务

3.2.3、接着回到136的机器,再次查看

结果:也就是说,执行了get.os.type 等价于执行了ifconfig

四、子配置文件的配置

4.1、为了便于维护和分类管理,agentd.conf中的UserParameter的内容可以单独写一个配置文件。

编辑配置文件

[email protected]:~# vim /etc/zabbix/zabbix_agentd.conf

将红色箭头处的#号注释去掉

Include也就是zabbix_agentd.conf中部分内容的子配置文件路径

4.2、同时把UserParameter= 注释掉

4.3、/etc/zabbix/zabbix_agentd.conf.d/ 目录下的所有配置文件都会被当做子配置文件

目前没有子配置文件

4.4、创建子配置文件

[email protected]:/etc/zabbix/zabbix_agentd.conf.d# vim get_os.type.conf

添加如下内容:

UserParameter=get.os.type,head -1 /etc/issue

这时候,完成了一个字配置文件

4.5、重启agentd服务

4.5、在136机器上测试key

[email protected]:~# zabbix_get -s 192.168.1.135 -k get.os.type

结果:测试通过

4.6、也可以再用zabbix_agentd查看key是否被支持(在135机器上操作)

[email protected]:/etc/zabbix/zabbix_agentd.conf.d# zabbix_agentd -p | grep get\.os

结果:如果能看到key名称,且能获取到数据,说明自定义的key是正确的

时间: 2024-12-16 13:34:47

自定义添加item Key(基于Zabbix2.2.15)的相关文章

zabbix 自定义添加Item key

注意事项:自定义key的前提是客户端要做安装zabbix-agent.?1.在zabbix-agent中的??/etc/zabbix/zabbix_agentd.conf?中修改如下参数: UnsaveUserParameter=1 UserParameter=<key>,shell command 例如:UserParameter=linux.memory.free,/usr/bin/free | awk '/^Mem/{print $4}' ?2.重启zabbix-agent服务 serv

Zabbix实战-简易教程(7)--添加item

一.术语 1.1 Item概念 Item是从主机里面获取的所有数据.通常情况下 item称为监控项,例如我们host加入了 zabbix 监控,我们需要监控它的内存.CPU信息,那么获取的CPU或内存的这个元素就是 item,也就是监控项. 每个item 由 key[参数1,参数2,参数3,参数n]组成. 比如:监控项中需要获取主机信息,则需要一个对应的监控 key:system.hostname.如果是获取网卡流量,那么获取网卡这个监控项需要 key:net.if.in 或者 net.if.o

zabbix利用api批量添加item,并且批量配置添加graph

关于zabbix的API见,zabbixAPI 1item批量添加 我是根据我这边的具体情况来做的,本来想在模板里面添加item,但是看了看API不支持,只是支持在host里面添加,所以我先在一个host里面添加,然后在将item全部移动到模板里. 具体步骤就不说了,直接上代码: 为了快速完成,代码写的有点乱,也没怎么处理异常,算是第一版吧,有时间在优化  1 #!/usr/bin/env python 2 #-*- coding: utf-8 -*- 3 4 import json 5 imp

Android 高级UI设计笔记20:RecyclerView 的详解之RecyclerView添加Item点击事件

1. 引言: RecyclerView侧重的是布局的灵活性,虽说可以替代ListView但是连基本的点击事件都没有,这篇文章就来详细讲解如何为RecyclerView的item添加点击事件,顺便复习一下观察者模式. 2. 最终目的 模拟ListView的setOnItemClickListener()方法,调用者只须调用类似于setOnItemClickListener的东西就能获得被点击item的相关数据.   3. 原理 为RecyclerView的每个子item设置setOnClickLi

使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)

AsyncTask使用方法详情:http://www.cnblogs.com/zzw1994/p/4959949.html 下拉开源框架PullToRefresh使用方法和下载详情:http://www.cnblogs.com/zzw1994/p/4992194.html 具体实现的代码如下: item.xml: 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:and

FMX TListView 动态添加Item和Item里面的Object

FMX TListView比较复杂,功能也比较强大.如果是比较简单的列表,可以用TListBox代替,运用比较简单.FMX TListView的设计时运用和一般的控件也不一样,不是严格的"可视即可得",这和其它的控件使用方式差别比较大,比如,如果没有和Living binding控件配合,设计时是不能直接创建Item的,设计时只是设计了Item的外观样式,Item是运行时添加的(Demo里的例子基本是和Living Binding配合的,所以有设计时的Item).而且,Custom的样

github入门:设置添加ssh key&lt;转&gt;

转自:http://blog.csdn.net/binyao02123202/article/details/20130891 很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地.然而,为什么绝大多数人会使用https url克隆呢? 这是因为,使用https url克隆对初学者来说会比较方便,复制https url 然后到 git Bash 里面直接用clone命令克隆到本地就好了.而使用 SSH url 克隆却需要

jQuery基础之(五)jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;的冲突

1.自定义添加$ 从上面四篇文章我们看到jQuery的强大,但无论如何,jQuery都不可能满足所有用户的需求,而且有一些需求十分小众,也不适合放到整个jQuery框架中,正是因为这一点,jQuery提供了用户自定义添加“$”的方法. 代码如下: $.fn.disable = function() { return this.each(function() { if (typeof this.disabled != "undefined") this.disable = true; }

zabbix错误总结:ZBX_NOTSUPPORTED: Unsupported item key.

大家在使用Zabbix的时候往往会自定义Item.但是经常会遇到自定义的Item动不动就Not Supported了.其实原因很简单.Zabbix Agent默认 的超时时间是3秒.往往我们自定义的Item由于各种原因返回时间会比较长.所以建议统一修改一个适合自己实际的值. vim /etc/zabbix/zabbix_agent.conf #Range: 1-30 Timeout=8 修改完毕后重启zabbix-agent /etc/init.d/zabbix-agent restart