ZABBIX自定义用户KEY与参数USERPARAMETERS监控脚本输出
2015-11-02 17:12
357 查看
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 |
测试获取自定义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 |
创建一个脚本
首先新建一个script目录来存放我们的脚本,并将这个脚本命名为kucun.sh,我将使用zabbix来监控数据库中的库存表,使用库存数据画图。1 2 | mkdir -p /etc/zabbix/script/ vim /etc/zabbix/script/kucun.sh |
若手动执行查询,查询方式是这样的:
1 2 | shell> /etc/zabbix/script/kucun.sh bj001 30 2 |
下面是脚本的内容:
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[*],commandkey为唯一值,[*]表示参数。
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
相关文章推荐
- centos7安装配置svn
- Linux常用命令集合
- OpenGL ES着色器语言之着色概览(官方文档)
- Linux常用命令
- 一步一步在ubuntu上安装即时通讯服务器-Openfire
- Linux基础命令(二)
- 【项目记录】常用opencv函数运行速度实测
- Properties的load方法加载的文件格式要求
- 网站渗透思路全方面总结
- nginx tomcat 集群配置
- Linux(Centos)支持rz、sz命令
- linux的用户层GPIO接口管理
- CentOS 7 安装 nginx
- Linux磁盘分区、挂载
- Linux异步信号
- linux系统编程杂记
- Linux(Centos)配置PHP运行环境
- Linux安装H2数据库,并作为后台服务运行
- Linux内核驱动之延时
- Windows平台分布式架构-负载均衡(高并发)