![User Parameters(用户参数) User Parameters(用户参数)](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
User Parameters(用户参数),这个是整个zabbix的重点
Zabbix有很多内置的itemkey,但是这些key都是由Zabbix定义好的比较通用的监控项的实现,
如果我们自己想实现某种特有的非通用型的监控项的话,那么我们就得自己去定义数据收集的命令,并且给它指定一个key,
这种机制就叫做User Parameters(用户参数),所以User Parameters的意义就是实现自定义key
- User Parameters只能定义在Agent端,定义在Agent端的zabbix_agent.conf文件中,参数为User Parameters=
- 定义了User Parameters必须重启zabbix-agent服务
语法格式:
UserParameter=<key
>,<command
> 无参数
UserParameter=<key\[*]
>,<command
> *表示接受任意个参数,command中可以利用$1,$2,$3...来调用参数,注意awk中对$的引用必须换成$$
EXAMPLE:UserParameter可以写在zabbix_agent.conf文件中,也可以写在zabbix_agentd.d目录下
Agent端的Server参数必须允许服务器来采集数据
# 可以写在zabbix_agent.conf中User Parameters =
# vim /etc/zabbix/zabbix_agent.conf
#或者在zabbix_agentd.d目录下单独创建一个文件
vim /etc/zabbix/zabbix_agentd.d/Mysql.conf
UserParameter=Mysql.dml[*], /usr/local/mysql/bin/mysql -h$ -u$ -p$ -e 'SHOW GLOBAL STATUS' |awk '/Com_$4\>/{print $$2}'
systemctl restart zabbix-agent.service
定义好后就可以在ZabbixServer中使用了,下面我们在zabbix-server上演示一下,请看下图详细操作
![User Parameters(用户参数) User Parameters(用户参数)](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTMyOTgzMS8yMDE4MDIvMTMyOTgzMS0yMDE4MDIyMjEzMjY0ODc0MS0xNjA3NjQyOTg5LmdpZg%3D%3D.gif?w=700&webp=1)