zabbix 自定义key的简单使用

zabbix版本:zabbix-3.0.2

zabbix客户端配置:

zabbix的监控类型分为server和server active(不确定用哪个适合,可以都选择)

在zabbix_agentd.conf中Hostname一定要填写,而且不能和其他监控服务器重复。

自定义key之前需要先设置个参数:UnsafeUserParameters=1

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
####### USER-DEFINED MONITORED PARAMETERS #######
### Option: UnsafeUserParameters
#       Allow all characters to be passed in arguments to user-defined parameters.
#       0 - do not allow
#       1 - allow
#
# Mandatory: no
# Range: 0-1
# Default:
UnsafeUserParameters=1

把上面的include前的注释去掉,这样你的自定义的key就可以放在zabbix_agentd.conf.d这个目录下

[[email protected] zabbix_agentd.conf.d]# ls
userparameter_script.conf   #名字自己随便取

你可以在userparameter_script.conf这个文件下自定义key

如下为灵活的用户自定义参数

UserParameter=key[*],command

参数                          描述
Key 唯一. [*]表示里面可以传递多个参数
Command 需要执行的脚本,key的[]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令                      

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

以上配置完成后重启zabbix_agentd

如果你定义的key比较少就一两个,也可以在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=get.os.type, head -1 /etc/issue
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$4}‘
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$7}‘
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$8}‘
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$11}‘
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$12}‘
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$13}‘
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$6}‘
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$10}‘

在文件中查找Option:UserParamete可以找到,在下面直接添加即可,这是不用把UnsafeUserParameters设置为1,注释掉即可!

UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$4}‘

其中的$1是在执行key是需要添加的参数否者会报错。

检验key是否可以正常使用(以下命令在zabbix服务端检验)

[[email protected] opt]# /usr/local/zabbix-3.0.2/bin/zabbix_get -s 192.168.10.74 -k get.os.type
CentOS release 6.8 (Final)

带参数的key

[[email protected] opt]# /usr/local/zabbix-3.0.2/bin/zabbix_get -s 192.168.10.74 -k custom.vfs.dev.read.ops[sda1]
681

zabbix服务端配置

配置-主机-选择主机-监控项-创建监控项

以上设置完成之后就可以在最新数据下查看是否获取数据

这样一个简单的key就定义完成了。当然这个key在zabbix自带的key也能实现这个功能,只是为了演示而已。zabbix自带的key已经十分强大,一般需要监控的基础项它都有。可以直接去查看相关文档!

自定义key的脚本是不限制语言的,只要能返回数据即可!

如:UserParameter=free.disk,/usr/local/zabbix/bin/disk.py

free.disk为key的名字,/usr/local/zabbix/bin/disk.py为服务器端调用free.disk这个key时执行的脚本,其结果就是free.disk的返回值。脚本可以是任何可以运行的脚本语言

时间: 2024-08-11 20:42:11

zabbix 自定义key的简单使用的相关文章

zabbix -- 自定义key

为什么要自定义KEY?有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法.我们可以在客户端配置文件zabbix_angentd.conf里面配置UserParameter. UserParameter=key,command   #语法 用户自定义参数包含一个key和一个命令,key必须整个系统唯一,配置好之后,重启客户端. 然后配置item,在key的位置填上我们自定义的key即可 #命令示例 UserParameter=ping,ech

zabbix 自定义key 监控mysql增删查改

1.先熟悉一下zabb自定义key的使用格式 vim /etc/zabbix/zabbix_agentd.d/mysql.conf##zabbix_agentd.d在这个文件夹下的.conf,都会被agent读取,我们这里新建的一个配置文件方便使用,这样就不需要去动主配置文件了 UserParameter=echo[*],echo "$1" #要传递参数要带[*],且key键必须全局唯一 UserParameter=ifconfig,ifconfig|awk NR==2'{print

zabbix自定义KEY监控服务状态[不需要端口]

zabbix监控Windows下的服务并实现告警和重启服务 首先 创建获取服务状态的脚本 一.Windows脚本 @echo off set srvname=%1 for /f "skip=3 tokens=4" %%i in ('sc query %srvname%') do set "zt=%%i" &goto :next :next if /i "%zt%"=="RUNNING" ( :服务运行正常,返回1. e

zabbix自定义key

客户端操作: zabbix 客户端的启动 ./zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf 添加自定义key vi /usr/local/etc/zabbix_agentd.conf 将UnsafeUserParameters从0设置为1,默认是0,即默认自定义key功能是关闭的 在末行添加 UserParameter=io.read,iostat |grep "\<vda\>"|awk '{print $3}' 保存

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 parame

Zabbix自定义key监控docker

一.需求场景在某些docker容器中运行着java,容器提供API供监控调用.需要监控服务运行是否正常和容器内JVM使用情况. 二.想法编写监控脚本,使用自定义key的方式添加到Zabbix中. 三.实践1.编写服务监控脚本 #!/bin/bash interval_time=600 service_port_file=/script/tmp/service_port.txt #Gener_service_port tee > ${service_port_file} << EOF ap

zabbix自定义key监控mysql主从同步超简单!

1.在zabbix客户端配置文件中加入: 首先要对mysql提供一个查询主从状态的账号!(当然用root也可以.) UserParameter=mysql.replicate_error,if test `mysql -uxxx -pxxx -h127.0.0.1 -e 'show slave status\G' | awk -F: '{if($1~/Slave_IO_Running/) print$2}' ` = "Yes" -a `mysql -uxxx -pxxx -h127.0

zabbix 自定义key值监控

1.zabbix一般监控使用zabbix即可,如果自定义的监控的话也是可以的,现看下zabbix.agentd.conf里面的介绍 UnsafeUserParameters 默认参数是0,0表示不启用UserParameter,1表示启用. 2. UserParameter=<key>,<shell command> 这个就是自定义监控的命令,key加上监控的选项,如下监控http的连接数 3.改完配置以后一定要重启下,之后再服务端测试下 这里可以看到有输出的,但是没访问所以很少

zabbix 自定义key监控redis

一.环境 ubuntu 14.04 LTS zabbix 2.4.5 redis-2.8.7 二.配置redis监控 1.在/etc/zabbix/zabbix_agentd.d/目录下新建userparameter_redis.conf文件,添加以下内容: UserParameter=redis.stat[*],cat /tmp/redisstat | grep "$1:" | cut -d":" -f2 2.在/etc/crontab文件下添加以下内容 sudo