概述

    你可以编写一个命令来检索所需的数据,并将其包含在用户参数代理配置文件中 ('UserParameter' 配置参数)。

    用户参数具有以下语法:

    如你看到的,用户参数还包含一个Key。 一个用户参数包含一个Key。输入你选择的Key,这将很容易引用(它在主机中必须是唯一的)。重新启动代理。

    然后,当 时, 输入要从执行的用户参数中引用该命令的Key。

    用户参数是由Zabbix代理执行的命令。最多可以返回512KB的数据。 /bin/sh 在UNIX操作系统下用于命令行解释器。用户参数满足代理检查超时,如果达到超时,则分支用户参数进程终止。

    请参考:

    用户参数示例
    1. UserParameter=ping,echo 1

    代理将始终使用'ping'键为一个监控项返回'1'。

    一个更复杂的例子:

    1. UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive

    如果MySQL服务器是活动状态,代理将返回'1',否则为0。

    灵活的用户参数

    灵活的用户参数使用Key接受参数。这样一个灵活的用户参数可以作为创建几个监控项的基础。

    灵活的用户参数具有以下语法:

    使用$符号的位置引用仅由灵活的用户参数搜索并由Zabbix代理替代。对于简单的用户参数,跳过此类引用处理,因此任何$号引用都不是必需的。

    默认情况下,用户参数中不允许使用某些符号。请查阅 不安全的用户参数的完整列表文档。

    示例 1

    有些事情很简单:

      • ping[0] - 总是返回 '0'

      • ping[aaa] - 总是返回 'aaa'

      示例 2

      让我们增添更多的意义!

      1. UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive

      此参数可用于监视MySQL数据库的可用性。我们可以传递用户名和密码:

      示例 3

      有多少行匹配文件中的正则表达式?

      1. UserParameter=wc[*],grep -c "$2" $1

      此参数可用于计算文件中的行数。

      1. wc[/etc/passwd,root]

      命令结果

      命令的返回值与标准错误一起按照标准输出。

      在标准错误输出的情况下,文本(字符、日志或文本信息类型)监控项将被支持。