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编译参数的查 ...
随机推荐
- 微分方程数值解Euler法
微分方程:dy/dt=1+y; 解是y=2exp(x)-1; clc clear figure() dx=0.1; x=:dx:; y=zeros(size(x)); x()=; y()=; :len ...
- Jsp+servlet+mysql搭建套路
1.建立数据库根据需求建立相应的数据库确立数据库的字段.属性.主键等2.建立javaweb项目,搭建开发环境在开发环境的/WebRoot/WEB-INF下建立lib文件夹,存放需要使用的jar包常用的 ...
- js之create()
语法: Object.create(proto, [propertiesObject]) 返回一个新的对象的指针 proto:对象会被作为新创建的对象的原型 [propertiesObject]:对象 ...
- MySQL】存储过程、游标、循环简单实例
create procedure my_procedure() -- 创建存储过程 begin -- 开始存储过程 declare my_id varchar(32); -- 自定义变量1 decla ...
- 微信小程序底部导航Tabbar
1,底部导航栏这个功能是非常常见的一个功能,基本上一个完成的app,都会存在一个导航栏,那么微信小程序的导航栏该怎么实现呢?经过无数的踩坑,终于实现了,好了,先看看效果图. 2,对于底部导航栏,小程序 ...
- struts 拦截器
my-default.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts ...
- spring读取数据库的配置信息(url、username、password)时的<bean>PropertyPlaceholderConfigurer的用法
用法1: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w ...
- .NET高级代码审计(第一课)XmlSerializer反序列化漏洞
0X00 前言 在.NET 框架中的 XmlSerializer 类是一种很棒的工具,它是将高度结构化的 XML 数据映射为 .NET 对象.XmlSerializer类在程序中通过单个 API 调用 ...
- javascript中string与int之间的转换
string转int javascript中提供了两种方法转换为数值(int): var str='15'; var str8='015'; var strChar='12abc'; //first ...
- asp.net 网站监控方案
前言:监控web网站方法有很多种,这篇文章说一下对windows服务器 asp.net网站的监控 采用的方案,Powershell + Influxdb + Grafana 1.PowerShell ...