zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求。幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据。

定义配置文件

通过yum安装的zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf。
大约在这个文件的255行左右,我们可以发现下面的代码:

 
1
Include=/etc/zabbix/zabbix_agentd.d/

我们自定义的配置,可以放到这个目录。
我们可以创建一个自定义的文件来定义我们需要的key:

 
1
vim /etc/zabbix/zabbix_agent.d/userparameter_script.conf

文件里面添加这样的内容:

 
1
2
3
4
# 这个文件监控自定义脚本输出值
# 格式为UserParameter=<key>,<command>
 
UserParameter=script.date,date

保存之后重启zabbix-agent。

测试获取自定义key的值

在zabbix-server上使用zabbix_get工具获取自定义值。

 
1
2
shell> zabbix_get -s 100.10.1.2 -k script.date
Fri Apr 24 14:41:18 CST 2015

获取到了上面例子中执行date的结果,说明配置是成功的。

创建一个脚本

首先新建一个script目录来存放我们的脚本,并将这个脚本命名为kucun.sh,我将使用zabbix来监控数据库中的库存表,使用库存数据画图。

 
1
2
mkdir -p /etc/zabbix/script/
vim /etc/zabbix/script/kucun.sh

我们定义脚本,输入一个店铺号来查询这个店铺中商品数量小于n的条数。
若手动执行查询,查询方式是这样的:

 
1
2
shell> /etc/zabbix/script/kucun.sh bj001 30
2

输出2即表示有2个商品数量小于30。
下面是脚本的内容:

 
1
2
3
4
5
6
7
8
#!/bin/bash
shop_id=$1
number=$2
dbhost="100.10.1.2"
dbuser="monitor"
dbpasswd="21"
sql="SELECT count(*) FROM lsp_cus.menu WHERE shop_no = \"$shop_id\" AND date = UNIX_TIMESTAMP(DATE_FORMAT(NOW(),'%Y-%m-%d')) AND num - sale < \"$number\""
mysql -h$dbhost -u$dbuser -p$dbpasswd -Ne "$sql"

使用脚本查询的结果创建key

重新编辑

 
1
vim /etc/zabbix/zabbix_agent.d/userparameter_script.conf

文件修改为:

 
1
2
3
# 这个文件监控自定义脚本输出值
# 格式为UserParameter=<key>,<command>
UserParameter=script.kucun[*],/etc/zabbix/script/kucun.sh $1 $2

通过zabbix-server查询

在zabbix服务器上使用zabbix_get工具查询店铺号001,库存小于30的商品数量。

 
1
2
shell> zabbix_get -s 100.10.1.2 -k script.kucun[001,30]
18

可以看到成功了。

上面用到方法的一些解释

UserParameter=key[*],command
key为唯一值,[*]表示参数。
command为要执行的命令或脚本,key的[*]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令。返回结果数据最大为512KB。
参数禁止使用下列字符:\ ‘ ” ` * ? [ ] { } ~ $ ! & ; ( ) <> | # @

脚本的命令行参数可以通过搜索引擎搜索相关文章。

转自 http://www.qiansw.com/zabbix-user-parameters-key-script.html

一些坑------

有问题首先查看 /var/log/zabbix 看看怎么说

权限问题 配置

$vi /etc/zabbix/zabbix_agentd.conf  AllowRoot属性

修改后启动失败  $setenforce 0 关闭 selinux

$/etc/selinux/config SELINUX=disabled

ZABBIX自定义用户KEY与参数USERPARAMETERS监控脚本输出的更多相关文章

  1. zabbix 自定义key与参数Userparameters监控脚本输出

    1.修改agent配置文件: 通过yum安装的zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf 里面定义我们自己配置文件路径:Include=/etc ...

  2. 转 zabbix 自动发现和 zabbix自定义用户key与参数User parameters

    ########31 https://www.cnblogs.com/yjt1993/p/10883345.html 1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些 ...

  3. (17)zabbix自定义用户key与参数User parameters

    为什么要自定义KEY 有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法. 我们可以在客户端配置文件zabbix_angentd.conf里面配 ...

  4. Zabbix监控——Zabbix自定义用户参数制作监控项

    https://blog.51cto.com/183530300/2087774 https://www.cnblogs.com/richardzgt/articles/7889404.html

  5. 菩提圣心诀---zabbix自定义key监控oracle连接状态(python脚本)

    目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接 环境:1.zabbix_server 2.zabbix_agent(含有oracle) 主要知识点: 1. ...

  6. zabbix自定义key监控nginx和fpm(网站并发数)

    一. nginx编译参数 监控nginx,主要讲解监控并发数 --prefix=/usr/local/nginx --with-http_stub_status_module zabbix编译参数的查 ...

  7. zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...

  8. Zabbix自定义监控项(模板)

    虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...

  9. Zabbix自定义监控8080端口的连接数

    Zabbix自定义监控8080端口的连接数 一 zabbix自定义监控实现思路 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是:1.写一个脚本用于获取待监控服务的一些状态信息2. ...

随机推荐

  1. js事件冒泡和捕捉

    (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div ...

  2. 使用纯css3实现图片轮播

    <!DOCTYPE html> <html> <head> <title> 飛天网事--纯CSS代码实现图片轮播 </title> < ...

  3. CSS 各类 块级元素 行级元素 水平 垂直 居中问题

    元素的居中问题是每个初学者碰到的第一个大问题,在此我总结了下各种块级 行级 水平 垂直 的居中方法,并尽量给出代码实例. 首先请先明白块级元素和行级元素的区别 行级元素 一块级元素 1 水平居中: ( ...

  4. HDU - 2255 奔小康赚大钱(最大带权匹配)

     Problem Description 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.这可是一件大事,关系到人民的住房问题啊.村里共有n间房间,刚好有n家老百姓, ...

  5. android应用的优化建议(转载)

    首先,这是我在http://www.oschina.net/translate/40-developer-tips-for-android-optimization看到的一片文章,感觉挺有道理的,所以 ...

  6. 在 Linux 环境下报错 java.lang.reflect.InvocationTargetException

    今天开发了一个 excel 导出数据的功能,放到 linux 服务器上后发现报错. 捕获到 java.lang.reflect.InvocationTargetException 异常,这个异常不太常 ...

  7. leetcode342合理运用位操作判断4的幂

    Given an integer (signed 32 bits), write a function to check whether it is a power of 4. Example: Gi ...

  8. js调用函数的格式

    如题 onclick='alert(\""+"&#1"+"\")' onclick='alert(encodeURIComponen ...

  9. unity3d自带帮助文档的打开方法

    1废话不提,直接上图: 2.在弹出来的浏览器窗口中点击: 3.在点击后的网页中即可以搜索了,在断网的情况下,作为资料查询还是蛮不错的.

  10. js连续赋值、指针

    jq的源码中有很多连续赋值,类似这样的: var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> unde ...