zabbix 自定义 key (转)
转自:http://www.cnblogs.com/miclesvic/p/6164303.html
1、在zabbix_agent端zabbix_agentd.conf配置文件中增加自定义Key(/usr/local/zabbix_agent/etc/zabbix_agentd.conf)

### Option: UserParameter
# User-defined parameter to monitor. There can be several user-defined parameters.
# Format: UserParameter=<key>,<shell command>
# See 'zabbix_agentd' directory for examples.
#
# Mandatory: no接
# Default:
# UserParameter= UserParameter=Physical_cpu_0_temperature,sensors|grep "id 0"|awk '{print $4}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
变量 Key 命令

就样一个自定义的Key就完成了,那么我们要怎么来测试这个Key是否生效了呢?配置文件修改完成后需要重启zabbix_agentd端的服务,然后在zabbix_server端通过zabbix_get查看,是否可以获取到值,如果获取到值,表明这个Key就设置成功了。
设置完Key一定记得要通过命令进行验证啊!!!
# zabbix_get -s 10.16.1.201 -p 10050 -k Physical_cpu_0_temperature
59.0
我们看下,CPU的温度已经可以正常获取了,我们的key就设置成功了!
说了第一种定义Key的方法,是在zabbix_agend.conf的主配置文件中修改,大家可以想想,如果需要定义100个Key的话,都写在主配置文件里,是不是主配置文件会很乱啊,那我们来看看有什么更好的方法呢,接下来看看第二种方法吧!
2、将Key定义在独立的文件中,然后在主配置文件中进行新引用就好了,下面我们来配置下。
2.1 修改zabbix_agentd.conf 配置(/usr/local/zabbix_agent/etc/zabbix_agentd.conf)

cat /usr/local/zabbix_agent/etc/zabbix_agentd.conf # 在zabbix_agentd.conf配置文件中通过Include引用自定义Key文件目录
### Option: Include
# You may include individual files or all files in a directory in the configuration file.
# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
#
# Mandatory: no
# Default:
# Include=
# Include=/usr/local/etc/zabbix_agentd.userparams.conf
Include=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/

2.2 在/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d目录写编写自定义Key文件

# cat custom_parameters.conf
# Monitor CPU temperature
# cpu_core_0
UserParameter=Physical_cpu_0_temperature,sensors|grep "id 0"|awk '{print $4}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_0_core0,sensors|grep -A 6 "id 0" | grep "Core 0" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_0_core1,sensors|grep -A 6 "id 0" | grep "Core 1" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_0_core2,sensors|grep -A 6 "id 0" | grep "Core 2" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_0_core3,sensors|grep -A 6 "id 0" | grep "Core 3" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_0_core4,sensors|grep -A 6 "id 0" | grep "Core 4" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_0_core5,sensors|grep -A 6 "id 0" | grep "Core 5" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}' # cpu_core_1
UserParameter=Physical_cpu_1_temperature,sensors|grep "id 1"|awk '{print $4}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_1_core0,sensors|grep -A 6 "id 1" | grep "Core 0" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_1_core1,sensors|grep -A 6 "id 1" | grep "Core 1" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_1_core2,sensors|grep -A 6 "id 1" | grep "Core 2" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_1_core3,sensors|grep -A 6 "id 1" | grep "Core 3" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_1_core4,sensors|grep -A 6 "id 1" | grep "Core 4" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'
UserParameter=cpu_1_core5,sensors|grep -A 6 "id 1" | grep "Core 5" | awk '{print $3}'|awk -F "°" '{print $1}'|awk -F "+" '{print $2}'

这让定义就可以了,如果需要定义的Key较多的话,我们就可以通过这种方式来定义key了,这样做的好处大家也可以很清楚的看到了,配置清晰、明了,而且不和主配置文件在一起,避免修改key影响主配置文件哈。记得修改完配置文件,记得重启zabbix_agent服务啊。最好还要通过上面介绍的方法进行验证下啊。
Key定义好了,我们来看看,如何在zabbix web页面通过这些来创建监控项吧!
3、zabbix web页面,通过创建的自定义Key来建立监控项




这里我们以一个自定义key来介绍了,多个key的创建方法一样哦,小伙伴们自己动手试下吧。

这是通过自定义监控一颗物理CPU温度汇总的图形,大家可以看到,自定义Key是不是很好用啊。只要我们在服务器上可以获取的值,都可以通过自定义Key的方法来进行监控,也非常的灵活!下面在来设置上监控温度的触发器吧。


创建
到这里,自定义Key我们就介绍完了,可以在回顾下,我们都做了什么?
1、在zabbix_agent端配置文件增加自定义Key
2、重启zabbix_agentd服务
3、在zabbix_server端通过zabbix_get验证自定义key是否生效
4、在zabbix_web页面通过自定义key创建监控项
5、在zabbix_web页面给自定义key监控项创建图形
6、自定义Key监控项创建触发器
zabbix 自定义 key (转)的更多相关文章
- zabbix自定义key
zabbix自定义key 1.修改客户端配置文件 #vi /opt/zabbix/etc/zabbix_agentd.conf Include=/opt/zabbix/etc/zabbix_agent ...
- Zabbix 自定义Key
系统:Linux Centos 7.4 x64.Windos 2008 x64 服务:Zabbix 3.0.16 说明1:自定义Key 主要通过自定义 脚本 或者 命令 来实现自定义监控类型,需要在a ...
- zabbix 自定义Key (六)
1.在zabbix_agent端zabbix_agentd.conf配置文件中增加自定义Key(/usr/local/zabbix_agent/etc/zabbix_agentd.conf) ### ...
- 菩提圣心诀---zabbix自定义key监控oracle连接状态(python脚本)
目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接 环境:1.zabbix_server 2.zabbix_agent(含有oracle) 主要知识点: 1. ...
- zabbix 自定义key与参数Userparameters监控脚本输出
1.修改agent配置文件: 通过yum安装的zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf 里面定义我们自己配置文件路径:Include=/etc ...
- zabbix自定义key监控mysql主从同步超简单!
原理:利用在slave上运行show slave status获取Slave_IO_Running和Slave_SQL_Running的值 1.在zabbix客户端配置文件中加入: 首先要对mysql ...
- zabbix自定义key监控memcache状态及其他服务进程
一.在客户端 1.到/usr/loca/zabbix/conf/zabbix_agentd.conf里添加 UserParameter=memcached_stats[*],(echo ...
- zabbix自定义key监控redis
一.启动redis-server cd /data/redis redis-server redis.conf (根据自己的环境启动redis) 测试脚本(写入1000个数据): seq |while ...
- zabbix自定义key监控nginx和fpm(网站并发数)
一. nginx编译参数 监控nginx,主要讲解监控并发数 --prefix=/usr/local/nginx --with-http_stub_status_module zabbix编译参数的查 ...
随机推荐
- 2018.08.30 bzoj4720: [Noip2016]换教室(期望dp)
传送门 一道无脑的期望dp. 用f[i][j][0/1]表示前i堂课提出了j次申请且第i堂课没有(有)提出申请. 这样就可以状态转移了. 然而这题状态转移方程有点长... (主要是情况多... 代码: ...
- 对于Serializable id类型的数据的测试
今天编写了一个这样的例子,然后进行了Junit测试,但是发现类型总是不匹配,最后测出如下 public <T> void deleteEntry(Class<T> t, Ser ...
- php读取用友u8客户档案
include('../common/conn.php'); $list=[]; $sql="SELECT a.cCusCode,a.cCusName,b.cCCName,a.cCusDep ...
- 配置HDFS HttpFS和WebHDFS
HDFS支持两种RESTful接口:WebHDFS和HttpFS. WebHDFS默认端口号为50070,HttpFS默认端口号为14000. 默认启动WebHDFS而不会启动HttpFS,而Http ...
- MFC 怎样获得某个窗口的句柄?
GetSafeHandle();this-> hWnd;GetDlgItem(hwnd,ID);//获取窗口ID所对应的HWND的子窗口句柄 在主窗口中,如果要用到父窗口的句柄,可以用 HWND ...
- jquery添加select option两种代码思路比较
功能需求:在客户选择了check_in_date和check_out_date之后,将在check_in_date至check_out_date的promotions中自动添加符合条件的promoti ...
- 在MS单元测试中引发期望异常
首先准备一个引发异常的方法. public static void ThrowException() { throw new ArgumentException(); } 然后在单元测试项目中,写下测 ...
- 今天犯了一个StringBuilder构造函数引起的二逼问题。
在.Net里,StringBuilder的构造函数有很多,最常用的是无参的构造函数,默认分配16个字符的空间.其次就是填写StringBuilder空间的带一个Int32的构造函数,这个在优化代码的时 ...
- Change Jenkins time zone
修改Jenkins时区 Debian: vim /etc/defalut/jenkins JAVA_ARGS="-Dorg.apache.commons.jelly.tags.fmt.tim ...
- [MySQL Tips]:如何删除unique key约束
[场景]: 假设最初创建了一个表bank,在street属性上添加了unique约束. create table branch( branch_name ) not null primary key, ...