如何在Zabbix中通过system.run获取命令退出码?
获取Zabbix system.run命令的退出码
要获取system.run执行命令的退出码,你可以通过在目标命令后追加输出退出码的语句,让Zabbix把命令输出和退出码一起返回,再提取退出码即可。
具体操作步骤:
- 修改
system.run的命令参数,在原命令后添加; echo $?,执行完原命令后会自动输出它的退出码:zabbix_get -s hostname -k system.run["hostname; echo $?"] - 提取返回结果的最后一行,这一行就是原命令的退出码。可以用
tail命令直接过滤:zabbix_get -s hostname -k system.run["hostname; echo $?"] | tail -n1
说明:
$?是Shell中保存上一条命令退出码的变量,echo $?会把它输出到标准输出,和原命令的输出一起被system.run返回。- 如果原命令本身有多行输出,最后一行始终是退出码,用
tail -n1可以精准提取。
内容的提问来源于stack exchange,提问作者samile.soares
相关产品推荐
相关产品推荐

