概述
你可以编写一个命令来检索所需的数据,并将其包含在用户参数代理配置文件中 ('UserParameter' 配置参数)。
用户参数具有以下语法:
如你看到的,用户参数还包含一个Key。 一个用户参数包含一个Key。输入你选择的Key,这将很容易引用(它在主机中必须是唯一的)。重新启动代理。
然后,当 时, 输入要从执行的用户参数中引用该命令的Key。
用户参数是由Zabbix代理执行的命令。最多可以返回512KB的数据。 /bin/sh 在UNIX操作系统下用于命令行解释器。用户参数满足代理检查超时,如果达到超时,则分支用户参数进程终止。
请参考:
使用用户参数分步教程
用户参数示例
- UserParameter=ping,echo 1
代理将始终使用'ping'键为一个监控项返回'1'。
一个更复杂的例子:
- UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive
如果MySQL服务器是活动状态,代理将返回'1',否则为0。
灵活的用户参数
灵活的用户参数使用Key接受参数。这样一个灵活的用户参数可以作为创建几个监控项的基础。
灵活的用户参数具有以下语法:
使用$符号的位置引用仅由灵活的用户参数搜索并由Zabbix代理替代。对于简单的用户参数,跳过此类引用处理,因此任何$号引用都不是必需的。
默认情况下,用户参数中不允许使用某些符号。请查阅 不安全的用户参数的完整列表文档。
示例 1
有些事情很简单:
ping[0] - 总是返回 '0'
ping[aaa] - 总是返回 'aaa'
示例 2
让我们增添更多的意义!
- UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive
此参数可用于监视MySQL数据库的可用性。我们可以传递用户名和密码:
示例 3
有多少行匹配文件中的正则表达式?
- UserParameter=wc[*],grep -c "$2" $1
此参数可用于计算文件中的行数。
- wc[/etc/passwd,root]
命令结果
命令的返回值与标准错误一起按照标准输出。
在标准错误输出的情况下,文本(字符、日志或文本信息类型)监控项将被支持。