On this page
获取
概述
Zabbix get 是一个命令行工具,可用于与 Zabbix agent 通信并从 agent 获取所需信息。
该工具通常用于排查 Zabbix agent 的故障。
另请参阅 Python library for Zabbix,它内置了模拟 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 手册页。
在 Windows 上也可以类似地运行 Zabbix get:
zabbix_get.exe [options]