On this page
7 Get
概述
Zabbix get 是一个命令行工具,可用于与 Zabbix agent 通信并从 agent 获取所需信息。
该工具通常用于排查 Zabbix agent 的故障。
另请参见 用于 Zabbix 的 Python 库,其内置了类似 Zabbix get 的功能。
运行 Zabbix get
以下是在 UNIX 下运行 Zabbix get 从 agent 获取处理器负载值的示例:
cd bin
./zabbix_get -s 127.0.0.1 -p 10050 -k system.cpu.load[all,avg1]
另一个运行 Zabbix get 从网站捕获字符串的示例:
cd bin
./zabbix_get -s 192.168.1.1 -p 10050 -k "web.page.regexp[www.example.com,,,\"USA: ([a-zA-Z0-9.-]+)\",,\1]"
请注意,这里的监控项键值包含空格,因此使用引号将监控项键值标记给 shell。 引号不是监控项键值的一部分;它们会被 shell 去掉,不会传递给 Zabbix agent。
如果某个监控项键值不受支持,Zabbix get 将返回退出代码 1。
Zabbix get 接受以下命令行参数:
-s --host <host name or IP> 指定主机的主机名或 IP 地址
-p --port <port number> 指定运行在主机上的 agent 端口号(默认:10050)
-I --source-address <IP address> 指定源 IP 地址
-t --timeout <seconds> 指定超时时间。有效范围:1-600 秒(默认:30 秒)
-k --key <item key> 指定要获取值的监控项键值
-P --protocol <value> 与 agent 通信时使用的协议。可选值:
auto - 使用 JSON 协议连接,失败后回退并使用纯文本协议重试(默认)
json - 使用 JSON 协议连接
plaintext - 使用仅发送监控项键值的纯文本协议连接(6.4.x 及更早版本)
-h --help 显示此帮助信息
-V --version 显示版本号
--tls-connect <value> 如何连接到 agent。可选值:
unencrypted - 不加密连接(默认)
psk - 使用 TLS 和预共享密钥连接
cert - 使用 TLS 和证书连接
--tls-ca-file <CA file> 包含用于对端证书验证的顶级 CA 证书的文件完整路径名
--tls-crl-file <CRL file> 包含已吊销证书的文件完整路径名
--tls-agent-cert-issuer <cert issuer> 允许的 agent 证书颁发者
--tls-agent-cert-subject <cert subject> 允许的 agent 证书主题
--tls-cert-file <cert file> 包含证书或证书链的文件完整路径名
--tls-key-file <key file> 包含私钥的文件完整路径名
--tls-psk-identity <PSK-identity> 用于标识预共享密钥的唯一且区分大小写的字符串
--tls-psk-file <PSK-file> 包含预共享密钥的文件完整路径名
--tls-cipher13 <cipher-string> 适用于 OpenSSL 1.1.1 或更高版本的 TLS 1.3 密码字符串。覆盖默认的密码套件选择条件。如果 OpenSSL 版本低于 1.1.1,则此选项不可用
--tls-cipher <cipher-string> GnuTLS 优先级字符串(适用于 TLS 1.2 及以上)或 OpenSSL 密码字符串(仅适用于 TLS 1.2)。覆盖默认的密码套件选择条件
另请参见 Zabbix get manpage 了解更多信息。
Windows 上的 Zabbix get 也可以类似运行:
zabbix_get.exe [options]