可见,关键部分是Key值mysql.status[Uptime]相当于变量名称 2.1.2 Zabbix Agens部分的Key传参定义
1)传参数的定义文件
less /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 2)传参的定义格式
可发现如下行:
UserParameter=mysql.status
,echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}' 定义以逗号分隔,可简化如下:
用户自定义参数名称,用户自定义参数取值(shell命令) 注意:
用户自定义参数名称:“*”代表Zabbix Server可传入任何具体的变量参数
用户自定义参数取值:“$1”代表Zabbix Server可传入的变量参数
3)如传入参数为“Uptime”则变为
UserParameter=mysql.status[Uptime],echo "show global status where Variable_name='Uptime';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}' 4)用户自定义参数取值部分Shell指定可取得具体的数值(需先数据库授权和连接数据库授权配置)
Zabbix Server&Agens端的配置请参阅:
http://cmdschool.blog.运维网.com/2420395/1723530 3.2 使用户自定义参数生效 In Zabbix Agens:
vim编辑/etc/zabbix/zabbix_agentd.conf开启以下两个参数
Include=/etc/zabbix/zabbix_agentd.d/
UnsafeUserParameters=0 注:完成以上配置“userparameter_mysql.conf”里面的定义才生效 3.3 授予Zabbix Agens数据访问权限 In Zabbix Server:
MySQL权限配置
mysql -uroot -p
GRANT SELECT ON mysql.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
flush privileges;
show grants for zabbix@localhost; 3.4 配置Zabbix Agens数据库访问权限 In Zabbix Agens: 3.4.1 确定数据库连接文件的目录
用如下命令查看"HOME"目录所定义路径