zabbix自定义键值
1、配置zabbix子文件
vim /zabbix/etc/zabbix_agentd.conf.d/vda_util.conf
调用命令写法: UserParameter=vda.used,iostat -d -x -k 1 1 | grep vda | awk ‘{print $14}’ 键值名称,自定义 取值的命令 调用脚本写法: UserParameter=ngx.status[*],sh /zabbix/scripts/ngx_status.sh $1 *代表脚本中定义的函数名称 执行的取值脚本
2、zabbix自定义键值脚本写法示例
监控nginx状态值:
#!/bin/bash conection(){ curl http://127.0.0.1:17777/ngx_status 2>/dev/null | grep -i “active” |awk ‘{print $NF}’ } server(){ curl http://127.0.0.1:17777/ngx_status 2>/dev/null | awk -F” ” ‘NR==3{print $1}’ } accepts(){ curl http://127.0.0.1:17777/ngx_status 2>/dev/null | awk -F” ” ‘NR==3{print $2}’ } handled_requests(){ curl http://127.0.0.1:17777/ngx_status 2>/dev/null | awk -F” ” ‘NR==3{print $3}’ } reading(){ curl http://127.0.0.1:17777/ngx_status 2>/dev/null | awk NR==4 | awk ‘{print $2}’ } writing(){ curl http://127.0.0.1:17777/ngx_status 2>/dev/null | awk NR==4 | awk ‘{print $4}’ } waiting(){ curl http://127.0.0.1:17777/ngx_status 2>/dev/null | awk NR==4 | awk ‘{print $6}’ } $1
3、测试键值是否生效
先重启zabbix
执行命令:/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10150 -k vda.used(自定义键值名称)
或/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10150 -k ngx.status[accepts]
-s:主机名
-p:端口号
-k:键值名称
[accepts]:表示脚本中定义的变量$1,$2,$3…….,如果有多个变量括号内以逗号分隔:[value1,value2,value3]
能取到值说明配置自定义键值成功
输出结果: